AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) wie aus eigener systemtime richtiges datum machen??
Thema durchsuchen
Ansicht
Themen-Optionen

wie aus eigener systemtime richtiges datum machen??

Ein Thema von lbccaleb · begonnen am 26. Jan 2008 · letzter Beitrag vom 27. Jan 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 04:08
Zitat von himitsu:
Zitat:
AddTime(AddTime: TSystemTime; TimeToAdd: int64): TSystemTime;
wozu der Umweg über TFileTime?
TSysteTime ist doch ein recht einfaches Format und so schwer sollte das Rechnen damit doch nicht sein?
ja leider doch, denn der nachteil bei dem recht einfachen format ist, das man nichts addieren oder subtrieren kann, das kann man leider nur bei filetime, denn systemtime kommt man dann schnell mal an 40.01.2008 und das geht wohl kaum
deswegen der umweg
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 04:35
schon bemerkt das es ein record ist, welcher auf netten WORDs besteht?
damit kann man doch wunderbar rechnen und dank einiger "neuer" Funktionen (z.B. Operatoren) für Records, kann man sich auch notfalls den TSystemTime-Record erweitern.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 10:02
ok dan geb mal ebend ein bsp, denn ich hab kp wie ich das anstellen soll, bin nämlich froh das es mit der anderen funktion jetzt funktioniert, und das hat mich schon halb zum verzweifeln gebracht, ich bin froh das es jetzt alles so läuft wie es soll...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 11:25
Delphi-Quellcode:
i := (X.Sekunde + Sekunden) div 60;
X.Sekunde := (X.Sekunde + Sekunden) mod 60;
i2 := i;
i := (X.Minute + i2) div 60;
X.Minute := (X.Minute + i2) mod 60;
i2 := i;
i := (X.Stunde + i2) div 24;
X.Stunde := (X.Stunde + i2) mod 24;
...
oder
Delphi-Quellcode:
i := X.Sekunde + Sekunden;
X.Sekunde := i mod 60;
i := i div 60 + X.Minute;
X.Minute := i mod 60;
i := i div 60 + X.Stunde;
X.Stunde := i mod 24;
i := i div 24 + X.Tag;
...
oder ...

Mathematik halt .. nja, zumindestens hast du dir so ganz "elegant" das Problem mit den ungleichlangen Monaten und den Schaltjahren vom Hals geschafft
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 12:09
ja das ja schön und gut, aber wie soll ich das denn jetzt systemtime zuweisen?? das problem ist ja das ich Tsystemtime keine eigenen variablen addieren kann, ich kann zwar schon addieren, aber er akzeptiert das nicht... die berechnung ist ja nicht das problem sondern nur die zuweisung, und das geht halt nur wenn ich "leider" den umweg über filetime nehme..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 12:19
wieso soll man da nix zuweisen können?

Delphi-Quellcode:
function AddTime(Time: TSystemTime; mSecsToAdd: int64): TSystemTime;
begin;
  Inc(mSecsToAdd, Time.wMilliseconds);
  Time.wMilliseconds := mSecsToAdd mod 1000;
  mSecsToAdd := mSecsToAdd div 1000 + Time.wSecond;
  Time.wSecond := mSecsToAdd mod 60;
  mSecsToAdd := mSecsToAdd div 60 + Time.wMinute;
  Time.wMinute := mSecsToAdd mod 60;
  mSecsToAdd := mSecsToAdd div 60 + Time.wHour;
  Time.wHour := mSecsToAdd mod 24;
  mSecsToAdd := mSecsToAdd div 24 + Time.wDay;
  ...
end;
$2B or not $2B
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#17

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 12:21
Vom Variablennamen her addierst du Millisekunden auf Sekunden?
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 12:39
schön und gut, deine funktion nur ich glaub du hast mein problem nicht verstanden:

du kannst tsystemtime nichts zuweisen, bzw nichts addieren (zumindest nicht so) denn dann kommt kein glütiges datum mehr herraus!
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 12:42
meinst du mich? (@Muetze1)
mSecs = MilliSeconds



klar hab ich dich verstanden ... beim Addieren mußt du halt drauf achten, daß die Werte im gültigen Bereich bleiben.

Also wenn zu 59 Sekunden eine Sekunde zuaddiert wird, dann kommt 0 raus und zu Minute muß 1 zuaddiert werden.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: wie aus eigener systemtime richtiges datum machen??

  Alt 27. Jan 2008, 12:48
na wie muss ich das denn zb aufrufen wenn ich einen tag addieren will?? weil eigentlich geht es mir mehr um tag, monat und jahr..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 11:21 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