Autor Beitrag
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Mi 29.06.11 01:38 
Hiho :)

Mein Test auf einen gültigen UNC-Pfad (der evtl. noch nicht existiert) sieht so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
      if Pos('\\', Dummy_String) = 1 then
      begin
        Dummy_String := StringReplace(Dummy_String, '\\''\', [rfReplaceAll]);
        Dummy_String := '\' + Dummy_String;
      end;
      if Pos('\\', Dummy_String) > 1 then
        Dummy_String := StringReplace(Dummy_String, '\\''\', [rfReplaceAll]);


Dummy_String enthält eine Zeichenkette nach dem Muster:
ausblenden Quelltext
1:
//Mathias-PC/dateipfad$$/test/					


Ist meine Lösung einfacher zu erreichen, gibt es evtl. eine vorgefertige Funktion/Procedure für Delphi7 ?

Viele Grüße
~Mathias

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 29.06.11 06:21 
user profile icontrm hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
      if Pos('\\', Dummy_String) = 1 then
      begin
        Dummy_String := StringReplace(Dummy_String, '\\''\', [rfReplaceAll]);
        Dummy_String := '\' + Dummy_String;
      end;
      if Pos('\\', Dummy_String) > 1 then
        Dummy_String := StringReplace(Dummy_String, '\\''\', [rfReplaceAll]);
Also wenn am Anfang \\ steht, ersetzt du überall im String \\ durch \. Jetzt hast du also vorne nur noch ein \. Dann fügst du das zweite wieder an.
Wenn woanders im String noch einmal ein \\ vorkommt, ersetzt du doch wieder alle \\ durch ein \. Auch das erste.

Ich weiß nicht so recht was du damit testen willst, aber wichtig wäre zu testen, ob am Anfang die beiden \\ stehen und ob sonst nirgends noch einmal \\ vorkommt. Für letzteres gibt es ja PosEx.

Zudem musst du noch prüfen, dass keine ungültigen Zeichen wie : im String vorkommen.
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Mi 29.06.11 11:23 
Ich wollte eigentlich nur wissen, ob es eine Möglichkeit auf Prüfung eines gültigen UNC gibt.
Meine Methode ist ja korrekt, aber mir erscheint die ein wenig plump.

DirectoryExists kann ich leider nicht nutzen, da der Pfad, wie schon bemerkt, u.U. noch nicht existiert.

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)