Speichern von Daten

Startseite Foren Deutsches LiveCode-Forum Speichern von Daten

Schlagwörter: 

Ansicht von 35 Antwort-Themen
  • Autor
    Beiträge
    • #6483
      YoloBolo
      Teilnehmer

      Hallo zusammen,

      ich habe mich hier im Forum schon mal zum Thema „speichern von Daten“ informiert, verstehe aber jetzt nicht genau wie das funktioniert. Deswegen wollte ich an dieser Stelle nochmal fragen, ob mir einer erklären kann, wie das mit dem Speichern von Daten geht. Einmal möchte ich Daten Lokal auf dem Handy speichern und einmal auf einem Server.
      Für jede Hilfe bin ich dankbar.

      LG Max

    • #6486
      Klaus Major
      Verwalter

      Hi Roger,

      und hast Du auch hier geschaut?
      Speichern
      😎

      Bitte gerne nachfragen, falls das nicht ganz klar sein sollte.

      Daten auf einem Server können etweder über FTP/FTPS geschickt und/oder
      per HTTP/HTTPS gePOSTed werden.

      Dazu ist dann aber ein „Serverseitiges“ Skript (PHP oder Livecode Server etc.) erforderlich.
      Schau mal unter POST im Dictionary nach.

      Gruß

      Klaus

    • #6488
      YoloBolo
      Teilnehmer

      Danke, werde es morgen mal ausprobieren.
      Gibt es denn Vorlagen, für das Server Skript

      LG Max

    • #6496
      Klaus Major
      Verwalter

      Hallo Max,

      ein Beispielskript für Livecode Server findest Du hier:
      File Upload LC Server

      Wichtig: LC Server muss dafür natürlich auf dem Server installiert sein, was aber nicht der Standard ist. Dein Provider, oder der Server, den Du später mit LC ansprechen möchtest, könnte also LC Server nicht unterstützen, sondern nur den Standard PHP o.ä.

      Im Netz gibt es jede Menge Beispiele für PHP, da musst Du mal goorgeln. 🙂

      Gruß

      Klaus

    • #6522
      YoloBolo
      Teilnehmer

      Ich bins nochmal,

      bei mir klappt speichern und einlesen nicht, kann ein bitte mal schreiben, wie das auf dem Handy funktioniert.

      LG Max

    • #6529
      Klaus Major
      Verwalter

      Bitte zeig doch mal, was Du bisher versucht hast.
      In anderen Worten, poste mal Dein entsprechendes Skript.

    • #6538
      YoloBolo
      Teilnehmer
      global tZielPfad
      
      on preOpenStack
         set the fullscreenmode of me to "Letterbox"
      end preOpenStack
      
      on openstack
         go to cd"Home"
         if the environment = "mobile" then
            put specialfolderpath("documents") into tZielPfad
         else
            put specialfolderpath("preferences") into tZielPfad
         end if
         put "/Anlagen/Test.txt" after tZielPfad
         dateneinlesen
      end openstack
      
      on mouseup
         if "button" is in the target then
            put the name of the target into btntitel
            put word 2 of btntitel into action
            delete the first char of action
            delete the last char of action
            if action = "Daten speichern"then
               go to cd"Test"
            else if action = "Speichern" then
               put fld "Eingabe" into worte
               put empty into fld "Eingabe"
               put worte &return after fld "Speicherort"
               put worte into url("file:" & tZielPfad)
            end if
         end if
      end mouseup
      
      on dateneinlesen
         if there is a file tZielPfad then
            put url("file:" & tZielPfad) into worte
            put worte into fld "Speicherort" of cd "Test"
         end if
      end dateneinlesen

      Habe das nochmal in einem Testprojekt probiert

    • #6542
      Klaus Major
      Verwalter

      Hallo Max,

      sieht eigentlich OK aus, aber LC erstellt nicht automatisch benötigte UNTERORDNER!
      Versuche es mal so:

      ...
      on openstack
         go to cd"Home"
         if the environment = "mobile" then
            put specialfolderpath("documents") into tZielPfad
         else
            put specialfolderpath("preferences") into tZielPfad
         end if
      
         ## Prüfen, ob Ordner vorhanden und wenn nicht, dann erstellen!
         if there is not a folder tZielPfad then
            create folder tZielPfad
         end if
         put "/Anlagen" after tZielPfad
         put "/Anlagen/Test.txt" after tZielPfad
         dateneinlesen
      end openstack
      ...

      Gruß

      Klaus

    • #6546
      YoloBolo
      Teilnehmer

      Wieso 2 mal „/Anlagen“

    • #6548
      Klaus Major
      Verwalter

      Sorry, falsche Reihenfolge:

      ...
         put "/Anlagen" after tZielPfad
         ## Prüfen, ob Ordner vorhanden und wenn nicht, dann erstellen!
         if there is not a folder tZielPfad then
            create folder tZielPfad
         end if
         put "/Anlagen/Test.txt" after tZielPfad
         dateneinlesen
      end openstack
    • #6554
      YoloBolo
      Teilnehmer

      Klappt nicht

    • #6556
      Klaus Major
      Verwalter

      Gibt es eine Fehlermeldung o.ä.?

      Check bitte mal „the result“ mach der Schreiboperation.
      Das könnte einen Hinweis geben:

      ...
              put worte &return after fld "Speicherort"
              put worte into url("file:" & tZielPfad)
              if the result <> EMPTY then
                answer "Fehler beim Schreiben der Datei!" & CR & the rsult
              end if
            end if
         end if
      end mouseup
    • #6558
      Klaus Major
      Verwalter

      Flüchtigkeitsfehler meinerseits, sorry,

      answer …. & the RESULT

    • #6560
      Klaus Major
      Verwalter

      Noch ein Hinweis, das hier geht auch einfacher:

      ...
        if "button" is in the target then
           ## put the name of the target into btntitel
           ## put word 2 of btntitel into action
           ## delete the first char of action
           ## delete the last char of action
           ## All das ist unnötig wenn Du "the short name of ..." abfragst!
           put the SHORT name of the target into action
      ...
    • #6566
      YoloBolo
      Teilnehmer

      Hast recht, gibt den Fehler aus

    • #6571
      Klaus Major
      Verwalter

      Klar hab ich recht! 😎
      Aber was ist nun, klappt es oder nicht?

    • #6573
      YoloBolo
      Teilnehmer

      Der git, Fehler beim schreiben der Datei…….,aus, hab den Code so übernommen.
      Oder was meinst du

    • #6575
      Klaus Major
      Verwalter

      Ich meine, klappt das nun mit dem Speichern? Darum geht es hier ja schliesslich.
      Und falls Du eine Fehlermeldung bekommst mit dem Skript, was besagt sie GENAU?

      Und dann postest Du bitte noch einmal das ganze Skript hier, danke!

    • #6577
      YoloBolo
      Teilnehmer

      Ok, hab dich falsch verstanden, teste das dann morgen, aber schonmal danke

    • #6579
      YoloBolo
      Teilnehmer

      Was anderes, kann man auch .txt Dokumente mittels Skript erstellen und anwenden

    • #6581
      Klaus Major
      Verwalter

      Das versuchen wir hier doch seit geraumer Zeit!
      Aber was meinst du mit „anwenden“?

    • #6583
      YoloBolo
      Teilnehmer

      Nein, das was ich hjer zuerst gefragt habe, war eine zuvor erstellte Textdatei, die beschrieben wird und dann habe ich gefragt, ob man eine neue Textdatei erstellen kann, mittels skript, und so wie wir es gerade versuchen anwenden kann, weißt du was ich meine

    • #6585
      Klaus Major
      Verwalter

      Nein, das was ich hjer zuerst gefragt habe, war eine zuvor erstellte Textdatei

      Diese Datei war schon voher da? Das wäre mir neu.
      Aber egal, wenn wir irgend welchen Text in eine Datei mit der Endung .txt schreiben haben wir genau das gemacht. Ob die Datei nun vorher vorhanden war oder nicht. Das bedeutet „eine .txt Datei per Skript erstellen“.

      …ob man eine neue Textdatei erstellen kann, mittels skript, und so wie wir es gerade versuchen anwenden kann

      Nein, ich versteh kein Wort!? Was und wie „anwenden“?
      Drück Dich doch bitte verständlich aus, der Satz oben ergibt so keinen Sinn.
      Lies ihn dir doch selber mal laut vor…

    • #6587
      YoloBolo
      Teilnehmer

      1. Man hat im Ordner“Anlagen“ eine Textdatei mit dem Namen „Test“ und beschreiben und einlesen kann
      2. Man will eine Textdatei mit dem Namen „Test2“ im Ordner „Anlagen“ erstellen, zum Beispiel hat man eine App, wo man in einem Label den namen „Test2“ eingibt und dann auf einen btn klickt wird die Liste, also die Textdatei im Ordner „Anlagen“ erstellt und man was abspeichern kann….. verständlich?

    • #6589
      Klaus Major
      Verwalter

      1. Man hat im Ordner“Anlagen“ eine Textdatei mit dem Namen „Test“ und beschreiben und einlesen kann

      OK, wie gesagt, das war wirklich nicht ersichtlich, daß die Datei schon vorhanden ist.
      Besonders, da Du ja noch überprüfst, ob die Datei vorhanden ist -> if there is a file…

      wenn wir irgend welchen Text in eine Datei mit der Endung .txt schreiben, haben wir genau das gemacht. Ob die Datei nun vorher vorhanden war oder nicht. Das bedeutet „eine .txt Datei per Skript erstellen“.

      Beantwortet das nicht Deine zweite Frage?
      Falls nicht, was genau ist daran unklar?

    • #6593
      YoloBolo
      Teilnehmer

      Also ich meinte, etwas in eine Datei, hier Testdatei, schreiben, falls diese nicht vorhanden ist wird die erstellt, das meinte ich.

    • #6595
      YoloBolo
      Teilnehmer

      Und das mit dem speichern in der Datei funktioniert nicht

    • #6597
      Klaus Major
      Verwalter

      Welcher Teil hiervon ist unklar?

      Aber egal, wenn wir irgend welchen Text in eine Datei mit der Endung .txt schreiben haben wir genau das gemacht. Ob die Datei nun vorher vorhanden war oder nicht. Das bedeutet „eine .txt Datei per Skript erstellen“.

    • #6599
      YoloBolo
      Teilnehmer

      Eigentlich alles, ich wollte nur wissen, ob das soviel heißt, wie, dass man dann die Datei, die „fehlt“ erstellt. Wenn das mit dem speichern, aber eh nicht klappt hilft das halt nicht
      Aber Danke

    • #6601
      Klaus Major
      Verwalter

      Und das mit dem speichern in der Datei funktioniert nicht

      Was genau klappt nicht? Gibt es eine Fehlermeldung? Was sagt „the result“?
      Warum postest Du nicht wieder Dein Skript hier, worum ich Dich gebeten hatte?

      Du machst es einem wirklich nicht leicht, alles muss man Dir aus der Nase ziehen.
      Du musst auch schon ein wenig mitarbeiten!

    • #6603
      YoloBolo
      Teilnehmer
      global tZielPfad
      
      on preOpenStack
         set the fullscreenmode of me to "Letterbox"
      end preOpenStack
      
      on openstack
         go to cd"Home"
         if the environment = "mobile" then
            put specialfolderpath("documents") into tZielPfad
         else
            put specialfolderpath("preferences") into tZielPfad
         end if
         
         put "/Anlagen" after tZielPfad
         ## Prüfen, ob Ordner vorhanden und wenn nicht, dann erstellen!
         if there is not a folder tZielPfad then
            create folder tZielPfad
         end if
         put "/Anlagen/Test.txt" after tZielPfad
         dateneinlesen
      end openstack
      
      on mouseup
         if "button" is in the target then
            put the SHORT name of the target into action
            if action = "Daten speichern"then
               go to cd"Test"
            else if action = "Speichern" then
               put fld "Eingabe" into worte
               put empty into fld "Eingabe"
               put worte &return after fld "Speicherort"
               put worte into url("file:" & tZielPfad)
               if the result <> EMPTY then
                  answer "Fehler beim Schreiben der Datei!" & CR & the result
               end if
            end if
         end if
      end mouseup
      
      on dateneinlesen
         if there is a file tZielPfad then
            put url("file:" & tZielPfad) into worte
            put worte into fld "Speicherort" of cd "Test"
         end if
      end dateneinlesen
      

      Meldung:
      „Fehler beim Schreiben der Datei!
      cant open file“

    • #6605
      Klaus Major
      Verwalter

      OK, das ist dann wohl mein Fehler, den Du kopiert hast!

      ...
         put "/Anlagen" after tZielPfad
         ## Prüfen, ob Ordner vorhanden und wenn nicht, dann erstellen!
         if there is not a folder tZielPfad then
            create folder tZielPfad
         end if
         ## put "/Anlagen/Test.txt" after tZielPfad
         put "/Test.txt" after tZielPfad
      ...

      So sollte es funktionieren.

    • #6607
      YoloBolo
      Teilnehmer

      Ja,/Anlagen/AnlagenTTest.txt
      Das hast du doch eben so geschrieben, also den Code

    • #6609
      Klaus Major
      Verwalter

      Sag ich doch!

      Klappt es denn nun?

    • #6632
      YoloBolo
      Teilnehmer

      Klappt jetzt.
      Danke

    • #6638
      Klaus Major
      Verwalter

      HALLELUJAH! 🙂

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