![]() |
TeilString aus Stringliste Löschen
Hallo,
ich habe eine Stringliste, mit vielen Einträgen. Jede Liste enthält auf jedenfall irgendwo ein Komma und alles bis zum Komma einschliesslich möchte ich aus dem einzelnen String löschen, wie mache ich das? Gruss Susanne |
Re: TeilString aus Stringliste Löschen
Hallo!
Delphi-Quellcode:
s enthält dann den string "bbbbb".
procedure TForm1.FormCreate(Sender: TObject);
var s: string; begin s:='aaaaaaaaaa,bbbbb'; s:=Copy(s,Pos(',',s)+1,Length(s)); end; |
Re: TeilString aus Stringliste Löschen
Hallo,
gut, in s steht nun alles was nach dem Doppelpunkt kommt. Ich möchte jetzt aber auch nur noch 12345678 einlesen, alles was danach kommt nicht mehr. Wie mache ich das? Irgendwas mit pos und er soll die Stelle suchen, wo das nächste Zeichen ist keine Zahl mehr? Wie mache ich das?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var s: string; begin s:='bbbb : 12345678_sged 233'; s:=Copy(s,Pos(':',s)+1,Length(s)); s:='12345678_sged 233'; end; |
Re: TeilString aus Stringliste Löschen
Suche mal in der OH nach
![]() |
Re: TeilString aus Stringliste Löschen
Zitat:
|
Re: TeilString aus Stringliste Löschen
ich hab in der Hilfe geguckt, werde aber nicht schlau aus val oder delete, vielleicht ein Beispiel oder noch ein paar Tips?
|
Re: TeilString aus Stringliste Löschen
Zitat:
Delphi-Quellcode:
[Edit]Wenn in der Variabel code eine Wert >0 steht gibt dieser die Position+1 im String an bei der die Umwandlung fehlgeschlagen ist. In deinem Fall also das erste Zeichen welches keine Zahl ist.
procedure TForm1.Button2Click(Sender: TObject);
var s: string; code : Integer; zahl : Integer; begin s:='bbbb : 12345678_sged 233'; s:=Copy(s,Pos(':',s)+1,Length(s)); val (s,zahl,code); // Es wird versucht einen String in eine Zahl zu wandeln if (code = 0) then // String konnte in eine Zahl umgewandelt werden begin ShowMessage (IntToStr (zahl)); end else begin s := Copy (s,1,code-1); ShowMessage ('Ohne Zeichen ist es' + s); end; end; |
Re: TeilString aus Stringliste Löschen
Zitat:
Delphi-Quellcode:
(kann noch Fehler enthalten, hab das jetzt mal schnell Quick&Dirty ohne Delphi gemacht)
procedure TForm1.Button2Click(Sender: TObject);
var s: string; code : Integer; zahl : Integer; I : Integer; begin s:='bbbb : 12345678_sged 233'; s:=Copy(s,Pos(':',s)+1,Length(s)); //alles vorm Doppelpunkt löschen s:= trim(s); //leerzeichen löschen for I:=0 to length(s) do begin //jedes Zeichen testen, ob Zahl if not (S[i] in ('1'..'9','0')) then begin s := copy(s,1,I-1); //alles in s kopieren was Zahl ist Break; end; end; end; |
Re: TeilString aus Stringliste Löschen
danke, hat damit geklappt und ich hab es jetzt auch verstanden :mrgreen:
|
Re: TeilString aus Stringliste Löschen
Zitat:
eine Frage: Hast Du die Funktionsweise von Val verstanden oder den Code von Robert? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 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