Einzelnen Beitrag anzeigen

NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#1

leer - leer - leer - wie lernt es mein Rechner?

  Alt 8. Dez 2021, 09:18
Es geht darum, dass in einem Text-Feld entweder eine Uhrzeit angegeben wird oder eben keine.
Das Feld ist originär sicher leer, denn ich initialisiere es dezidiert mit ''.
Ist das Feld leer, so will ich die Wertzuweisung "Null" (nicht NULL iSv nil) haben.

Mein Problem ist jetzt, dass ich meinem Rechner nicht beibringen kann, was ein "leeres" Feld ist.
Unten meine Versuche. Diese Bedingungen sind alle drei "true", also der Rechner denkt, der Wert wäre NICHT ungleich Null / 00:00 usw.

Was der Rechner denkt?
Da ist schwierig, doch das Ergebnis ist jedenfalls (ich komme mir vor wie bei Anhalter durch die Galaxis): "12".

So sieht ein Codeschnipsel aus:

if (MaskEdit_ExitZeit.EditText<>'00:00') or (MaskEdit_ExitZeit.EditText<>'00:00:00') or (MaskEdit_ExitZeit.EditText<>'') then
try
dat:=StrToTime(MaskEdit_ExitZeit.EditText); // prüft, ob gültiges Datum
EinTrade_.ExitTime:=dat;
except // nur Zeitanteil aus Datum
EinTrade_.ExitTime:=0;
end;

Meine Frage: Wie bringe ich meinem Rechner bei, was ein leeres Feld ist?! (Delphi XE 3, TMaskEdit).
In der Schleife sind noch logische Fehler, um die geht es nicht. Es geht nur um die Zeile mit dem "if". Sie ist "true", wo sie 3 Gründe hätte, "false" zu sein.

Geändert von NicoleWagner ( 8. Dez 2021 um 09:21 Uhr)
  Mit Zitat antworten Zitat