hast du ein Problem mit der Zeilenangabe oder irgendwas anderem?
Code: Alles auswählen
; nur mal Entwurf, nicht lauffähig
Procedure.l SucheText(stringtofind.s, gadget.l, zeile)
pos0 = 0
Text.s = GetGadgetText(gadget)
For i=1 To zeile
pos0 = FindString(Text, Chr(13)+Chr(10), pos0) + 2
Next
ProcedureReturn FindString(Text, stringtofind, pos0)
EndProcedure
also: nur Entwurf, habs mangels Testumgebung nicht testen können, aber eigtl. doch versucht, lauffähig zu schreiben.
Außerdem hab ich noch einen Parameter eingefügt, nach was gesucht werden soll.
In der Schleife wird zunächst immer wieder (je nach Anzahl der angegebenen Zeilen - bei 0 nicht) nach einem Zeilenumbruch gesucht.
Vom letzten Fundort aus wird dann nach dem string gesucht.
Falls nur in der angegebenen Zeile gesucht werden soll muss noch eine Abfrage rein, in der nach einem Zeilenumbruch zwischen pos0 und Fundort gesucht wird:
Code: Alles auswählen
Procedure.l SucheText(stringtofind.s, gadget.l, zeile)
pos0 = 0
Text.s = GetGadgetText(gadget)
For i=1 To zeile
pos0 = FindString(Text, Chr(13)+Chr(10), pos0) + 2
Next
Position = FindString(Text, stringtofind, pos0)
If FindString(Mid(Text, pos0, Position-pos0), Chr(13)+Chr(10), 0)=0
Return Position
EndIf
EndProcedure
Hoffe, das hat geholfen.
EDIT: jetzt hat Nic geposted, während ich am code gearbeitet hab... Ich hoffe mal ich hab dich richtig verstanden