Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wert TDateTime im Debugger anzeigen (https://www.delphipraxis.net/99442-wert-tdatetime-im-debugger-anzeigen.html)

MacGuyver 12. Sep 2007 10:42


Wert TDateTime im Debugger anzeigen
 
Moin Leute! :hi:

Weiß jemand von euch, ob es etwas gibt damit ich Datum und Uhrzeit aus einem TDateTime angezeigt bekommen kann? Bei kniffeligen Stelellen helfe ich mir so:

Delphi-Quellcode:
var lSt : String;

lSt:=FormatDateTime('dd.mm.yyyy" um "hh:nn:ss',VARIABLE);
if lSt = '' then ;
Den Breakpoint sezte ich dann auf die IF-Abfrage und umgehe so die Optimierung. Klar, kann man auch eine Funktion draus machen. Schön wäre aber, wenn ich mit der Maus auf der VARIABLE stehen bleibe, dass der Inhalt dann gleich als Hint angezeigt wird.

Stefan

s-off 12. Sep 2007 10:49

Re: Wert TDateTime im Debugger anzeigen
 
Zitat:

Zitat von MacGuyver
Schön wäre aber, wenn ich mit der Maus auf der VARIABLE stehen bleibe, dass der Inhalt dann gleich als Hint angezeigt wird.

Das ist in der regel der Fall.

Ansonsten Cursor auf Deinen zu überprüfenden Wert setzen und [STRG]+[F7] drücken.

Edit: Args, entschuldige bitte. Ich habe Dich vollkommen falsch verstanden. Du möchtest den Wert zerlegt haben...

Edit2: Nein, die neueren Versionen machen das ebenfalls nicht. Irgendwie auch logisch, da Du einen Wert vom Typ TDateTime überprüfst, und keinen vom Wert TDate oder TTime.

Ich würde wirklich zu [STRG]+[F7] tendieren und dann im Ausdruck einfach Deinen Formatstring eintragen.

Ansonsten könntest Du aber auch auf OutputDebugString aus der Unit Windows zugreifen, und Dir einen Eintrga im Delphi-Ereignisprotokoll ausgeben lassen.

MacGuyver 12. Sep 2007 10:52

Re: Wert TDateTime im Debugger anzeigen
 
Oh, ich habe verpennt dass ich mit Delphi 5 pro arbeite. Machen das die neueren Versionen? Ab wann?

s-off 12. Sep 2007 10:56

Re: Wert TDateTime im Debugger anzeigen
 
Zitat:

Zitat von MacGuyver
Oh, ich habe verpennt dass ich mit Delphi 5 pro arbeite. Machen das die neueren Versionen? Ab wann?

Nein, lies bitte die Edits in meinem Text oben; sorry.

Edit:
Einen Eintrag ins Ereignisprotokoll könntest Du bspw. folgendermaßen erzeugen:
Delphi-Quellcode:
Procedure TForm1.DoOutputDebugString(_Value: TDateTime);
Begin
   OutputDebugString(PChar(Format('Time: "%s" / Date: "%s"', [TimeToStr(_Value), DateToStr(_Value)])));
End;

Procedure TForm1.Button1Click(Sender: TObject);
Begin
   DoOutputDebugString(Now);
End;

MacGuyver 12. Sep 2007 12:21

Re: Wert TDateTime im Debugger anzeigen
 
Ich will das an der Stelle doch nicht haben.


Ich habe aber die Lösung gefunden:

FormatDateTime('dd.mm.YYYY" um "hh:mm:ss',aDate)

Das Teil in die überwachten Ausdrücke eintragen und die Checkbox "Funktionsaufrufe gestattet" anhaken. Schwupp! Da ist auch schon das Datum mit Uhrzeit in gewünschter Form. Noch geiler wird es, wenn man eingene Funktionen einbindet:

Delphi-Quellcode:
funtion DateToStr( aDate : TDateTime):String;

begin
  Result:='Aber Hallo!';
end;
Dann mal eben in die überwachten Ausdrücke "DateToStr(aDate)" eintragen und die Checkbox setzten. Siehe da, da steht dann sogar "Aber Hallo!" in der Liste. Geil. :thumb: Ach so, die Funktion muss auch im Programm verwendet werden, sonst nimmt der Compiler das raus. Am einfachsten im Init

Delphi-Quellcode:
begin
  if DateToStr(0) = '' then ;
end.
eine leere Abfrage einbauen.


Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz