Startseite › Foren › Deutsches LiveCode-Forum › Bleibender Dark Mode › Antwort auf: Bleibender Dark Mode
Du musst die Datei aber auch irgendwann mal wieder einlesen und darauf reagieren!
Das ist doch wirklich kaum etwas anderes als bei Deinen vorherigen Fragen!?
Hinweis:
Das kann auch nciht funktionieren!
„startup“ ist tatsächlich ein reserviertes Wort in LC, sieht man auch im Skript Editor, das Wort wird eingefärbt!
Diese Nachricht „on startup“ wird aber nur beim Starten der späteren RUNTIME gesendet, in der IDE aber nicht.
Ausserdem hat STARTUP keinen Parameter, und schon gar nicht Deine gespeicherte Variable, wo soll die denn herkommen?
Und Du solltest Deine Variable darkmode als GLOBAL definieren, damit von überall darauf zugegriffen werden kann!
Mach es so:
...
## Einmal reicht, Tipparbeit sparen!:
put specialfolderpath("documents") & "/dark_mode" into tDatei
if the highlight of me then
put "dark" into darkmode
else
put "light" into darkmode
end if
## Jetzt erst wegschreiben:
put darkmode into url("file:" & tDatei)
...
Dann im Stackskript:
global darkmode
on OPENSTACK
## Zuerst die Datei einlesen
put specialfolderpath("documents") & "/dark_mode" into tFile
## Noch keine Datei vorhanden -> auf DEFAULT setzen:
if there is not a file tFile then
put "Dein Defaultwert für Darkmode hier" into derModus
else
put url ("file:" & tFile) into derModus
end if
## Weiterer Trick, da LC zuerst alles in Klammern auflöst:
set the highlight of widget "dark" to (darkmode = "dark")
## Bitte mal auf der zunge zergehen lassen.
## Diese Logik ist essentiell fürs Programmieren!
## Siehe oben, Mr. Boole und seine Logik ist unser Freund!
##if darkmode = "dark" then
## set the highlight of widget "dark" to "true"
##else
## set the highlight of widget "dark" to "false"
##end if
end openstack
Und jetzt bitte mit dem alten Thread vergleichen und sehen, daß es hier im Prinzip keinen Unterschied gibt! Und das dann bitte auch für die Zukunft verstehen und merken! 😎
Gruß
Klaus