AGB  ·  Datenschutz  ·  Impressum  







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

Wert TDateTime im Debugger anzeigen

Ein Thema von MacGuyver · begonnen am 12. Sep 2007 · letzter Beitrag vom 12. Sep 2007
Antwort Antwort
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#1

Wert TDateTime im Debugger anzeigen

  Alt 12. Sep 2007, 11:42
Moin Leute!

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
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Wert TDateTime im Debugger anzeigen

  Alt 12. Sep 2007, 11:49
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.
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Wert TDateTime im Debugger anzeigen

  Alt 12. Sep 2007, 11:52
Oh, ich habe verpennt dass ich mit Delphi 5 pro arbeite. Machen das die neueren Versionen? Ab wann?
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#4

Re: Wert TDateTime im Debugger anzeigen

  Alt 12. Sep 2007, 11:56
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;
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wert TDateTime im Debugger anzeigen

  Alt 12. Sep 2007, 13:21
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. 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
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  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 08:41 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