Einzelnen Beitrag anzeigen

Horst_

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

AW: String zerlegen

  Alt 6. Apr 2013, 13:02
Hallo,


etwa in dieser Art.
Delphi-Quellcode:
uses
  sysutils,DateUtils{DaysinMonth};

var
 MonatsErster,
 MonatsLetzer,
 Urlaubsbeginn,
 Urlaubsende : TDateTime;
 i: LongInt;
 wJahr,wMonat,wTag,
 TageImMonat,suchMonat,Spalte : word;

begin
// welches Jahr haben wir.
  DecodeDate(Date(),wJahr,wMonat,wTag);
  suchMonat := 2;//StrToInt(cbmonat.Text);
  MonatsErster := EncodeDate(wJahr,suchMonat,1);
  TageImMonat := DaysInMonth(MonatsErster);
  MonatsLetzer := EncodeDate(wJahr,suchMonat,TageImMonat);

  i := 0;
  while i> 10 {not qbefehl.eof} do begin
// Urlaubsbeginn := qbefehl.Fields.Fields[1].AsDate;
// Urlaubsende := Urlaubsbeginn+qbefehl.fields.fields[2].asinteger;//+Dauer
    Urlaubsbeginn := random(2*TageImMonat)-TageImMonat + MonatsErster;
    Urlaubsende := Urlaubsbeginn + random(21);
    Writeln('Urlaubsbeginn',FormatDateTime(' dd.mm.yyyy HH:NN:SS.ZZZ',Urlaubsbeginn));
    Writeln('Urlaubsende ',FormatDateTime(' dd.mm.yyyy HH:NN:SS.ZZZ',Urlaubsende));

    if (Urlaubsbeginn <= MonatsLetzer) AND (Urlaubsende >= MonatsErster) then begin
      IF Urlaubsbeginn < MonatsErster then
        Urlaubsbeginn := MonatsErster;
      IF Urlaubsende > MonatsLetzer then
        Urlaubsende := MonatsLetzer;
// Spalte :=qbefehl.fields.fields[0].asinteger;// passende Spalte
      DecodeDate(Urlaubsbeginn,wJahr,wMonat,wTag);
      repeat // Mindestens 1 Tag
        //sg.Cells[wTag,Spalte]:='XXXXXXXX';
        //inc(wtag);
         Writeln('Urlaub ',FormatDateTime('dd.mm.yyyy HH:NN:SS.ZZZ',Urlaubsbeginn));

         Urlaubsbeginn := Urlaubsbeginn+1;
      until Urlaubsbeginn > Urlaubsende;
      inc(i);
    end;
// qbefehl.next;
     writeln;

  end;
end.

Gruß Horst
  Mit Zitat antworten Zitat