Teilstring Suche im Array

Startseite Foren Deutsches LiveCode-Forum Teilstring Suche im Array

Schlagwörter: 

Ansicht von 6 Antwort-Themen
  • Autor
    Beiträge
    • #13363
      wupp66
      Teilnehmer

      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 Volltextsuche

      on Mouseup
      put empty into tSuche
      put empty into tArray
      put empty into tKeys
      put empty into tAnzahl

      put 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 tAnzahl

      put empty into Returnwert
      put empty into tAnzeige

      repeat 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 Returnwert

      if 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 tAnzeige

      end 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 Mouseup

      Wenn wir jemand helfen könnte würde ich mich sehr freuen.
      Bin noch nicht ganz so lange dabei.
      Lieben Gruß
      Andreas

    • #13365
      wupp66
      Teilnehmer

      Nachtrag
      die Zeile „put Returnwert into tAnzeige“ nach end repeat muss noch entfernt werden
      habe ich vergessen

    • #13367
      Torsten
      Teilnehmer

      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

    • #13369
      Torsten
      Teilnehmer

      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.

    • #13375
      Klaus Major
      Verwalter
    • #13383
      wupp66
      Teilnehmer

      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

    • #13387
      Torsten
      Teilnehmer

      Perfekt, dann auch Dir ein schönes Wochenende, Andreas!

Ansicht von 6 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.