PfadString aufbauen
-
Ich denke das sich das so leider nicht lösen lässt.
Der Dateipfad ändert sich dynamisch und ist nicht fest in den Programmcode integriert.Soll heißen, dass ich z.B. in der Variable:
AnsiString asDateipfadmein eigentlichen Pfad als String habe; nun muss aber vor diesen String noch das
Zeichen \.Wenn ich ihm nun sage:
"\" + asDateipfadso nimmt der Compiler das nicht an das er eine unvollständige Zeichenkette daran sieht.
Wie kann ich nun zu asDateipfad das Zeichen vorne dran setzen??
-
Wie ser1al schrieb:
"\\" + Dateipfadoder
AnsiString DateiPfad = "e:\\\\BeispielOrdner\\\\Beispiel.txt"; DateiPfad = "\\" + DateiPfad;Aber wofür brauchst Du einmal normal und einmal DoppelSlash?
-
Wenn ich das "\" vor den String setze so ergibt sich bei mir folgenden String:
\\E:\\test....
ich möchste aber gerne diesen String haben:
\E:\\test
Ist wichtig für die weitere Verarbeitung!
-
und so?
String pfad = "\\"; pfad += ExtractFilePath(Application->ExeName); //ODER---------- String pfad = ExtractFilePath(Application->ExeName); pfad.Insert("\\",1);oder was genau willst du?
-
Naja dann versuch ich es nochmals zu erklären!
Ich habe eine AnsiString - Variable deklariert mit dem Namen:
AnsiString asDateiPfad;
in diese Variable wird ein String gespeichert der einen bestimmten Pfad entspricht (dieser kann sich aber mit der Zeit ändern!!)
also z.B.
E:\\Programm\\BCB\......
Nun benötige ich, dass zu diesem String, und zwar vor den Anfang des Strings, genau ein Zeichen und zwar das "\" gesetzt wird. Wegen mir kann man diesen String dann in eine zweite Variable speichern, es sollte nur folgende Gestalt haben.
****E:\\Programm\\BCB\....
Dieses Zeichen ist wichtig für die nächste Funktion, denn ohne das Zeichen erkennt er den Pfad nicht!
Normalerweiße löse ich dieses Problem einfach, indem ich folgendes mache:(im Prinzip genau das was ihr mir auch geraten habt)
asDateiPfad = "\" + asDateiPfadnur nimmt er diese Variante nicht an! Wenn ich jetzt aber "\" nehme so schreibt er mit als Ergebnis dann folgenden String:
\\E:\....
und das ist leider ein "\" zu viel!! Ich hoffe ich habe es jetzt deutlicher beschrieben! Aber schon mal danke für eure Antworten
-
also es tut mir leid, aber ich mache das eigentlich so:
"\\", damit er mir 1x \ anzeigt.....habe das gefühl wir reden aneinander vorbei.....
-
google mal nach dem Stichwort Escape-Sequenzen
-
nur mal ein beispiel:
String pfad = "\\"; pfad += ExtractFileDrive(Application->ExeName); Edit1->Text = pfad;gibt bei mir die ausgabe:
\D:
-
Da muss ich dir recht geben. Bei deinem Bsp gibt er dann auf dem Edit:
\C:.....
aus. Beim Debuggen zeigt er mir aber trotzdem die doppelten \\ an. Komisch!
-
Aber wie rostfrei schon gesagt hat, schau dir mal die escape-sequenzen an
-
skluge schrieb:
Da muss ich dir recht geben. Bei deinem Bsp gibt er dann auf dem Edit:
\C:.....
aus. Beim Debuggen zeigt er mir aber trotzdem die doppelten \\ an. Komisch!
Beim Debuggen ist das ja klar. In den Strings werden dann alle Steuerzeichen wie Zeilenumbrüche (\n \r...) und eben auch Dein Problem 'escapted' angezeigt.
Gruss