Seite 2 von 2
Verfasst: 12.08.2005 16:10
von unix
sry das ich nicht alles gelesen habe aber es geht schneller.
Naja OK es kommt drauf an.
Code: Alles auswählen
Procedure FindElement(Element)
foreach List()
if List()\Item = Element
Prozedurereturn ListIndex(List())+1 : break
endif
next
endprocedure
Ist das Ergebnis 0 ist es nicht gefunden worden
andernfalls gibt es die Listposition zurück
Verfasst: 12.08.2005 16:27
von Kiffi
Schon mal ausprobiert, ob das [c]Break[/c] ausgeführt wird?
Grüße ... Kiffi
Verfasst: 12.08.2005 16:35
von ts-soft
Auch wenn sein Break nicht ausgeführt wird, hat er doch irgendwo Recht! Du verläßt die ForEach schleife ja ohne Break, sondern mit ProcedureReturn, das könnte doch Probleme hervorrufen. Ob PB in diesem Fall alles wieder aufräumt?

Verfasst: 12.08.2005 16:41
von Kiffi
> Du verläßt die ForEach schleife ja ohne Break, sondern mit
> ProcedureReturn, das könnte doch Probleme hervorrufen.
PB-Hilfe hat geschrieben:
Ein Aufruf von ProcedureReturn verlässt umgehend die Prozedur, auch wenn
er innerhalb einer Schleife erfolgt.
> Ob PB in diesem Fall alles wieder aufräumt?
na, das hoffe ich doch sehr stark.
Grüße ... Kiffi
Verfasst: 12.08.2005 16:58
von unix
Beim mir funct break bei for each
ihr hattet noch ein problem:
Code: Alles auswählen
Procedure.l FindElement(ItemToFind$)
ForEach myLinkedList()
If myLinkedList()\myString= sFilename$
ProcedureReturn 1
EndIf
Next
ProcedureReturn -1 ;Ab hier wird ein anderer wert zurückgegeben
EndProcedure ;-1 wird also immer das ergebnis sein!
[EDIT] passt doch nicht
sry Kiffi hab hilfe nicht gelsen