For EACH

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

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

For EACH

Beitrag von Marcel »

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
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: For EACH

Beitrag von Tom »

"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
Marcel
Rookie
Rookie
Beiträge: 14
Registriert: Mi, 07. Okt 2009 7:46

Re: For EACH

Beitrag von Marcel »

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.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: For EACH

Beitrag von brandelh »

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
Antworten