Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kalenderwoche aus Datum ermitteln (https://www.delphipraxis.net/111131-kalenderwoche-aus-datum-ermitteln.html)

sventeq 30. Mär 2008 10:51


Kalenderwoche aus Datum ermitteln
 
Hallo,
kann mir jemand sagen wie man aus einem Datum z.B. 23.04.2008 die entsprechende Kalenderwoche ermitteln kann?

Sven

Matze 30. Mär 2008 10:56

Re: Kalenderwoche aus Datum ermitteln
 
Hallo

Hier im Forum suchenKalenderwoche -> Code-Library: Kalenderwoche ermitteln

Grüße

SirThornberry 30. Mär 2008 11:00

Re: Kalenderwoche aus Datum ermitteln
 
In der Unit DateUtils gibt es die Funktion WeekOfTheYear

sventeq 30. Mär 2008 11:23

Re: Kalenderwoche aus Datum ermitteln
 
Zitat:

Zitat von Matze

Danke, für deine Hilfe.
Ich habe den Code bei mir eingebaut, aber ich bekomme folgende Fehlermeldung: "Record, Qbjekt oder Klassentyp erforderlich".
Was mache ich falsch?
Gruß Sven

fkerber 30. Mär 2008 11:28

Re: Kalenderwoche aus Datum ermitteln
 
Hi!

Wenn du uns zeigen würdest, wie du den Code bei dir eingebaut hast, könnte dir sicherlich besser geholfen werden...


Ciao, Frederic

Jelly 30. Mär 2008 11:29

Re: Kalenderwoche aus Datum ermitteln
 
Zitat:

Zitat von sventeq
Was mache ich falsch?

Du postest keinen Quellcode... Hellsehen kann hier keiner :zwinker:

sventeq 30. Mär 2008 11:35

Re: Kalenderwoche aus Datum ermitteln
 
Ja stimmt, den müsstet ihr schon sehen.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  function GetKW(Date: TDateTime): Integer;

und die Funktion:

function GetKW(Date: TDateTime): Integer;
var
   Day: Integer;
   Y, M, D: Word;
begin
  Day := DayOfWeek(Date) - 1;
  if (Day <= 0) then
    Day := 7;
  DecodeDate(Date + 4 - Day, Y, M, D);

  result := round(((Date + 8 - Day) - EncodeDate(Y, 1, 1)) / 7);
end;

und der Funktions aufruf:

procedure TForm1.Button1Click(Sender: TObject);
begin
  neu:=23.04.2008;
  ShowMessage('Aktuelle Kalenderwoche: ' + IntToStr(GetKW(neu));
end;

Jelly 30. Mär 2008 11:41

Re: Kalenderwoche aus Datum ermitteln
 
Zitat:

Zitat von sventeq
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
neu:=23.04.2008;
ShowMessage('Aktuelle Kalenderwoche: ' + IntToStr(GetKW(neu));
end;

Das wird so nix... Deine Datumzuweisung geht so nicht. Du kannst z.b. die Function EncodeDate benutzen.

Und editiere bitte deinen letzten Beitrag und setze den Code zwischen die [ DELPHI] / [ /DELPHI] Tags (ohne die Leerzeichen) um deinen Code sauber zu formatieren.

sventeq 30. Mär 2008 11:49

Re: Kalenderwoche aus Datum ermitteln
 
Ok, wusste ich nicht, dass man das so machen sollte. Hätte ich aber auch mal drauf kommen können, da ich Quellcode hier ja schon öfter so formatiert gesehen habe.
Gruß Sven

sventeq 30. Mär 2008 12:01

Re: Kalenderwoche aus Datum ermitteln
 
Juhu, ich habs mit der der WeekOftheYear-Funktion geschafft.
Vielen Dank für eure Hilfe und einen schönen Sonntag noch.
Gruß Sven :-D


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