Return-Zeichen in Variable ersetzten (SQL, Datagrid)

Startseite Foren Deutsches LiveCode-Forum Return-Zeichen in Variable ersetzten (SQL, Datagrid)

Ansicht von 2 Antwort-Themen
  • Autor
    Beiträge
    • #4942
      Aldred
      Teilnehmer

      Guten Abend liebe LCler,

      Folgendes Problem drängt sich mir gerade auf.
      Ich habe ein Field (Text) das diverse „Return“ – Eingaben haben kann. Sprich, ein mehrzeiliger Text durch Return getrennt.
      Diesen möchte ich in einem Datagrid (Table) ebenfalls mehrzeilig angezeigt haben.
      Da das Datagrid den Datensatz der SQL-Datenbank natürlich mit Returns in neue Zeilen trennt, zerreißt es mir dann die ganze schöne, gewollte Ordnung.

      Ich weiss, dass sich die eingegebenen Returns durch NumToChar ersetzen lassen und ich die formatierte Variable dann in SQL speichern kann.
      Allerdings ist mir nicht ganz klar wo und wie ich das anstelle und wie ich den „zurückgeholten“ Datensatz dann richtig im DG anzeigen lassen kann.
      Ich freue mich auf eure Lösungen!
      Liebe Grüße

      @ Klaus
      Bei meiner Recherche mit Prof. Google bin ich auf einen Forumsbeitrag des englischen LC-Forums gestoßen, der sich mit genau diesem Thema befasst.
      Allerdings ist der Zeitweise so verwirrend und zerstückelt, dass ich dir richtige Lösung des Rätsels nicht herausfiltern konnte.
      Ich habe gesehen, dass du Klaus, bei diesem Thema ebenfalls am werkeln warst. Vielleicht kannst du die Lösung zusammenfassen und verständlich erklären. Das wäre echt super!

      Hier der besagte Beitrag:

      https://forums.livecode.com/viewtopic.php?t=26929

    • #4962
      Klaus Major
      Verwalter

      OK, musste eben nachlesen, worum es genau ging…

      Die beiden hier verwendeten „Tricks“ sind:
      1. NICHT den Livecode Default RECORD-Delimiter CR bei „revdatafromquery(TAB,CR,…)“ verwenden, das wollen wir ja vermeiden, sondern einen Buchstaben, der garantiert (oder besser hoffentlich 🙂 ) nicht im mehrzeiligen Text vorkommt.

      Z.B. die Pipe -> | -> revdatafromquery(TAB,“|“,…)

      Trick Nummer
      2.
      Selber aus den Daten ein ARRAY erstellen und damit -> the dgdata of grp „Dein Datagrid hier“
      setzen. Denn Array Einträge können mehrzeilig sein.

      ...
      set itemdeimiterl to TAB
      set linedelimiter to "|"
      repeat with i = 1 to the num of lines of Daten_aus_Datenbank
        put item 1 of line i of Daten_aus_Datenbank int tArray[i]["Name der ersten Spalte"]
        etc.
        ...

      Klar soweit? Falls nicht, wieder fragen.

      Gruß

      Klaus

    • #4978
      Aldred
      Teilnehmer

      Besten Dank Klaus!
      Das war doch mal übersichtlich und verständlich. Obs an der deutschen Sprache liegt…?
      Ich werds morgen früh gleich mal testen.

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