Startseite › Foren › Deutsches LiveCode-Forum › Knoten im Gehirn ….
- Dieses Thema hat 2 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 3 Jahren, 5 Monaten von foto2004.
-
AutorBeiträge
-
-
Juli 6, 2021 um 08:38 Uhr #30524
Hallo Gemeinde.
Ich sitze mir hier den Hintern wund und komme nicht auf den Fehler:
Könnte da mal jemand darüber schauen und mir erklären was ich da falsch gemacht habe?
command listFile -- set the tagvariable of this card to 0 /zum zurücksetzen if the tagvariable of this card = 0 then if there is a file (dataPfad&"tagesliste/tagesliste.txt") then put files(dataPfad&"tagesliste","detailed") into tFiledat answer information "tFiledat "&tFiledat -- kommt die Filelist put item 5 of tFiledat into tAusgabe answer information "tAusgabe "&tAusgabe -- kommt 1625551604 convert tAusgabe to dateItems put it into dDate put item 3 of dDate into ddDate answer information "ddDate "&ddDate -- kommt “nichts” answer information "dDate "&dDate -- kommt „OK“ convert the date to dateItems put it into tDate answer information "tDate "&tDate -- kommt „2021,7,6,0,0,0,3“ put item 3 of tDate into iDate answer information "iDate "& iDate -- kommt “6“ if (ddDate <> iDate) then delete file dataPfad&"tagesliste/tagesliste.txt" answer information "gestrige Tagesliste wurde gelöscht" put IntDate & CR AFTER url ("file:"&dataPfad&"tagesliste/tagesliste.txt") else answer information "Tageslisten-Datei ist von heute" end if else answer information "Tagesliste ist nicht vorhanden. Sie wird erstellt" put IntDate AFTER url ("file:"&dataPfad&"tagesliste/tagesliste.txt") end if set the tagvariable of this card to 1 end if end listFile
Ziel war es das Änderungsdatum des Files mit dem heutigen zu vergleichen und wen von gestern oder so löschen und neu anlegen. aber irgendwie haut das nicht so hin wie ich es mir gedacht habe.
Ja es sind eine Menge answer Anweisungen drinnen …. ist nur für mich gewesen um nachzuschauen was wirklich weitergegeben wird.
-
Juli 6, 2021 um 11:57 Uhr #30542
Ich denke, der Fehler liegt hier:
... convert tAusgabe to dateItems put it into dDate ...
IT hat hier nichts mit zu tun und dürfte dann daher leer sein, was den fehlenden
Inhalt bdei Deinen ANSWER Dialogen erklärt.
Du konvertierst die Variable tAusgabe, also musst Du sie auch weiterhin benutzen!... convert tAusgabe to dateItems ## put it into dDate put tAusgabe into dDate ...
Noch ein paar Hinweise:
1. Sei nicht so sparsam mit Leerzeichen, die erhöhen die Lesbarkeit!
(„file:“&dataPfad&“tagesliste/tagesliste.txt“)
VS
(„file:“ & dataPfad & „tagesliste/tagesliste.txt“)2. Tipperei sparen!
Am Anfang des Skriptest solltest Du den Pfad in eine Variable packen:... put dataPfad & "tagesliste/tagesliste.txt" into tDatei ...
Diese Variable dann weiter im Skript benutzen.
3. Dieses Skript ein ein gute Beispiel dafür, wie man viele IF THENs vermeiden kann:
command listFile -- set the tagvariable of this card to 0 /zum zurücksetzen ## if the tagvariable of this card = 0 then if the tagvariable of this card <> 0 then exit listfile end if ## Und schon ein END IF gespart! :-) ...
-
Juli 6, 2021 um 14:57 Uhr #30559
Dankeschön genau das war es.
ich werde das mit den Leerzeichen in Zukunft berücksichtigen.
Habe gar nicht geschnallt dass ich mit exit aus dem command ausbrechen kann, was ja eigentlich logisch ist. Danke für den Hinweis.
LG Immanuel
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.