Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Datum (https://www.delphipraxis.net/86266-datum.html)

SaFu 11. Feb 2007 22:42


Datum
 
Hallo zusammen

erstmal ein dickes lob an alle die hier immer gute Tipps geben und einen sehr damit weiter helfen.

Hab mal ne frage zu DateTimePicker.

Und zwar wenn ich mir ein Datum auswähle und es in ein StrinGrid übergebe z.B ich mach es so:

Delphi-Quellcode:
  StringGrid1.Cells[0,2]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date);// Montag
  StringGrid1.Cells[0,6]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+1);
  StringGrid1.Cells[0,10]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+2);
  StringGrid1.Cells[0,14]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+3);
  StringGrid1.Cells[0,18]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+4);
  StringGrid1.Cells[0,22]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+5);// Samstag
jetzt wird das erste ausgewählte Datum in die erste Zelle übergeben das heist wenn ich einen Mittwoch aussuche wird der Mittwoch an die stelle vom Montag gesetzt.

Meine Frage kann man, wenn ich einen Mittwoch ausgesucht aber die woche von Montag bis Samstag in die Zellen übergeben lassen.

Gruss Sascha

Daniel G 11. Feb 2007 22:47

Re: Datum
 
Zitat:

Zitat von fuknersascha
Meine Frage kann man, wenn ich einen Mittwoch ausgesucht aber die woche von Montag bis Samstag in die Zellen übergeben lassen.

Ich versteh' die Frage nicht ganz... Deshalb werfe ich einfach mal die Funktion Delphi-Referenz durchsuchenStartOfTheWeek() in den Raum.. :stupid:

TonyR 11. Feb 2007 22:50

Re: Datum
 
Zitat:

Zitat von fuknersascha
Meine Frage kann man, wenn ich einen Mittwoch ausgesucht aber die woche von Montag bis Samstag in die Zellen übergeben lassen.

:gruebel:
Hä? Ich meine, es kann daran liegen, dass es schon spät ist... aber irgendwie kapier ich deine Frage absolut nicht. Hast du dich vielleicht verschrieben? Mir erscheint das nicht einmal grammatikalisch korrekt!

Edit: Daniel, du hast bei mir keine redbox hervorgerufen! Kannst du etwa zaubern? :lol:

SaFu 11. Feb 2007 23:03

Re: Datum
 
Nagut dann noch mal in meinem StringGrid Steht von oben nach unten der Wochentag Drin so:

Delphi-Quellcode:
  StringGrid1.Cells[0,1]:= 'Montag';
  StringGrid1.Cells[0,5]:= 'Dienstag';
  StringGrid1.Cells[0,9]:= 'Mittwoch';
  StringGrid1.Cells[0,13]:= 'Donnerstag';
  StringGrid1.Cells[0,17]:= 'Freitag';
  StringGrid1.Cells[0,21]:= 'Samstag';
Mit dem DatetimePicker über gebe ich der Zelle unter dem Wochentag ein ausgewähltes Datum so:

Delphi-Quellcode:
StringGrid1.Cells[0,2]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date);// Montag
StringGrid1.Cells[0,6]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+1);// Dienstag
StringGrid1.Cells[0,10]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+2);//Mittwoch
StringGrid1.Cells[0,14]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+3);// Donnerstag
StringGrid1.Cells[0,18]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+4);// Freitag
StringGrid1.Cells[0,22]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date+5);// Samstag
Wenn ich jetzt im DateTimePicker jetzt den z.B auswähle übergibt er mir das Datum vom mittwoch in die Zelle
Delphi-Quellcode:
 StringGrid1.Cells[0,2]:= FormatDateTime('dd.mm.yy',DateTimePicker1.Date);// Montag
brauch aber die Daten in der richtigen Reihenfolge

mkinzler 12. Feb 2007 05:42

Re: Datum
 
Du mußt für das gewählte Datum den Wochentag per DayOfWeek bestimmen, dann kannst du daraus den Montag dazu ermitteln

marabu 12. Feb 2007 08:16

Re: Datum
 
Guten Morgen,

Daniel hat es in Beitrag #2 doch schon auf den Punkt gebracht:

Delphi-Quellcode:
const
  COL_NUMBER = 0;
  ROW_OFFSET = 2;
var
  i, monday: Integer;
begin
  monday := Trunc(DateUtils.StartOfTheWeek(DateTimePicker.Date));
  with StringGrid do
    for i := 0 to 5 do
      Cells[COL_NUMBER, i * 4 + ROW_OFFSET]:= FormatDateTime('dd.mm.yy', monday + i);
end;
Grüße vom marabu

SaFu 12. Feb 2007 17:39

Re: Datum
 
:-D :cheers: :cheers: :hello: :party:

Danke


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