Variable dauerhaft abspeichern

Startseite Foren Deutsches LiveCode-Forum Variable dauerhaft abspeichern

Ansicht von 9 Antwort-Themen
  • Autor
    Beiträge
    • #47540
      foto2004
      Teilnehmer

        Hallo Gemeinde,

         

        ich sehe wahrscheinlich den Wald vor lauter Bäumen nicht.

        Wie stelle ich es an dass eine Usereingabe die ich in eine Variable packe dauerhaft gespeichert wird?

        Ich meine so dass das spätere Programm auch geschlossen werden kann und beim wieder öffnen der wert der vorher eingeben werde wieder verfügbar ist.

         

         

      • #47541
        Klaus Major
        Administrator

          Das musst Du in einer externen Datei speichern und beim nächsten Programmstart wieder einlesen.

        • #47542
          foto2004
          Teilnehmer

            Danke ich hab es befürchtet

          • #47543
            Klaus Major
            Administrator

              Kommst Du klar? Sonst fragen! 🙂

            • #47544
              foto2004
              Teilnehmer

                Danke, ich denke das bekomme ich noch hin. Wollte nur wissen ob es da eine andere Möglichkeit gibt.

              • #47545
                foto2004
                Teilnehmer

                  Hmm offenbar bekomme ich es nicht hin….

                  hier mein Code

                  put dataPfad&"tdtdt.txt" into tFile
                  put CR & fld"Duser" into url("file:" & tFile)
                  put CR & fld"Dpassword" AFTER url("file:" & tFile)
                  put URL "file:" & tFile into tData
                  open file tData for read
                  read from file tData until EOF
                  put line 1 of URL "file:"&tData into fld"labUrl"
                  put line 2 of URL "file:"&tData into myVar1
                  answer myVar1

                  der erste Teil mit dem schreiben klappt aber das auslesen will nicht so recht klappen. Ich bekomme da nur die URL zurück.

                   

                  lg Immauel

                • #47546
                  Klaus Major
                  Administrator

                    Du solltest nicht die „open file…“ und „URL“ Syntax vermischen!
                    Ausserdem Schreibvorgänge immer aufs Nötigste reduzieren:
                    ...

                    ## Und nicht so geizig mit LEERZEICHEN sein!
                    put dataPfad & "tdtdt.txt" into tFile
                    put CR & fld "Duser" &  CR & fld "Dpassword" into tData
                    put tData into url("file:" & tFile)
                    put URL ("file:" & tFile) into tData

                    ## tData enhält nun den INHALT der Textdatei!
                    ## Daher geht das hier in die Hose!

                    ## open file tData for read
                    ## read from file tData until EOF
                    put line 1 of tData into fld "labUrl"
                    put line 2 of tData into myVar1
                    answer myVar1
                    ...

                  • #47547
                    foto2004
                    Teilnehmer

                      Hallo Klaus,

                      danke für die Info. Aber ich möchte es so machen dass erst mal in die date geschrieben wir. was ja auch geht und später sollen die Werte aus dieser Datei als eigenständiger Prozess wieder gelesen werden.

                       

                      ich brauch daher den weg wie ich aus einer Datei auslese.

                      Hintergrund ist dass ich Werte abspeichern möchte die ich nach dem erneuten Öffnen des Programms, wieder auslesen muss um damit weiterzumachen.

                      entschuldige dass ich das nicht gleich klar kommuniziert habe. Ich habe es nur zum ausprobieren in eine Instanz geschrieben.

                      LG Immanuel

                    • #47548
                      Klaus Major
                      Administrator

                        Aha, verstehe. In dem Fall würde ich die Daten aber paarweise -> Username TAB Passwort

                        abspeichern. So ist es leichter zusammenhängende Daten auszulesen.

                        OK, dann halt zwei Handler zum Ein- und Auslesen der Daten.
                        Speichern:

                        ## Ich übergebe hier Username & TAB & Passwort als Parameter
                        command datenspeichern tDaten

                          ## dataPfad müsstest Du hier ncoh einbauen...
                          put dataPfad & "tdtdt.txt" into tFile
                          put CR & tDaten AFTER url("file:" & tFile)
                        end datenspeichern
                        Wieder einlesen:
                        function einlesen
                          ## dataPfad müsstest Du hier noch einbauen...
                          put dataPfad & "tdtdt.txt" into tFile
                          ## Daten komplett einlesen:
                          return URL ("file:" & tFile)

                          ## Nun liegt es an Dir, etwas mit tData anzufangen, siehe unten
                        end einlesen

                        Hiermit kannst Du den aktuellen User auslesen,
                        um z.B. das eingebenen Passwort zu vergleichen
                        function passwort4user tUser
                          put einlesen() into tData
                          put lineoffset((tUser & TAB),tData) into tZeile

                          ## User ist im "System", also enprechende Zeile raussuchen und das Passwort (item 2) zurückliefern
                          if tZeile <> 0 then
                            set itemdel to TAB
                           return item 2 of line tZeile of tData
                          end if
                        end passwort4user
                        Fehlerbehandlung überlasse ich Dir! 🙂

                      • #47549
                        foto2004
                        Teilnehmer

                          oh

                          Danke für die Hilfe, jetzt ist der Groschen gefallen. Tja habe mich Schin eine Weile nicht mir LiveCode beschäftigt.

                          Danke noch einmal. Habe es für mich angeglichen und es funkt jetzt.

                          LG Immanuel

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