For EACH

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

For EACH

Beitragvon Marcel » Mo, 13. Aug 2012 10:29

Hi,

ich benutze in anderen Sprachen sehr oft die FOR EACH schleife,
ich konnte leider keine in xBase++ finden und habe versucht sie mir nachzubauen.
da mir aber die entsprechenden Methoden von meinem Objekt hier fehlen weiß ich nicht mehr weiter:

Die Funktionen setcurrent / next record sind die falschen,da diese nach record nummern gehen, aber mehr habe ich nicht:

Code: Alles auswählen
 
FOR x := 1 TO oWerte:Count 
   
   oWert:setcurrent(x)  //selektiert Datensatz nummer X

   AAdd(strMaximum,oWert:maximum)
   AAdd(strMinimum,oWert:minimum)
   
oWerte:NextRecord()   
      
Next





Und hier mein original .Net code

Code: Alles auswählen
 
For Each oWert In oWerte

strMinimum.Add(oWert.minimum)
strMaximum.Add(oWert.maximum)
                 
Next


Gibt es hier irgendein euqivalent oder workaround in xBAse++ ?

Vielen Dank im Voraus

Liebe grüße

Marcel
Marcel
Rookie
Rookie
 
Beiträge: 14
Registriert: Mi, 07. Okt 2009 6:46

Re: For EACH

Beitragvon Tom » Mo, 13. Aug 2012 10:47

"oWerte" in "oWert" wäre in Xbase dann ein Array also Objektinstanz. Und dann würde man schlicht so verfahren:

Code: Alles auswählen
FOR i := 1 to Len(oWert:oWerte)
 ..
NEXT


Ins Blaue:

Code: Alles auswählen
CLASS oWert
EXPORTED oWerte

INLINE METHOD Init()
::oWerte := {}
...
ENDCLASS

oMyWert := oWert():New()
aAdd(oWert:oWerte,nErsterWert)
aAdd(oWert:oWerte,nZweiterWert)
usw.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6657
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: For EACH

Beitragvon Marcel » Di, 14. Aug 2012 7:40

Danke, werd damit mal ein bischen rumprobieren, und wenn ich 's geschafft hab natürlich die Lösung posten, hatte in der Suche schon eine ähnliche Frage ohne Lösung gefunden.
Marcel
Rookie
Rookie
 
Beiträge: 14
Registriert: Mi, 07. Okt 2009 6:46

Re: For EACH

Beitragvon brandelh » Di, 14. Aug 2012 7:43

AEval( aArrayMitObjekten, {| oEinObjektAusDemArray| ... mach was damit } )

sollte sich so ähnlich verhalten wie ich FOR EACH verstehe, allerdings kann ein Codeblock schnell überfrachtet und unübersichtlich werden (dann besser im codeblock eine Funktion aufrufen) ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13201
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim


Zurück zu OOP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron