Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kalender, Formel (https://www.delphipraxis.net/182249-kalender-formel.html)

fckHennes 13. Okt 2014 12:32

Kalender, Formel
 
Hallo,

ich muss in einem Projekt den Datum-Endtermin nach x Wiederholungen
berechnen.

z.b. Starttag 13.10.2014
Termine in jeder Woche, immer am Montag,Dienstag,Mittwoch
und der Endtermin soll dann nach 10 Terminen erreicht sein

das wäre in dem Beispiel der 03.11.2014

oder Termine alle 2 Wochen, immer am Montag,Dienstag,Mittwoch

das wäre dann in dem Beispiel der 24.11.2014

Kennt jemand von Euch eine Formel, um sowas zu berechnen oder hat
jemand von Euch evtl. einen Codeteil für mich, der das löst ?

Danke.

Gruß
M.

Whookie 13. Okt 2014 12:38

AW: Kalender, Formel
 
Vielleicht schaust du die die Hilfe zu System.DateUtils an?

Bjoerk 13. Okt 2014 12:40

AW: Kalender, Formel
 
Z.B. in der DateUtils gibt's IncDay und Co.

LG
Thomas

fckHennes 13. Okt 2014 12:58

AW: Kalender, Formel
 
Habe das folgendermassen probiert,

Delphi-Quellcode:
while Terminzaehler-AngeklickteTage > 0 do
  begin
    Endedatum.date:=IncWeek(Starttag,Wochenrhythmus);
    Startttag:=Endedatum.date;
    dec(Terminzaehler,AngeklickteTage);
    hv:=Terminzaehler-AngeklickteTage;
  end;
if hv < 0 then
  Endedatum.date:=endedatum.date-(hv*-1);
Das klappt, wenn die Tage hintereinander liegen, leider
aber nicht, wenn es z.b. Monatg,Mittwoch und Donnerstag
angewählt wurde

Bjoerk 13. Okt 2014 13:09

AW: Kalender, Formel
 
Wieviele Tage sind es von Montag bis Mittwoch bis Donnerstag bis Montag? Du schaffst das. :wink:

fckHennes 13. Okt 2014 13:23

AW: Kalender, Formel
 
Steh irgendwie auf der Leitung oder Seh den Wald vor lauter
Bäumen nicht mehr heute :roll:

Bjoerk 13. Okt 2014 13:43

AW: Kalender, Formel
 
Delphi-Quellcode:
var
  Date: TDateTime;
begin
  Date := StrToDate('13.10.2014');

  Date := IncDay(Date, 2);
  Showmessage(DateToStr(Date));

  Date := IncDay(Date, -2);
  Showmessage(DateToStr(Date));
end;

Blup 13. Okt 2014 15:04

AW: Kalender, Formel
 
Auf einfachste Art:
Delphi-Quellcode:
function IsTermin(ADatum: TDateTime);
begin
  // hier z.B. mit DayOfWeek testen
end;

function LetzterTermin(AErsterTermin: TDateTime; AAnzahlTermine: Integer): TDateTime;
begin
  Result := AErsterTermin - 1;
  repeat
    Result := Result + 1;
    if IsTermin(Result) then
      Dec(AAnzahlTermine);
  until (AAnzahlTermine = 0);
end;

fckHennes 14. Okt 2014 07:05

AW: Kalender, Formel
 
Hallo,

Klappt. :-D

Stand wirklich auf dem Schlauch gestern.

Danke.

Gruß
M.


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