AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Normales Datums-Editfeld ist leer - wie abfragen?
Thema durchsuchen
Ansicht
Themen-Optionen

Normales Datums-Editfeld ist leer - wie abfragen?

Ein Thema von LingNeu · begonnen am 14. Sep 2014 · letzter Beitrag vom 15. Sep 2014
Antwort Antwort
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#1

Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 14. Sep 2014, 11:36
Hallo zusammen,
habe ein Eingabefeld (kein Datenbankfeld) welches ein Datum aufnimmt.
Nun möchte ich gerne im Programm abfragen, ob dieses Editfeld leer ist.

Folgenden Code habe ich probiert, leider klappt das nicht. Obwohl das EditFeld leer ist, kommt die Message.
Verwende ich ein Datenbankfeld, dann geht es.

Delphi-Quellcode:
if not VarIsNull(gebdatum.Date) then begin
   ShowMessage('nicht leer');
end;
Bitte um Hilfe, wo ich noch ansetzen kann.
Gruss Lingneu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 14. Sep 2014, 11:44
Delphi-Quellcode:
if trim(Edit.Text) <> 'then
  ShowMessage('Nicht leer');
oder hab ich da was falsch verstanden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 14. Sep 2014, 12:04
@DeddyH
danke für den Tip. Leider klappt es so noch nicht. Ich verwende ein DateEdit von DevExpress.

Ich hab mir jetzt das Ergebnis mit Showmessage(DateToStr(gebdatum.date)) anzeigen lassen, da bekomme ich '00.00.0000'

Momentan hab ich mir jetzt so geholfen...

Delphi-Quellcode:
if DateToStr(gebdatum.date) <> '00.00.0000then begin
   //mach was
end;
Ob das gut ist, wird sich zeigen.
Danke nochmals
LingNeu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 14. Sep 2014, 12:08
Delphi-Quellcode:
if gebdatum.Date > 1.0 then begin
   ShowMessage('nicht leer');
end;
Die DateTimePicker Komponente hat einen Bug; im Property Date ist auch die aktuelle Zeit im Nachkommateil enthalten.
Deshalb muss man auf > 1 abfragen (wo normalerweise > 0 gereicht hätte).
fork me on Github

Geändert von sx2008 (14. Sep 2014 um 12:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 14. Sep 2014, 12:10
Ich kenne die Komponente zwar nicht, aber sie scheint ihren Inhalt selbst in ein Datum umzuwandeln, im Fehlerfall dann eben den 0.0.0000. Falls es intern keine andere Möglichkeit gibt (DateIsEmpty oder etwas in der Art), würde ich dann aber keinen Stringvergleich machen, sondern das Datum selbst auswerten.
Delphi-Quellcode:
var
  Year, Month, Day: Word;
begin
  DecodeDate(gebdatum.date, Year, Month, Day);
  if (Year = 0) and (Month = 0) and (Day = 0) then
    ...//leeres Datum oder tatsächlich der Anfang unserer Zeitrechnung
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 14. Sep 2014, 13:00
DevExpress sollte diverse Eigenschaften haben, die den Wert im Editfeld beschreibt. Dazu gehören (aus dem Gedächtnis)
Text/Value/Date, EditValue, EditText, EditingValue, EditingText.

Text/Value/Date bezeichnet (eigentlich) immer den Wert im Datentypen, der dem Eingabefeld entspricht, also String, Date, Numerisch etc.

EditValue und EditText ist die Repräsentation als Variant bzw. String, die dem gespeicherten Wert des Eingabefeldes entspricht und EditingValue/Text entspricht dem Wert, so wie man ihn im EingabeFeld gerade sieht. Dieser Unterschied ist nur während der Eingabe in den einzelnen Events sichtbar, aber dafür dort umso praktischer.

Ich würde also den Wert von 'EditValue' oder 'EditText' prüfen.
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#7

AW: Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 14. Sep 2014, 13:52
Man kann in den cxDateEdit Properties auch irgendwo festlegen was als NULL Value verwendet werden soll.
Wenn Du das entsprechend konfigurierst, dann kannst Du auf "if not assigned(myDateEdit.EditValue)" prüfen ..
Kann gerade nicht schauen, aber diese Einstellungen war imho nicht zu sehr versteckt ...
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Normales Datums-Editfeld ist leer - wie abfragen?

  Alt 15. Sep 2014, 14:20
Hi,

cxDateUtils in Uses und auf NullDate abfragen...

  if (cxDateEdit.EditValue = NullDate) ... Frank
Frank Reim
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz