Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datetime undefiniert !!! (https://www.delphipraxis.net/20609-datetime-undefiniert.html)

kiar 20. Apr 2004 13:12


Datetime undefiniert !!!
 
folgende funktion
Delphi-Quellcode:
 uses
 Classes, ComCtrls, SysUtils;


function fkt_CalcDivTime(s: string): double;
var
   Mytime :TDAtetime;
   stunden,
   minuten,
   szEnde,
   szStart:String;

begin
   mytime:=now; //<- hier versuche ich Mytime zu seten
   sZende:=fkt_makecloseString(s); // hier wird aus einem längeren string einteil ausgewählt
   sZende:=stringreplace(szende,':','',[rfreplaceall]);
   stunden:=copy(szende ,1,2);
   minuten:=copy(szende ,3,2);
   mytime:=EncodeTime((strtoint(stunden)),(strtoint(minuten)),0,0);
   result:= 'ist egal'
end;
ich versuche hier mytime zu ermitteln, um damit weiterzuarbeiten, diese funktion ist bestandteil einer .pas, welche oben aufgeführte dateien hat.

wenn ich nun zu dieser funktion springe, liegt mytime, auch nach now irgendwo im computer und zeigt astronomische werte an.

mache ich die selbe sache auf einer unit, der eine form zugewiesen ist, klappt es.

alle deklarationen sind in den oben aufgeführen dateien enthalten. wo liegt mein fehler :wall:

raik

Sharky 20. Apr 2004 13:18

Re: Datetime undefiniert !!!
 
Hai kiar,

ist dort eventuell das Delphi TDateTime durch einen eigenen Typ ersetzt worden?

shmia 20. Apr 2004 13:32

Re: Datetime undefiniert !!!
 
Du kannst den Unitnamen einem Bezeichner vorneanstellen, wenn du ganz sicher
sein möchtest:
Delphi-Quellcode:
var
   Mytime :System.TDatetime; // der "richtige" TDateTime Datentyp
   stunden,
   minuten,
   szEnde,
   szStart:String;
begin
   mytime:=SysUtils.Now; // die "richtige" Now-Funktion

kiar 20. Apr 2004 13:50

Re: Datetime undefiniert !!!
 
@ sharky -> wie meist du das?
@ shmia -> das bringt auch nichts!

sakura 20. Apr 2004 13:53

Re: Datetime undefiniert !!!
 
Mal eine Frage. Wo stößt Du auf das Problem mit den "astronomischen" Werten - wo überprüfst Du die. Kann es sein, daß Du MyTime woanders nochmals definiert hast?

...:cat:...

kiar 20. Apr 2004 14:00

Re: Datetime undefiniert !!!
 
hallo sakura,

iich stoße aus die astronomischen werte, schon in der ersten zeile. deshalb habe ich auch
Delphi-Quellcode:

MyTime:=SysUtils.now;
gemacht, um einen definierten wert zu haben.

aber pustekuchen, er ist in den weiten des rechners.

mytime ist nirgends definiert.

raik

Luckie 20. Apr 2004 14:02

Re: Datetime undefiniert !!!
 
Geh mal in Einzelschritten durch und kuck, was für einen Wert mytime nach der Zuweisung von now hat.

kiar 20. Apr 2004 14:04

Re: Datetime undefiniert !!!
 
luckie den astronomischen wert. alles schon passiert.

sonst hätte ich nicht gewußt, das er astronomisch ist.

raik

sakura 20. Apr 2004 14:09

Re: Datetime undefiniert !!!
 
Nenne doch mal den Wert ;)

...:cat:...

kiar 20. Apr 2004 14:12

Re: Datetime undefiniert !!!
 
2.0904263321e-317

Luckie 20. Apr 2004 14:12

Re: Datetime undefiniert !!!
 
Ich meine direkt nach der Zuweisung von now, nicht am Ende der Funktion.

Wie sieht der denn aus?
Dir ist bekannt, dass der Datentyp TDateTime eigentlich ein Double ist? Und bewegt sich der astronomische Wert so um die 38097,633025706?

Du kannst ja mal das ausprobieren:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  mytime: TDateTime;
begin
  mytime := now;
  Showmessage(FloatToStr(mytime));
  Showmessage(DateTimeToStr(mytime));
end;

kiar 20. Apr 2004 14:15

Re: Datetime undefiniert !!!
 
luckie

auf einem formular klappt es doch.

das ist eine unit, wo nur funktionen drin sind, welche ich benutze.

raik

kiar 20. Apr 2004 14:17

Re: Datetime undefiniert !!!
 
sakura,

der oben genannte wert ist immer der gleiche,

wie kann ich rauskriegen, was das für ein wert ist ?

raik

kiar 20. Apr 2004 14:28

Re: Datetime undefiniert !!!
 
habe jetzt fogendes gemacht:
Delphi-Quellcode:
var
  MyTime: TDateTime;

initialization
_data.Mytime := SysUtils.now;

end.
und siehe da, es wird richtig eingestellt. also liegt der fehler irgendo anderst. ich werde mich mal auf die suche begeben.

danke raik

kiar 20. Apr 2004 14:47

Re: Datetime undefiniert !!!
 
nachvollziehbar ist das nicht:

der fehler muss in der XPMenu.pas liegen. wenn ich diese rausnehme ist das initialisierte datum auch noch bei dem aufruf korrekt.

was mich aber nachdenklich macht, ist die tatsache, wenn ich diese procedure auf einer for mache mit dem menu klappt es auch.

vorschläge, ratschläge und hinweise gerne willkommen.

@sakura hast du gedacht -> astronomischer wert 'kiar' -> das ist vielleicht ein double, lass ich ihn mir doch mal zeigen, :wink:

raik

sakura 20. Apr 2004 14:53

Re: Datetime undefiniert !!!
 
Zitat:

Zitat von kiar
der fehler muss in der XPMenu.pas liegen.

Wo kommt die denn her :gruebel:

...:cat:...

kiar 20. Apr 2004 14:55

Re: Datetime undefiniert !!!
 
ich rufe aus der formuldatei, wo die xpmenu.pas bestandteil ist die funktion auf.

wenn ich die herausnehme bleibt der wert erhalten,

habe jetzt noch nach mytime, Tdatetime in der XPmenu.pas gesucht, aber nichts gefunden.

raik

sakura 20. Apr 2004 14:57

Re: Datetime undefiniert !!!
 
Zitat:

Zitat von kiar
ich rufe aus der formuldatei, wo die xpmenu.pas bestandteil ist die funktion auf.

Ich meinte eigentlich: Was für eine Unit ist denn das. :gruebel: Mein Delphi hat die nicht.

...:cat:...

kiar 20. Apr 2004 14:59

Re: Datetime undefiniert !!!
 
http://www.shagrouni.com/english/software/xpmenu.html

alcaeus 20. Apr 2004 15:01

Re: Datetime undefiniert !!!
 
@kiar: Versuch mal die Variable MyTime umzubenennen, funktioniert das auch nicht?

kiar 20. Apr 2004 15:10

Re: Datetime undefiniert !!!
 
bringt alles nichts, aus der xpmenu.pas kann es auch nicht kommen, ich bin mit meinem latein am ende.

wenn ich im einzelschritt durchgehe nimmt Mytime ständig andere werte an!!!!

raik

kiar 20. Apr 2004 15:21

Re: Datetime undefiniert !!!
 
hab mich entschlossen die funktion umzuschreiben.

dank an alle, die sich beteiligt haben.

raik


Alle Zeitangaben in WEZ +1. Es ist jetzt 21: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