Frage zu Handbuch: Seite 224

Startseite Foren Deutsches LiveCode-Forum Frage zu Handbuch: Seite 224

Schlagwörter: , , ,

Ansicht von 11 Antwort-Themen
  • Autor
    Beiträge
    • #4503
      Anonym
      Inaktiv

      Hallo Hauke,
      Hallo Forumsmitglieder
      ich habe mir diese Woche Dein Buch „Eigene Apps Programmieren“ durchgelesen und so manches Beispiel auch nachgebaut. Gefällt mir sehr gut! Was mich allerdings besonders interessiert, wird auf Seite 224 angerissen. Dort beschreibst Du wie man bsp.weise Daten in eine Datei schreibt und auch zurückschreibt. Wenn ich das richtig verstanden habe, wird dann der ganze Inhalt der Datei in einem Textfeld ausgegeben. Ich würde gerne wissen, wie man beispielsweise aus einer CSV-Datei (VORNAME,NACHNAME,ALTER) die Inhalte auf 3 Textfelder verteilt.

      Auf eine Antwort und noch besser ein Beispiel, würde ich mich sehr freuen.
      Ich hab auch schon alles durchsucht und nichts gefunden.

      Ilona:-)

    • #4507
      hauke
      Verwalter

      Hallo Ilona,

      was auf Seite 224 kurz gezeigt wird, ist einfach, wie man den Textinhalt einer Variablen in einer Datei abspeichert und wie man den Textinhalt einer Datei anschließend wieder in eine Variable einlesen kann.

      Nämlich (Beispiel aus dem Buch) so:

      put url("file:"&specialFolderPath("documents")&"/meinOrdner/meineDatenListe.txt") into meineDaten

      Wenn ich Dich recht verstehe, möchtest Du Daten aus einer CSV-Datei einlesen und anschließend auseinandernehmen. Dazu gehst Du zunächst einmal genau so vor wie im Beispiel-Code oben. Du liest die CSV-Datei in eine Variable ein, die beispielsweise „meineDaten“ heißt.

      Anschließend musst Du diese Daten Zeile für Zeile durchgehen. Das kannst Du zum Beispiel mit einer „repeat for each“ Schleife machen:

      repeat for each line zeile in meineDaten
        -- Zeilen auseinandernehmen
      end repeat

      Jede dieser Zeilen kannst Du innerhalb der repeat-Schleife dann in „Items“ auseinandernehmen – die bei CSV-Dateien zum Beispiel durch Komma getrennt sind. Dann hast Du die einzelnen Elemente der jeweiligen Zeile der CSV-Datei und kannst sie in unterschiedliche Textfelder schreiben:

      set the itemDelimiter to comma
      put item 1 of zeile into field 1
      put item 2 of zeile into field 2
      put item 3 of zeile into field 3

      Alles klar??

      Viele Grüße

      Hauke

    • #4509
      Torsten
      Teilnehmer

      Hi Ilona,

      ganz einfach:

      Erzeuge einen neuen Stack mit drei Textfeldern, z.B.

      field „Vorname“
      field „Nachname“
      field „Alter“

      Dann machst Du einen Button auf die Seite und gibst ihm folgendes Script:

      on mouseUp pButtonNumber
      
         answer file "Bitte CSV-Datei laden..." 
         if it is not empty then 
            put it into tFilename
            put url ("file:" & tFilename) into tFile
            repeat for each line i in tFile
               put item 1 of i & cr after field "Vorname"
               put item 2 of i & cr after field "Nachname"
               put item 3 of i & cr after field "Alter"
            end repeat
         end if
         
      end mouseUp
      
    • #4514
      hauke
      Verwalter

      Ich merke schon, ich werde hier gar nicht mehr gebraucht 🙂 Toll, dass jede Frage immer so schnell und kompetent beantwortet wird! Das LiveCode-Forum lebt!

    • #4516
      Torsten
      Teilnehmer

      Du sollst lieber am Livecode-Profi-Buch arbeiten, das wird gebraucht 😀

    • #4524
      hauke
      Verwalter

      Schreib mal an den Verlag, dass Du Dir das wünschen würdest. Dass ich es gerne schreiben würde, wissen die schon – aber sie befürchten immer noch zu geringe Nachfrage.

      Vielleicht könnte man das ja auch als Kooperation machen. Jetzt wo wir das geballte deutsche LiveCode-Wissen hier im Forum beisammen haben…


      @Klaus
      – hättest Du Interesse?

    • #4567
      Anonym
      Inaktiv

      Hallo Torsten,
      vielen Dank für Deine schnelle Antwort!
      es hat funktioniert, super.
      Nun würde ich gerne 2 Buttons mit der Funktion vor und zurück erstellen.
      Ich habe schon einiges recherchiert(bevore and previous), allerdings funktioniert es nicht.
      Hast Du vielleicht eine Idee?

      schöne Grüße aus BW
      Ilona 🙂

    • #4569
      Torsten
      Teilnehmer

      Hi Ilona,

      was meinst Du mit vor und zurück? Beschreibe mal etwas genauer, was Du tun willst.

      Schöne Grüsse aus Dresden
      Torsten

    • #4591
      Anonym
      Inaktiv

      Hallo Torsten,
      ich möchte eine kleine Verwaltung für mich schreiben. Die Daten sollen aus einer CSV Datei gelesen und geschrieben werden. Beispielsweise habe ich in der CSV Datei 10 Inhaltszeilen (Interpreter1,Interpreter2 usw. Um nun von Interpreter1 zum nächsten Interpreter2 springen zu können, möchte ich das mit „vor“ und „zurück“ Buttons tun.
      Grüße, Ilona 🙂

    • #4593
      Torsten
      Teilnehmer

      moment, ich denke noch…

    • #4595
      Anonym
      Inaktiv

      Hallo Torsten,
      nicht verzweifeln!
      danke für Deine Geduld. Ich lese mir mal Deine Mail durch und werde ausprobieren.
      Liebe Grüße aus dem sonnigen Kraichgau.
      Ilona 🙂

    • #4597
      gfz
      Teilnehmer

      Hallo Ilona,
      ich würde die eingelesene Datei in einer globalen Variable (zb.: gCSVDatei) speichern, die erste Zeile nach obigem Muster anzeigen und die Zahl eins für die aktuelle Zeile ebenfalls in einer globalen Variable (zb.: gAktuelleZeile) ablegen. Beim Drücken auf den „vor“-Button addiere ich zur aktuellen Zeile 1 und rufe die daraus resultierende Zeile aus der globalen Variable gCSVDatei ab (das könnte man mit put line gAktuelleZeile of gCSVDatei into tCSVZeile). Und diese kannst Du dann nach obigem Muster in die drei gewünschten Infos aufteilen und in die entsprechenden Felder schreiben. Beim Drücken der „Zurück“ Taste das selbe, nur dass du von der aktuellen Zeile eins abziehst. Dann musst Du Dir nur noch überlegen, ob Du bei 1 abbrechen willst und eventuell die Taste deaktivierst, oder bei der letzten Zeile wieder beginnst (If-Abfragen findest Du im Buch ab Seite 135).
      liebe Grüße,
      Georg

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