Hallo,
ich muss bei einer String-Variable vergleichen, ob sie in einer Menge (ca. 50) von Strings vorkommt. Wie macht Ihr sowas? (Array, DataSection, LinkedList).
Ich hätte am Ende gerne so etwas ähnliches:
If Variable In{StringMenge} Then ...
Vielen Dank.
Variable mit einer String-Menge vergleichen
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Naja, Arrays für eine fixe Menge von Strings und LL für eine dynamische Anzahl. Dann mit FindString() durschsuchen. Wenns sehr schnell gehen muss kannst du auch anstatt FindString() zu benutzen direkt den Speicher durchsuchen.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Ich glaub du suchst so was oder ?
Code: Alles auswählen
newlist durchsuchliste.s()
such_ich$ = "irgendwas"
foreach durchsuchliste.s()
bla = findstring(durchsuchliste.s(),such_ich$,1)
if bla <> 0
Debug such_ich$+" in "durchsuchliste.s() gefunden"
else
EndIf
next
Und wenn du das gefunden hast, solltest du innerhalb der If-Abfrage auf jeden Fall noch ein Break reinpacken, denn dann bricht er ab, wenn er was gefunden hat. Ohne Break durchsucht er immer die gesamte Liste, auch wenn er gleich am Anfang schon das gefunden hat, was er sucht.
Dieser Befehl spart dir also etwas Zeit.
Dieser Befehl spart dir also etwas Zeit.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
könnte das auch so gehen, dass man die wertelist per blank abgetrennt
addiert in einen dann ziemlich dicken string und auf den z.b. die
findstring-funktion loslässt?
addiert in einen dann ziemlich dicken string und auf den z.b. die
findstring-funktion loslässt?
Code: Alles auswählen
haystack$=" wert1 wert2 wert3 wert4 wert3 wert5 ... wert50 "
needle$=" wert3 "
Debug "Finde "+Str(CountString(haystack$,needle$))+" Stück "+needle$
Debug "den ersten an Position "+Str(FindString(haystack$,needle$,0))
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.