Startseite › Foren › Deutsches LiveCode-Forum › Teilstring Suche im Array
Schlagwörter: Suche Zeichenfolge
- Dieses Thema hat 6 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahren, 6 Monaten von Torsten.
-
AutorBeiträge
-
-
März 8, 2019 um 04:33 Uhr #13363
Hallo liebe Forumgemeinde,
ich habe folgendes Problem, ich möchte in einem Datagrid Array eine gewisse Zeichenfolge suchen und möchte dann das Ergebnis anzeigen lassen.
Beistpiel : Ich suche eine Strasse indem die Zeichenfolge “weg” vorkommt und die Suche soll mir alle Arrays ausgeben, indem das Wort “weg” vorkommt.
Mein bisheriges Script sieht so aus, kann aber nur eine Volltextsucheon Mouseup
put empty into tSuche
put empty into tArray
put empty into tKeys
put empty into tAnzahlput the fld “EingabeEpon” into tSuche
put the dgData of grp “EponDaten” of card “EponGrid” into tArray
put the Keys of tArray into tKeys
put the num of lines of tKeys into tAnzahlput empty into Returnwert
put empty into tAnzeigerepeat with i = 1 to tAnzahl
put tArray[i][“Epon”] after Returnwert
put “,” & tArray[i][“Haltestelle”] after Returnwert
put “,” & tArray[i][“Wabe”] after Returnwert
put “,” & tArray[i][“TSP”] & CR after Returnwertif tSuche = tArray[i][“Epon”] or tSuche = tArray[i][“Haltestelle”] then
put tArray[i][“Epon”] after tAnzeige
put ” ” & “|” & ” ” & tArray[i][“Haltestelle”] after tAnzeige
put ” ” & “|” & ” ” & tArray[i][“Wabe”] after tAnzeige
put ” ” & “|” & ” ” & tArray[i][“TSP”] & CR after tAnzeigeend if
end repeat
put Returnwert into tAnzeige
put tAnzeige into fld “Ausgabe”
if tAnzeige = empty then
put “Bitte überprüfen Sie Ihre Angaben” into fld “Ausgabe”
end if
delete char -1 of Returnwert
end MouseupWenn wir jemand helfen könnte würde ich mich sehr freuen.
Bin noch nicht ganz so lange dabei.
Lieben Gruß
Andreas -
März 8, 2019 um 04:38 Uhr #13365
Nachtrag
die Zeile “put Returnwert into tAnzeige” nach end repeat muss noch entfernt werden
habe ich vergessen -
März 8, 2019 um 08:22 Uhr #13367
Hi Andreas,
so wie es aussieht, hast Du eine Tabelle, in der die Daten drin sind.
Mein Vorschlag wäre, den Inhalt der Tabelle nicht in ein Array, sonder einfach in eine Liste zu exportieren und die Liste mit “filter” entsprechend zu durchsuchen bzw. eben zu filtern.put the dgText of grp "EponDaten" of card "EponGrid" into tListe filter tListe with tSuche put tListe into field "Ausgabe"
Das Ergebnis sollten alls Zeilen der Tabelle sein, in denen der String tSuche vorkommt.
Gruss
Torsten -
März 8, 2019 um 09:25 Uhr #13369
Ups, noch eine Korrektur: filter tListe with tSuche findet nur die Zeilen, in der NUR tSuche drin steht. Damit die Zeilen gefunden werden, in denen der String tSuche auftaucht, musst Du Sternchen dazunehmen, um die Wildcard-Patterns zu nutzen.
also: filter tListe with “*” & tSuche & “*” sollte nur die Zeilen anzeigen, in den tSuche vorkommt.
-
März 8, 2019 um 12:49 Uhr #13375
Siehe auch hier:
https://www.livecode-blog.de/forums/topic/datagrid-filtern/ -
März 8, 2019 um 18:38 Uhr #13383
Danke für die schnelle Hilfe und der Korrrektur Torsten. Hat funktioniert und der Code ist viel kürzer 🙂
Und auch dir Danke Klaus für den Link auf den anderen Artikel
wünsche noch ein schönes Wochenende
lieben Gruß
Andreas -
März 9, 2019 um 02:52 Uhr #13387
Perfekt, dann auch Dir ein schönes Wochenende, Andreas!
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.