AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DateTimePicker Min und MAx Probleme

Ein Thema von Zioone · begonnen am 30. Sep 2008 · letzter Beitrag vom 30. Sep 2008
Antwort Antwort
Zioone

Registriert seit: 3. Sep 2008
49 Beiträge
 
Delphi 7 Professional
 
#1

DateTimePicker Min und MAx Probleme

  Alt 30. Sep 2008, 09:46
Hi,
hab da mal wieder ein Problem und zwar mit den DateTimePicker Komponente.
Schon gesucht, aber irgendwie nichts gefunden

was ich mache:
- Anfangs datum wird aus datei rausgesucht und in den 1. DTP geschrieben
- Enddatum wird aus datei rausgesucht und in den 2. DTP geschrieben
- dann wird noch MINDATE und MAXDATE anhand dieser beiden Angaben reingeschrieben
----
bis hier funktioniert das ganze auch

Problem trifft erst auf, wenn ich eine 2.Datei zur Laufzeit öffne. Dort wird mir dann gesagt das datum überschreitet Minimum bzw Maximum.

warum kann er nicht einfach das alte Datum löschen und ein neues Definieren?
Delphi-Quellcode:
     //...
     //in ad und ed werden informationen geholt

     dtp_ad.Date:=ad; //dtp_ad = DateTimePicker; ad= AnfangsDatum, typ TDatetime

     dtp_ad.MinDate:=trunc(ad); //hier kommt fehler, beim 2. öffnen
     dtp_ad.MaxDate:=trunc(ed); //ed=EndDatum, typ TDatetime
     
     dtp_ad2.Time:=frac(ad);

     dtp_ed.Date:=ed;
     dtp_ed.MinDate:=trunc(ad);
     dtp_ed.MaxDate:=trunc(ed);
     dtp_ed2.Time:=frac(ed);
hoffe es kann wer helfen

PS: dazu muss ich noch sagen das ich für's anfangsdatum und enddatum jeweils 2DTP habe, jeweils eins fürs datum und das andere für die Zeit(dtp_ad2/dtp_ed2)
Christine
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: DateTimePicker Min und MAx Probleme

  Alt 30. Sep 2008, 10:12
Hallo,

ohne Daten (2. Datei) ist das ein Fall für die Kugel.

Also:
F5 - Breakpoint
Ctrl+F5 - Watch hinzufügen

und debuggen.


Heiko
Heiko
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

Re: DateTimePicker Min und MAx Probleme

  Alt 30. Sep 2008, 10:49
Hallo,

habe mal rumprobiert, der Fehler entsteht (höchstwahrscheinlich) nicht in der von Dir angegebenen Zeile, sondern eine Zeile darüber.

Folgende Annahme: Wir haben eine globale Variabel i vom Typ Integer und gehen davon aus, dass i = 0 ist.

Meine Testprozedur ohne Datei:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
          ad : TDateTime;
          ed : TDateTime;
begin
  ad := Now;
  ed := Now + i;
  dtp_ad.Date:=ad; //dtp_ad = DateTimePicker; ad= AnfangsDatum, typ TDatetime

  dtp_ad.MinDate:=trunc(ad); //hier kommt fehler, beim 2. öffnen
  dtp_ad.MaxDate:=trunc(ed); //ed=EndDatum, typ TDatetime

  dtp_ad2.Time:=frac(ad);

  dtp_ed.Date:=ed;
  dtp_ed.MinDate:=trunc(ad);
  dtp_ed.MaxDate:=trunc(ed);
  dtp_ed2.Time:=frac(ed);
  Inc(i);
end;
Was passiert hier?
ad = heute, ed = morgen, damit sind die Zeilen 6 und 7 abgefackelt.
Zeile 8: dtp_ad.Date = heute
Zeile 10: dtp_ad.MinDate = heute
Zeile 11: dtp_ad.MaxDate = morgen
Zeile 15: dtp_ed.Date = morgen
Zeile 16: dtp_ed.MinDate = heute
Zeile 17: dtp_ed.MaxDate = morgen

Das funktioniert und i wird um 1 erhöht.
Nächster Klick:

Was passiert jetzt?
ad = heute, ed = übermorgen, damit sind die Zeilen 6 und 7 abgefackelt.
Zeile 8: dtp_ad.Date = heute
Zeile 10: dtp_ad.MinDate = heute
Zeile 11: dtp_ad.MaxDate = übermorgen
Zeile 15: dtp_ed.Date = übermorgen

Das geht nicht, da dtp_ed.MaxDate noch auf morgen steht, deshalb passiert in diesem Beispiel in Zeile 15 bei der Zuweisung ein Fehler. Warum beim Debuggen die Zeile 16 als fehlerhaft angezeigt wird, kann ich nicht sagen. Die Fehlermeldung besagt jedenfalls, dass das Datum das Maximum heute übersteigt.

Abhängig von den Werten aus Deinen Dateien, kann der Fehler in Zeile 8 oder 15 auftreten, vor dem Setzen von .Date musst Du sicherstellen, dass .MinDate und .MaxDate entsprechend gesetzt sind. Es dürfte sich hier also um ein Reihenfolgeproblem der Programmzeilen handeln.

Stephan
  Mit Zitat antworten Zitat
Zioone

Registriert seit: 3. Sep 2008
49 Beiträge
 
Delphi 7 Professional
 
#4

Re: DateTimePicker Min und MAx Probleme

  Alt 30. Sep 2008, 10:56
DANKE!!! Es geht

hab mal durchdebuggt, der Fehler trifft wirklich Zeile voher auf.
und lag auch an der Reihenfolge.
Das deswegen der Fehler auftrifft dacht ich mir schon nur das es an der Reihenfolge liegt, da kam ich nicht drauf ^^'

Also noch mal danke
Christine
  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 15:16 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