Einzelnen Beitrag anzeigen

Horst_

Registriert seit: 22. Jul 2004
Ort: Münster Osnabrück
116 Beiträge
 
#39

AW: String zerlegen

  Alt 6. Apr 2013, 11:40
Hallo,

DecodeDate(StrToDateTime(qbefehl.Fields.Fields[1].AsString), s3, s2, s1); Macht wenig Sinn, da s1,s2,s3 Strings sind, aber dass lässt sich ja ändern.

Muss man dann aber nicht aufpassen, ob dass richtige Format StrtoDateTime bei ...AsString herauskommt.
Wenn Fields[1] vom Typ ein Datum ist, kann man es sicher direkt mit AsDate
umformen.Zudem muss man vielleicht noch beachten, das der Urlaub auch über das Monatsende/Jahr hinausgehen kann.
Was macht man, wenn der Urlaub/Elternzeit im Vormonat/ Vorjahr beginnt?? Vielleicht wäre es angebrachter, statt der Dauer das Enddatum zu speichern.

Delphi-Quellcode:
suchMonat := StrToInt(cbmonat.Text);

while not qbefehl.eof do
begin
  StartDatum := qbefehl.Fields.Fields[1].AsDate;// TDateTime;
  DecodeDate(StartDatum, wJahr, wMonat,wTag);
  if wMonat = suchMonat then begin
    y1:=qbefehl.fields.fields[0].asinteger;// passende Spalte
    t :=qbefehl.fields.fields[2].asinteger;// Dauer in Tagen
    t := t+wTag;
    IF t > DaysInMonth(StartDatum) then
      t := DaysInMonth(StartDatum);
    DaysInMonth(Now)
    for i:= wTag to t do
       sg.Cells[i,y1]:='XXXXXXXX';
   end;
  qbefehl.next;
end;
  Mit Zitat antworten Zitat