Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aus einem String das letzte Zeichen löschen (https://www.delphipraxis.net/8953-aus-einem-string-das-letzte-zeichen-loeschen.html)

Rapthor 15. Sep 2003 19:53


Aus einem String das letzte Zeichen löschen
 
Hallo,
wie kann ich überprüfen ob ein String als letztes Zeichen ein "\" hat und wenn ja, dass es automatisch gelöscht wird, aber den Teil davor unberührt lässt?

sakura 15. Sep 2003 19:55

Re: Aus einem String das letzte Zeichen löschen
 
Hi, ist ganz einfach, hier mal mit allen Sicherheitsbafragen.

Delphi-Quellcode:
if Length(aString) > 0 then
  if AnsiLastChar(aString)^ = '\' then
    SetLength(aString, Pred(Length(aString)));
...:cat:...

Chewie 15. Sep 2003 19:58

Re: Aus einem String das letzte Zeichen löschen
 
Prüfen, ob letztes Zeichen '\' ist:
Delphi-Quellcode:
if s[Length(s)] = '\' then //...
Letztes Zeichen löschen:
Delphi-Quellcode:
Delete(s, Length(s), 1);
Andere Möglichkeit: Mit ExtractFileDir bekommt man die Pfadangabe ohne das abschließende Slash/Backslash. Wenns dir also da rum geht, nimm am besten ExtractFileDir.

Rapthor 15. Sep 2003 20:00

Re: Aus einem String das letzte Zeichen löschen
 
Nach folgendem Code

Delphi-Quellcode:
if AnsiLastChar(Edit2.Text)^ = '\' then SetLength(Edit2.Text, Pred(Length(Edit2.Text)));
.. gibt er mir diese Meldung:

"Constant object cannot be passed as var parameter"

sakura 15. Sep 2003 20:02

Re: Aus einem String das letzte Zeichen löschen
 
Das liegt an SetLength, welches nur Variablen annimmt und keine Objekt-Eigenschaften.

Delphi-Quellcode:
if AnsiLastChar(Edit2.Text)^ = '\' then
  Edit2.Text := Copy(Edit2.Text, 1, Pred(Length(Edit2.Text));
...:cat:...

Chewie 15. Sep 2003 20:02

Re: Aus einem String das letzte Zeichen löschen
 
Hi, versuch mal das:

Delphi-Quellcode:
var
  s: String;
begin
  s := Edit1.Text;
  if AnsiLastChar(s)^ = '\' then SetLength(s, Pred(Length(s)));
Edit: Zu spät :cry:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.

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