![]() |
datetimepicker.date in schleife verwenden
hi leute,
ich will einen kalender generieren und in eine accessdb schreiben. der zeitraum für den kalender soll durch zwei datetimepicker ausgewählt werden. dann soll für jeden tag im zeitraum ermittelt werden was es für ein tag ist(mo,di,mi,do,fr,sa,so).will nämlivh herausfinden, ob es sich hierbei um einen arbeitstag handelt... leider scheiter ich schon das erste mal, wenn ich die datetimepicker.date zuweisen will. ich weiß, dass es datetostr() gibt, aber für die schleife brauche ich doch integer, oder?
Code:
procedure TForm.Button1Click(Sender: TObject);
var von, bis :Integer; begin von := DateTimePicker2.Date; bis := DateTimePicker3.Date; while von < bis do begin ... // von hochzählen end; end; |
Re: datetimepicker.date in schleife verwenden
Für den Wochentag gibt es die DayOfWeek Funktion.
Ansonsten kannst du es einfach wie ein integer hochzählen:
Delphi-Quellcode:
procedure TForm.Button1Click(Sender: TObject);
var von, bis :Integer; begin von := DateTimePicker2.Date; bis := DateTimePicker3.Date; while von < bis do begin ... Inc(von); end; end; |
Re: datetimepicker.date in schleife verwenden
So gehts:
Code:
Ein TDateTime-Wert gibt an wie viele Tage seit dem 30.12.1899 vergangen sind. Das heißt, eine Erhöhung dieses INTEGER-Werts um 1 bedeutet eine Erhöhung um 1 Tag. Die Zeit wird dann in Dezimalstellen angegeben (0.5=12h), nur falls es dich interessiert
procedure TForm.Button1Click(Sender: TObject);
begin while DateTimePicker2.Date < DateTimePicker3.Date do DateTimePicker2.Date := DateTimePicker2.Date+1; end; |
Re: datetimepicker.date in schleife verwenden
Zitat:
|
Re: datetimepicker.date in schleife verwenden
Schau mal was die OH dazu sagt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ADate: TDateTime; days: array[1..7] of string; begin days[1] := 'Sunday'; days[2] := 'Monday'; days[3] := 'Tuesday'; days[4] := 'Wednesday'; days[5] := 'Thursday'; days[6] := 'Friday'; days[7] := 'Saturday'; ADate := StrToDate(Edit1.Text); ShowMessage(Edit1.Text + ' is a ' + days[DayOfWeek(ADate)]; end; |
Re: datetimepicker.date in schleife verwenden
Zitat:
|
Re: datetimepicker.date in schleife verwenden
Hallo jschade,
so mußt Du es machen
Delphi-Quellcode:
bye
von := von + 1;
|
Re: datetimepicker.date in schleife verwenden
War ungetestet, mußt du so (wie alcaeus) machen:
Delphi-Quellcode:
var von, bis: TDateTime;
begin von := DateTimePicker1.Date; bis := DateTimePicker2.Date; while von < bis do begin von := von + 1; end; |
Re: datetimepicker.date in schleife verwenden
Liste der Anhänge anzeigen (Anzahl: 1)
Huhu,
habe mal was zusammengebastelt . Hoff du kannst damit etwas anfangen. Viel Spaß ... Gruss TimmA. |
Re: datetimepicker.date in schleife verwenden
danke leute,
wusste nur nicht, dass man mit date-variablen so rechnen kann wie mit integer. so funzt es natürlich auch bei mir :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz