Entwickler-Ecke
Windows API - DateTimePicker Wochentag auslesen
vogeste0 - Mi 20.04.05 12:07
Titel: DateTimePicker Wochentag auslesen
Hallo *ALL,
also zunächst möchte ich mich kurz Vorstellen (gehört sich glaube ich so!). Ich bin neu im Delphi-Forum und Schüler einer Technikerschule. Für ein Projekt der Schule schreibe ich ein Programm zur Arbeitszeiterfassung. Leider bin ich noch ein
Frischling im Delphi-Programmieren. Die wichtigsten Dinge habe ich schon herausbekommen, jedoch muss ich Euch hier mit einer
für Profis wahrscheinlich sinnlosen Frage nerven.
Ich habe bei der Arbeitszeiterfassung ein DateTimePicker eingesetzt. Dieser wird beim Öffnen des Formulars auf das aktuelle Datum gesetzt.
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.DateTime(Sender: TObject); begin DateTimePicker1.Date := now; filltextgrid end; |
Weiterhin wird der Wert aus dem DateTimePicker später mit in eine Textfile geschrieben.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.SaveClick(Sender: TObject); var Datei:TStringlist; var Zeile:String; begin
Datei:=TStringlist.Create; Zeile:=DateToStr(DateTimePicker1.Date) + '=' + ComboBox1.Text + ',' + ComboBox2.Text + ',' + ComboBox3.Text + ',' + ComboBox4.Text;
If FileExists(ExtractFilePath(Application.ExeName)+'arbeitszeit.txt') then Datei.LoadFromFile(ExtractFilePath(Application.ExeName)+'arbeitszeit.txt');
Datei.Values[DateToStr(DateTimePicker1.Date)]:= ComboBox1.Text + ',' + ComboBox2.Text + ',' + ComboBox3.Text + ',' + ComboBox4.Text;
Datei.SaveToFile(ExtractFilePath(Application.ExeName)+'arbeitszeit.txt');
Datei.Free; end; end; |
Jetzt die eigentliche Frage: Es stellt kein Problem dar, den Datumswert in die Textfile zu übertragen, jetzt möchte ich jedoch den
Wochentag (Mo; Di; usw.) zusätzlich in die Textfile speichern. Was muss ich dazu tun?
Bitte leicht verständliche Antworten, da ich noch ganz am Anfang der Delphi-Evolutionskette stehe.
Danke und Gruß
:? vogeste0
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.
jasocul - Mi 20.04.05 12:11
:welcome: im DF.
In Delphi gibt es ein Funktion DayOfTheWeek iirc.
Die sollte dir das passende liefern.
vogeste0 - Mi 20.04.05 12:34
Titel: Re: Antwort von jasocul
Hallo jasocul,
danke für die schnelle Antwort. DayofWeek ist ok, habe ich schon einmal in einem Beispielprogramm gesehen, jedoch verstehe ich nicht wie ich die DayOfWeek Geschichte aus dem DateTimePicker herausbekomme! Kannst Du mir ein kurzes Code-Beispiel geben? Das würde mir sehr helfen. Denn zur Zeit ist nix verstehn in Athen angesagt.
Danke
vogeste0 :?:
jasocul - Mi 20.04.05 12:46
Einmal auf die Schnelle:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button2Click(Sender: TObject); var DOW : String; begin case DayOfWeek(DateTimePicker1.Date) of 7 : DOW := 'SA'; 1 : DOW := 'SO'; 2 : DOW := 'MO'; 3 : DOW := 'DI'; 4 : DOW := 'MI'; 5 : DOW := 'DO'; 6 : DOW := 'FR'; end; ShowMessage(dow); end; |
Ich habe nicht alle Wochentage geprüft. Evtl ist ein Index noch falsch.
Besser wäre es, wenn du dir eine vernünftige Funktion davon machst.
vogeste0 - Mi 20.04.05 12:58
Titel: Re: Bitte ein kurzes Codebeispiel
Hallo jasocul, hallo alias5000,
ihr habt mir sehr geholfen. Jasocul, danke für das kurze Code-Beispiel.
Alias5000, danke für den Link-Hinweis, diese Seite kannte ich noch nicht.
Gruß
vogeste0
jasocul - Mi 20.04.05 12:59
Habe gerade festgestellt, dass der Wert für Samstag 7 sein muss. Oben im Source schon korrigiert.
vogeste0 - Mi 20.04.05 13:59
Titel: Re: Danke Danke
Hallo Jasocul,
echt super, jetzt funktioniert es einwandfrei. Ich habe den Code schon eingebastelt. Beim Testen war mir das mit dem Samstag auch aufgefallen, jedoch wusste ich nicht wie simple der Fehler jetzt zu beseitigen geht. Ich dachte schon wieder viel zu umständlich.
super super
Gruß
vogeste0 :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!