AGB  ·  Datenschutz  ·  Impressum  







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

Debugger Datum Zeit ändern

Ein Thema von franktron · begonnen am 19. Dez 2017 · letzter Beitrag vom 21. Dez 2017
Antwort Antwort
Seite 1 von 2  1 2      
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Debugger Datum Zeit ändern

  Alt 19. Dez 2017, 14:37
Kann man im Debugger irgendwie das Datum und die Zeit ändern (Also die Ausgabe von Date und Now)
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: Debugger Datum Zeit ändern

  Alt 19. Dez 2017, 14:43
Ich vermute mal, das geht nicht, da hier ja das Betriebssystem abgefragt wird. Aber man kann das ganze Programm unter falschem Datum und Uhrzeit laufen lassen:

How can I run a Delphi Win32 application with a specific local time?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: Debugger Datum Zeit ändern

  Alt 19. Dez 2017, 14:48
Grundsätzlich erstmal nein.

Über die OpenToolsAPI könntest du beim Start/Ende des Debuggings die Systemzeit ändern,
aber das wäre ungünstig.

Du kannst im Programm auf MSDN-Library durchsuchenIsDebuggerPresent prüfen und dann eine eindere Zeit verwenden.

Oder du mußt im Programm die Datumsfunktionen "hooken". (auch mit IsDebuggerPresent prüfen und nur dann den Hook aktivieren)
* Direkt die beiden gewünschten Funktionen (Date/Now)
* oder MSDN-Library durchsuchenGetLocalTime, welches die beiden Delphifunktionen verwenden
> aber was ist mit dem Datum/Uhrzeit aus anderen APIs? (das wäre dann unverändert)


[edit]
Lässt sich dieses Programm per Komandozeile benutzen, dann kannst du es als Host-Anwendung für deine Anwendung benutzen.
Aber ob du dann dein Programm noch debuggen kannst ... ich weiß nicht, da es ein "neuer" Prozess wird.

Menü > Start > Parameter... >
> Host-Anwendung = die RunAsDate.exe
> Parameter = hier mußt deine EXE rein
> Arbeitsverzeichnis = hier auch das Verzeichnis deiner EXE
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (19. Dez 2017 um 14:55 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.444 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Debugger Datum Zeit ändern

  Alt 19. Dez 2017, 14:55
Hallo,
ich habe da mal statt die Funktionen direkt zu verwenden einen Service geschrieben mit interface. Diesen Service konnte man dann beauftragen nicht das System zu fragen sondern eine gegebene Zeit zu liefern.
Sowas erleichtert auch enorm unit-tests.

Geändert von freimatz (20. Dez 2017 um 08:46 Uhr)
  Mit Zitat antworten Zitat
hoika

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

AW: Debugger Datum Zeit ändern

  Alt 20. Dez 2017, 08:06
Hallo,
ich würde da einfach eigene Methoden benutzen,
die dann sogar in einer separaten Datei nachsehen, welches Datum/Uhrzeit zurückgegeben werden soll.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: Debugger Datum Zeit ändern

  Alt 20. Dez 2017, 11:16
Hallo,
ich würde da einfach eigene Methoden benutzen,
die dann sogar in einer separaten Datei nachsehen, welches Datum/Uhrzeit zurückgegeben werden soll.
Das geht aber auch nur, wenn du sämtliche Date-, Time- und Now-Aufrufe (ganz zu schweigen von den direkten System-Calls) unter deiner Kontrolle hast. Gerade bei 3rd-Party Bibliotheken oder Windows-Controls (z.B. TMonthCalender) ist das aber in der Regel nicht der Fall.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Debugger Datum Zeit ändern

  Alt 21. Dez 2017, 00:20
Ich stelle hier einfach mal die Frage: Warum willst du das tun?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Debugger Datum Zeit ändern

  Alt 21. Dez 2017, 07:37
Der von Uwe verlinkte Beitrag bringt eigentlich schon zwei Beispiele: Fehlverhalten bei Datumswechsel sowie Sommer/Winterzeit-Umstellung.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

AW: Debugger Datum Zeit ändern

  Alt 21. Dez 2017, 09:17
Ich stelle hier einfach mal die Frage: Warum willst du das tun?
Ich will Jahreswechsel Routinen Testen
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.444 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Debugger Datum Zeit ändern

  Alt 21. Dez 2017, 11:06
Habe gerade noch gefunden: https://www.heise.de/download/product/runasdate-69076
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:31 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