![]() |
AW: Stringzerlegung in Schleife
Von welchem Typ ist Field[1] und Field[2]? Dann haste Doch schon den Fehler bei der Übergabe an ed1.text;
Edit: Um eine Datum zu zerlegen in Tag, Monat und Jahr, würde ich mir den Befehl ![]() |
AW: Stringzerlegung in Schleife
Zitat:
Delphi-Quellcode:
? wenn da als Datum '' oder '20120103' oder '03-03-88' steht, ist es klar das es rummst.
s
egal welcher Inhalt vorhanden ist, so wäre es besser: ]
Delphi-Quellcode:
Grußwhile (i<=length(s)) and (s[i]<>'.') do begin s3:=s3+s[i]; inc(i); K-H |
AW: Stringzerlegung in Schleife
mit einzelschritten läuft er ohne probleme jetzt durch.
jedoch kommt beim koplettdurchlauf die fehlermeldung: 030403040404 ist kein gültiger integerwert -> d.h. er zerlegt immernoch alle daten aus der datenbank, bevor er den ersten eintrag im stringgrid macht. danke tritzdem schon mal |
AW: Stringzerlegung in Schleife
Zitat:
Delphi-Quellcode:
Oder so:for i:=1 to length(s) do if s[i]='.' then break else s3:=s3+s[i];
Delphi-Quellcode:
i := pos('.',s);
if i<1 then i := length(s)+1; s3 := Copy(s,1,i-1); |
AW: Stringzerlegung in Schleife
Zitat:
Zitat:
Wo tritt dieser Fehler auf (Sourcecode). @Furtbichler Ich denke, das kommt darauf an wie Deine kleinen Grauen Zellen ticken. "Mach solange i nicht größer als die Länge und ungleich einem Punkt ist.." ist etwas anderes als " hole die Position von Punkt" "Wenn diese kleiner eins ist kopiere alles, sonst den string von Postion eins bis Position minus 1 " :) Gruß K-H |
AW: Stringzerlegung in Schleife
Ich weiß ja nicht warum du dich mit dem Zerlegen des Strings herumschlägst (Masochist :gruebel:)
ABer ein Datum kann man sehr schön mit den ![]() Einfach den String in ein ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
AW: Stringzerlegung in Schleife
Hab es jetzt anders gelöst. Geht jetzt alles....trotzdem danke für die mühen
Delphi-Quellcode:
procedure Tfmuanzeigen.darstellen;
var x1,x2,y1,t:integer; s,s1,s2,s3:string; begin qbefehl.Close; qbefehl.SQL.Clear; qbefehl.SQL.Add('select ma.mid,urlaub.beginn,rtrim(urlaub.dauer),urlaub.unr from ma '+ 'inner join urlaub on ma.mid = urlaub.mid '+ 'where ma.aid = '+quotedstr(a)+' order by ma.mid asc'); qbefehl.Open; qanzahl.Close; qanzahl.SQL.Clear; qanzahl.SQL.Add('select count(Urlaub.UNr) as anzahl from Urlaub '+ 'inner join ma on Urlaub.MId = ma.MId '+ 'where AId = '+quotedstr(a)); qanzahl.Open; qbefehl.first; while not qbefehl.eof do begin S:=qbefehl.Fields.Fields[1].AsString; //Datum t:=qbefehl.fields.fields[2].asinteger;//Dauer s1 := Copy(s, 0, 2); s2 := Copy(s, 4, 2); s3 := Copy(s, 7, 4); x1:=strtoint(s1); x2:=strtoint(s1); if s2 = cbmonat.Text then begin for x1:=strtoint(s1) to x1+t-1 do begin y1:=qbefehl.fields.fields[0].asinteger; sg.Cells[x2,y1]:='XXXXXXXX'; inc(x2); end; end; qbefehl.next; end; end; |
AW: Stringzerlegung in Schleife
Zitat:
|
AW: Stringzerlegung in Schleife
frankistreich gefällt mir! Stellt eine Frage, will verm. dass man ihm hilft und ignoriert alle Tipps.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 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-2025 by Thomas Breitkreuz