Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Backslash in Slash umwandeln (https://www.delphipraxis.net/42414-backslash-slash-umwandeln.html)

Voltzi 18. Mär 2005 14:02


Backslash in Slash umwandeln
 
Hallo Leute!

Habe folgendes Problem:
Ich habe einen Pfad in der Variable "path" und im Edit-Feld.
Delphi-Quellcode:
if selectdirectory('Wählen Sie das Verzeichnis aus:','',path) then EdtPath.Text := path;
Der Pfad sieht z.B. folgendermaßen aus: "C:\Dokumente und Einstellungen\Administrator"

Mein Problem liegt darin, dass statt den Backslash jeweils ein Slash stehen muss, sonst funktioniert meine SQL-Anweisung nicht.
Wie kann ich den Backslash in einem Slash umwandeln???

Danke im voraus

MFG
Voltzi

himitsu 18. Mär 2005 14:05

Re: Backslash in Slash umwandeln
 
StringReplace?

Antigo 18. Mär 2005 14:06

Re: Backslash in Slash umwandeln
 
Ich würds ja ganz blöd machen und den Pfad in nen String einlesen un folgendes machen:
Delphi-Quellcode:
for i:=1 to length(pfad) do begin
 if pfad[i]='\' then pfad[i]:='/';
end;

alcaeus 18. Mär 2005 14:08

Re: Backslash in Slash umwandeln
 
Hallo voltzi,

du musst nicht notwaendigerweisse einen Slash drausmachen, du musst den Backslash nur escapen: Dazu einfach StringReplace drueberlaufen lassen, und '\' mit '\\' ersetzen.

Greetz
alcaeus

Voltzi 18. Mär 2005 14:15

Re: Backslash in Slash umwandeln
 
1. Wie funktioniert StringReplace?? Vor allem das mit dem Flags??
ein Beispiel wäre ganz nett

2. @Antigo deine Idee funktioniert

Würde trotzdem ganz gerne das mit dem StringReplace wissen.

MFG
Voltzi

Matze 18. Mär 2005 14:17

Re: Backslash in Slash umwandeln
 
Um alle Vorkommen zu ersetzen, gehst du folgendermaßen vor:

Delphi-Quellcode:
String := StringReplace('\', '/', [rfReplaceAll]);
oder, wie von ALcaeus vorgeschlagen:

Delphi-Quellcode:
String := StringReplace('\', '\\', [rfReplaceAll]);

Voltzi 18. Mär 2005 14:18

Re: Backslash in Slash umwandeln
 
Danke für eure Hilfe!

MFG
Voltzi

Antigo 18. Mär 2005 14:19

Re: Backslash in Slash umwandeln
 
Zitat:

Zitat von Matze
Um alle Vorkommen zu ersetzen, gehst du folgendermaßen vor:

Delphi-Quellcode:
String := StringReplace('\', '/', [rfReplaceAll]);
oder, wie von ALcaeus vorgeschlagen:

Delphi-Quellcode:
String := StringReplace('\', '\\', [rfReplaceAll]);

sowas hatte ich auch schon gesucht. Ich als "alter" Pascaler bin esirgendwie gewöhnt das von Hand zu machen, obwohl es da so schön vorgefertigte Sachen gibt :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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