Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   String zerlegen (https://www.delphipraxis.net/155074-string-zerlegen.html)

Horst_ 6. Apr 2013 14:02

AW: String zerlegen
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.
Seite 5 von 5   « Erste     345   

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 by Thomas Breitkreuz