Autor Beitrag
Franz
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 05.07.02 21:59 
Servus!!!!
wie kann berechnen welcher Tag des Jahres z. B der 10.2 ist??? (ergebnis=41)


Danke!!!
Visum
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 106



BeitragVerfasst: Sa 06.07.02 13:51 
Hi,
ich hab das so gemacht. Hab leider keine Ahnung, ob man es besser machen kann ;). Das Datum muss hier das Format TT.MM haben.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
function tag:integer;
var monat:integer;

begin
tag:=StrToInt(EdDatum.Text[1]+EdDatum.Text[2]);
monat:=StrToint(EdDatum.Text[4]+EdDatum.Text[5]);

case monat of
2: tag:=tag+31;
3: tag:=tag+31+28;
4: tag:=tag+31+28+31;
5: tag:=tag+31+28+31+30;
6: tag:=tag+31+28+31+30+31;
7: tag:=tag+31+28+31+30+31+30;
8: tag:=tag+31+28+31+30+31+30+31;
9: tag:=tag+31+28+31+30+31+30+31+31;
10: tag:=tag+31+28+31+30+31+30+31+31+30;
11: tag:=tag+31+28+31+30+31+30+31+31+30+31;
12: tag:=tag+31+28+31+30+31+30+31+31+30+31+30;
end;
end;


Visum
Tom
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 06.07.02 14:06 
Visum hat folgendes geschrieben:
Hab leider keine Ahnung, ob man es besser machen kann

Die Funktion versagt spätestens in einem Schaltjahr.

Gruß Tom
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 06.07.02 14:37 
Hallo,

auf anhieb fällt mir nichts Besseres ein als das:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
function DayOfYear(aDate: tDateTime): Integer;
  VAR
    Jahr, Monat, Tag : WORD;
begin
  DecodeDate(aDate, Jahr, Monat, Tag);
  result := Trunc(aDate -  EncodeDate(Jahr, 1, 1));
end; // Day Of Yeat


Gruß
Klabautermann
Pit
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: Mo 08.07.02 10:10 


Zuletzt bearbeitet von Pit am Sa 05.10.02 06:59, insgesamt 1-mal bearbeitet
damadmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Di 09.07.02 15:18 
Da benutze ich (bei Delphi6) folgende Funktion:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Die Funktion DayOfTheYear gibt die Anzahl der Tage zwischen dem angegebenen TDateTime-Wert und dem 31. Dezember des vorhergehenden Jahres an.

Unit

DateUtils

Kategorie

Datum/Zeit

function DayOfTheYear(const AValue: TDateTime): Word;

Beschreibung

Mit DayOfTheYear können Sie die Ordinalposition des Tages eines TDateTime-Werts im Jahr ermitteln. Ein TDateTime-Wert, der den 1. Januar bezeichnet, liefert also das Ergebnis 1, das Ergebnis 2 für den 2. Januar usw.

_________________
Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 09.07.02 15:24 
Gut zu wissen, dass es soetwas gibt.
In D5 ist die aber noch nicht enthalten (jedenfalls finde ich sie nicht in der hilfe ;))

Gruß
Klabautermann