Einzelnen Beitrag anzeigen

Nimmersatt

Registriert seit: 14. Feb 2014
86 Beiträge
 
#12

AW: Was haut bei dieser Wochentagsberechnung nicht hin?

  Alt 27. Okt 2018, 13:01
Versuche es doch mal mit folgendem Code.

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);

var a,b1,b2,b3,b4,d,d1,m,i:integer;
    c:array [1..12] of integer;

    tag_im_jahr,woche,wochentag: integer;
    ttt: array[1..400] of string;

begin
   For i:=1 to 12 do c[i]:=0; // Vorbelegen des Arrays mit 0
   c[1]:=31; // Januar
   c[2]:=c[1]+28; // Februar
   c[3]:=c[2]+31; // ...
   c[4]:=c[3]+30;
   c[5]:=c[4]+31;
   c[6]:=c[5]+30;
   c[7]:=c[6]+31;
   c[8]:=c[7]+31;
   c[9]:=c[8]+30;
   c[10]:=c[9]+31;
   c[11]:=c[10]+30; // November
   
   d:=strtoint(edit2.Text); // Tag // Berechnung der Tagesanzahl
   m:=strtoint(edit3.Text); // Monat

   case m of
   1: d1:=d;
   2: d1:=c[1]+d;
   3: d1:=c[2]+d;
   4: d1:=c[3]+d;
   5: d1:=c[4]+d;
   6: d1:=c[5]+d;
   7: d1:=c[6]+d;
   8: d1:=c[7]+d;
   9: d1:=c[8]+d;
   10: d1:=c[9]+d;
   11: d1:=c[10]+d;
   12: d1:=c[11]+d;
   end;

   Tag_im_ jahr:=0;

   for woche:=1 to 53 do for wochentag:=1 to 7 do
   begin
     Tag_im_jahr:= Tag_im_jahr+1;

     if wochentag=1 then ttt[tag_im_jahr]:='Montag';
     if wochentag=2 then ttt[tag_im_jahr]:='Dienstag';
     if wochentag=3 then ttt[tag_im_jahr]:='Mittwoch';
     if wochentag=4 then ttt[tag_im_jahr]:='Donnerstag';
     if wochentag=5 then ttt[tag_im_jahr]:='Freitag';
     if wochentag=6 then ttt[tag_im_jahr]:='Sonnabend';
     if wochentag=7 then ttt[tag_im_jahr]:='Sonntag';
   end;

   label6.caption:= ttt[d1];
end;

Dem ersten Tag im Jahr wird der Montag zugewiesen, wenn nicht, dementsprechend anpassen.


mfg Nimmersatt
  Mit Zitat antworten Zitat