![]() |
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. |
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