Seite 1 von 1
StringGadget zur Laufzeit in DateGadget umwandeln?
Verfasst: 06.01.2009 18:38
von LordK
Hi Leute,
ich habe folgendes Problem.
Ich habe in einer Anwendung ein StringGadget wo die User ein Datum eintragen können. Jetzt haben sich einige Leute beschwert, sie würden das Datum gerne über einen Kalender auswählen. Also dachte ich mir, ich füge eine Option ein, mit dem der User auswählen kann, ob er lieber das StringGadget oder das DateGadget verwenden will, doch als ich das grade implementieren wollte, fiel mir wieder ein, dass die Config Datei, in der die Optionen und Programmdaten gespeichert werden, erst nach dem Erstellen der GUI eingelesen wird, da Werte aus der Datei direkt in ListViews eingelesen werden.
Gibt es eine Möglichkeit aus dem StringGadget nachträglich ein DateGadget zu machen oder muss ich meine komplette Logik zum einlesen der Optionsdaten umstellen?
Danke & Gruß
LordK
Verfasst: 06.01.2009 18:43
von edel
Umwandeln kannst du da gar nichts, aber du kannst ein gaget loeschen und ein anderes dort platzieren.
Verfasst: 06.01.2009 18:50
von LordK
Hm stimmt.
Auf die Idee hätte ich auch kommen können
Alles klar. Besten Dank für die Inspiration

Verfasst: 06.01.2009 18:52
von Kaeru Gaman
du kannst auch beide gadgets erstellen, am selben ort platzieren,
und immer eines von beiden unsichtbar halten.
das ermöglicht dem User nach belieben umzuschalten.
... wobei ich eigentlich meine, dass das DateGadget auf jeden fall ok wäre und ein Stringgadget als alternative praktisch überflüssig.
Verfasst: 06.01.2009 18:59
von LordK
Kaeru Gaman hat geschrieben:du kannst auch beide gadgets erstellen, am selben ort platzieren,
und immer eines von beiden unsichtbar halten.
das ermöglicht dem User nach belieben umzuschalten.
... wobei ich eigentlich meine, dass das DateGadget auf jeden fall ok wäre und ein Stringgadget als alternative praktisch überflüssig.
Ok das wäre auch eine Möglichkeit.
Der Punkt ist einfach, dass du bei einem DateGadget das Datum per Tastatur nicht so einfach eingeben kannst wie bei einem StringGadget. Du kannst z.B. nicht per Tab auf das nächste Datumsfeld springen sondern musst den Cursortasten oder der Maus arbeiten. Während man bei einem StringGadget einfach das ganze Datum auf einmal eingeben kann.
Verfasst: 06.01.2009 19:02
von Kaeru Gaman
dafür musst du beim stringgadget die eingabe aufwendig parsen und fehler gleich melden.
was machst du z.b., wenn einer den 30.02. eingibt?
oder das datum im Format 2009-01-06 eingeben will?
Verfasst: 06.01.2009 19:09
von LordK
Kaeru Gaman hat geschrieben:dafür musst du beim stringgadget die eingabe aufwendig parsen und fehler gleich melden.
was machst du z.b., wenn einer den 30.02. eingibt?
oder das datum im Format 2009-01-06 eingeben will?
Dann kann er das durchaus tun

Das Datum wird in Form eines Strings als Parameter an eine andere Applikation weiter gegeben, die von meinem Programm aufgerufen wird.
Und der ist herzlich egal in welchem Format das Datum kommt.
Ok das mit dem 30.2. ist ein gutes Argument, wobei ich glaube, dass selbst das die Applikation hinten dran abfängt. Und man muss auch nicht jedes Programm bis ins letzte Detail idiotensicher Programmieren.
Wie heißt es so schön:
"Make it idiotproof and someone will make a better idiot"
Verfasst: 06.01.2009 19:17
von Kaeru Gaman
aye, ok.
... wollte dich auch nur zum nachdenken anregen ...
Verfasst: 06.01.2009 19:23
von LordK
Kaeru Gaman hat geschrieben:aye, ok.
... wollte dich auch nur zum nachdenken anregen ...
Jo, besten Dank. Die Hinweise sind wirklich gut.
Mal sehen vielleicht mach ich da dann doch noch bei Lust und Laune eine Abfrage rein, um den User zumindest auf ein Datumsformat zu zwingen, da ich schon probleme mit dem DateGadget bekommen könnte, da ich versuche das Datum zu erhalten, wenn jemand bereits ein im StringGadget eintragen hat und dann aufs DateGadget umschalte. Und dann würde ParseDate vermutlich probleme bekommen.