Autor Beitrag
MisterSonic
Hält's aus hier
Beiträge: 7

Windows ME, XP, Suse Linux 9.0 Prof.
Delphi 7
BeitragVerfasst: Sa 30.10.04 15:11 
Hallo Leute,

es ist mal wieder so weit, das ich an einem Punkt angelangt bin wo mir einfach nicht wirklich eine Sinnvolle Lösung einfällt und ich deshalb gern auf eure Hilfe und Erfahrung zurückgreifen würde.

Ich habe ein Datum (var Datum) vom Typ "TDate" und eine Anzahl von Tagen (var Tage) vom Type "Integer", nun möchte ich das mein Programm mir das Datum von "Datum"-"Tage" im Format TDate ausgibt. Kann mir da jemand ne brauchbare Lösung bieten oder nen Hinweis geben? Das wäre nett. Bei meinen Suchen hier habe ich diesbezüglich nichts "für mich brauchbares" entdecken können, leider, aber vielleicht habe ich auch nur falsch gesucht oder was übersehen, sollte es an dem Sein bin ich natürlich auch für Hinweise zu einem Thread dankbar die dieses Thema bereits behandel(n)/(t haben).

MfG Patrick.
ScorpionKing
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1150

Win XP

BeitragVerfasst: Sa 30.10.04 15:47 
ich versteh die frage net ganz so. vielleicht liegt das dadran das ich die ganze nacht net geschlafen hab, aber egal. willst du nu days + time in ein tdate format umwandeln, oder was?

_________________
Aus dem Urlaub zurück!
MisterSonic Threadstarter
Hält's aus hier
Beiträge: 7

Windows ME, XP, Suse Linux 9.0 Prof.
Delphi 7
BeitragVerfasst: Sa 30.10.04 19:53 
Hye,

Sinn und Zweck ist es, das der Anwender eine Möglichkeite hat, einen Termin und eine bestimmte Anzahl von Tagen festzulegen. So das die Anzahl der Tage vom Termin abgezogen wird und er am daraus resultierenden Datum einen Hinweis o.ä. erhält.

MfG Patrick.
harmlos77
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 01.11.04 19:35 
Hallo Patrick,

Du wirst woll nicht darum rumkommen, mit DecodeDate Dein Datum in einzelne Werte zu zerlegen, die Anzahl der Tage im Monat rauszufinden und "per Hand" zu rechnen. Ich mache das in einigen Programmen auch so.

Vielleicht nützt Dir die Funktion etwas:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
function DaysOf(Month,Year:integer):integer;
begin
 case Month of  
  2:
   if (((Year mod 4)=0and ((Year mod 100)>0)) or ((Year mod 400)=0then Result:=29 else Result:=28;
  1,3..7:  
   if (Month mod 2)=1 then Result:=31 else Result:=30;  
  8..12:  
   if (Month mod 2)=1 then Result:=30 else Result:=31;  
  else Result:=0;
 end;  
end;


Damit bekommst Du raus, wieviele Tage ein Monat hat und ob der verflixte Februar vielleicht dabei ist.
Hoffe Dir geholfen zu haben.

Jörg

Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt.
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Mo 01.11.04 20:10 
Hallo,

das ist relativ einfach. Da TDateTime schon die Tage seit dem 30.12.1899 zählt, kannst Du einfach die Tage von diesem Datum abziehen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var Datum:TDateTime;
    Tage :Integer;
  ...
  Datum:=Now; // Heutiges Datum
  Tage:=14;   // 14 Tage soolen abgezogen werden
  ShowMessage('Heute - 14 Tage:'+DateToStr(Datum-Tage));
  ...

Analog funktioniert dies auch in umgekehrter Richtung.

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)