nach Deiner Logik wäre auch dies ein mehrdimensionales Array:
Code: Alles auswählen
aArray := {}
Aadd(aArray,'a')
Aadd(aArray,'b')
Aadd(aArray,'c')
Viele Grüße,
der Korinthenkacker
Moderator: Moderatoren
Code: Alles auswählen
aArray := {}
Aadd(aArray,'a')
Aadd(aArray,'b')
Aadd(aArray,'c')
Code: Alles auswählen
AEval(aArray,{|a,i| i := rechungsdruck(a,i)})
FUNCTION rechnungsdruck(aElement,nPtr)
....
RETURN IF(lAbbruch,99999999,nPtr)
die Doppelverwendung des aKunde ist sicher verwirrend, aber es funktioniert ! Das erste aKunde enthält das ganze Array, übergeben wird an diesen Codeblock mit gleichem Namen wie das ursprüngliche Array nur die aktuelle Zeile des ursprünglichen Arrays.Tom hat geschrieben: Das hier ist Blödsinn:Code: Alles auswählen
AEVAL(aKunde,{|aKunde| rechnungsdruck(aKunde)})
den 2. Parameter als Array Laufvariable hatte ich noch nie gesehen.Tom hat geschrieben: So ist es sinnreicher:
Code: Alles auswählen
AEVAL(aKunde,{|a,i| rechnungsdruck(a[i])})
Hi Manfred,Manfred hat geschrieben:Hi,
hat sich alles erledigt, ich habe erstmal AEVAL gegen For next ersetzt, jetzt kann ich es so machen, wie ich will.
Code: Alles auswählen
lWeitermachen := .T.
AEval(aArray,{|a,i| IF(lWeiterMachen,lWeitermachen := rechungsdruck(a,i),NIL)})
FUNCTION rechnungsdruck(aElement,nPtr)
....
RETURN lAbbruch