Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TeilString aus Stringliste Löschen (https://www.delphipraxis.net/29450-teilstring-aus-stringliste-loeschen.html)

Susanne 9. Sep 2004 10:50


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

zappel 9. Sep 2004 11:07

Re: TeilString aus Stringliste Löschen
 
Hallo!
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  s: string;
begin
  s:='aaaaaaaaaa,bbbbb';
  s:=Copy(s,Pos(',',s)+1,Length(s));
end;
s enthält dann den string "bbbbb".

Susanne 10. Sep 2004 10:27

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;

mytar 10. Sep 2004 10:30

Re: TeilString aus Stringliste Löschen
 
Suche mal in der OH nach Delphi-Referenz durchsuchenDelete()! :-D

Sharky 10. Sep 2004 10:33

Re: TeilString aus Stringliste Löschen
 
Zitat:

Zitat von mytar
Suche mal in der OH nach Delphi-Referenz durchsuchenDelete()! :-D

Um festezustellen welchen Zeichen keine Zahl mehr ist empfehle ich Dir die Funtion Val

Susanne 10. Sep 2004 11:06

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?

Sharky 10. Sep 2004 11:08

Re: TeilString aus Stringliste Löschen
 
Zitat:

Zitat von Susanne
... vielleicht ein Beispiel oder noch ein paar Tips?

Büdde:
Delphi-Quellcode:
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;
[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.

Spezi1980 10. Sep 2004 12:04

Re: TeilString aus Stringliste Löschen
 
Zitat:

Zitat von Sharky
Zitat:

Zitat von Susanne
... vielleicht ein Beispiel oder noch ein paar Tips?

Delphi-Quellcode:
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;

oder so:

Delphi-Quellcode:
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;
(kann noch Fehler enthalten, hab das jetzt mal schnell Quick&Dirty ohne Delphi gemacht)

Susanne 10. Sep 2004 12:16

Re: TeilString aus Stringliste Löschen
 
danke, hat damit geklappt und ich hab es jetzt auch verstanden :mrgreen:

Sharky 10. Sep 2004 19:17

Re: TeilString aus Stringliste Löschen
 
Zitat:

Zitat von Susanne
danke, hat damit geklappt und ich hab es jetzt auch verstanden :mrgreen:

Hai Susanne,
eine Frage: Hast Du die Funktionsweise von Val verstanden oder den Code von Robert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz