Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi wochentag berechnen (https://www.delphipraxis.net/35250-wochentag-berechnen.html)

tobiasw 4. Dez 2004 13:23

Re: wochentag berechnen
 
AYear

tobiasw 4. Dez 2004 13:29

Re: wochentag berechnen
 
so das Problem wäre gelöst hatte doch tatsächlich vergessen das als Variable zu deklarieren. Wenn ich jetzt aber Tag 1, Monat 2, Jahr 2004 schreibe bekomm ich einen Fehler der heißt invalid argument to date encode

Lantis 4. Dez 2004 13:29

Re: wochentag berechnen
 
Hi, vielleicht hilft Dir das hier ein wenig.
Delphi-Quellcode:
function Wochentag(Datum:TDateTime):string;
var
  days: array[1..7] of string;
begin
  days[1] := 'Sonntag';
  days[2] := 'Montag';
  days[3] := 'Dienstag';
  days[4] := 'Mittwoch';
  days[5] := 'Donnerstag';
  days[6] := 'Freitag';
  days[7] := 'Samstag';
  Result:=(days[DayOfWeek(Datum)]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(Wochentag(Date)); //gibt den Wochentag von Heute aus
end;
Gruß Lantis

tobiasw 4. Dez 2004 13:32

Re: wochentag berechnen
 
@lantis danke das ist aus der Delphi Hilfe da bin ich auch schon drübergestolpert aber ich soll ja den Wochentag von einem belibigen tag,monat und Jahr ausgeben lasssen

Nikolas 4. Dez 2004 13:40

Re: wochentag berechnen
 
Hast du die passende Unit eingebunden?

Pr0g 4. Dez 2004 13:40

Re: wochentag berechnen
 
Bei mir geht der Code ohne Probleme:
Delphi-Quellcode:
function WochenTag(AYear, AMonth, ADay: Integer): Integer;
begin
  Result := DayOfWeek(EncodeDate(AYear, AMonth, ADay)) - 1;
  if Result = 0 then
    Result := 7;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := FloatToStr(WochenTag(2004, 12, 4));
end;
Aber warum nutzt du FoatToStr bei einem Integer? Ist doch AFAIK nur langsamer.

MfG Pr0g

tobiasw 4. Dez 2004 13:42

Re: wochentag berechnen
 
@Pr0g der Source geht ja ich will aber an der Stelle
Delphi-Quellcode:
Edit1.Text := FloatToStr(WochenTag(2004, 12, 4));
aber 2005, 12, 4 meine Edit felder berücksichtigen

jfheins 4. Dez 2004 13:47

Re: wochentag berechnen
 
Schreib halt
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage (IntToStr(WochenTag(Strtoint(e1.text), strtoint(e2.text), strtoint(e3.text))));
end;

mh166 4. Dez 2004 13:49

Re: wochentag berechnen
 
Dann mach halt:

Delphi-Quellcode:
Edit1.Text := FloatToStr(WochenTag(IntToStr(JahresEdit.Text), IntToStr(MonatsEdit.Text), IntToStr(TagesEdit.Text)));
Ein bisschen Eigeninitiative sollte man doch erwarten können... :roll:

mfg, mh166

tobiasw 4. Dez 2004 13:51

Re: wochentag berechnen
 
ja toll so hatte ich das ja
Delphi-Quellcode:
edit1.text:=(IntToStr(WochenTag(Strtoint(edit2.text), strtoint(edit3.text), strtoint(edit4.text))));
dann tritt dort ja der Fehler wie oben beschrieben auf


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr.
Seite 2 von 4     12 34      

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