![]() |
AW: Eine Pfadangabe "säubern"?
Zitat:
Gruß K-H |
AW: Eine Pfadangabe "säubern"?
Ein richtiger Pfad ist noch lange nicht gültig.
Gut wäre es, wenn die Pfade beim Eingeben validiert werden. Sie nachträglich zu bereinigen ist problematisch, weil du da raten musst, was gemeint sein könnte. Ein ":" im Pfad ist sicher falsch, aber ev. war ja das "L" darüber gemeint - ein Entfernen des ":" macht den Code also sicher nicht gültig - obwohl syntaktisch richtig. |
AW: Eine Pfadangabe "säubern"?
Das ist gut zu wissen. Ich sollte dem Windows-Explorer weniger Beachtung schenken.
Dann kann das hier ja schon einmal raus
Delphi-Quellcode:
Auch geändert habe ich das hier
while Pos('\ ', aPath) > 0 do
aPath := StringReplace(aPath, '\ ', '\', [rfReplaceAll]);
Delphi-Quellcode:
// bIsNetworkPath := Copy(aPath, 1, 2) = '\\';
bIsNetworkPath := IsUNCPathEx(aPath);
Delphi-Quellcode:
// (teils aus der DP-Suche)
function IsUNCPathEx(aPath: string): Boolean; begin // true: aPath = \\server\path, \\?\server\path or \\?\UNC\server\path Result := GetUNCPrefix(aPath) <> ''; end; function GetUNCPrefix(aPath: string): string; begin Result := ''; case GetExtendedPrefix(aPath) of pptExtended: Result := '\\?\'; pptExtendedUNC: Result := '\\?\UNC\' else if Copy(aPath, 1, 2) = '\\' then Result := '\\'; end; end; |
AW: Eine Pfadangabe "säubern"?
Ich hätte da noch was:
Code:
(ist ein gültiges und vorhandenes Verzeichnis)
\\.\%tmp%\123.zip
oder
Code:
Gruß
\\.\D:\
K-H |
AW: Eine Pfadangabe "säubern"?
Kommt man damit ins Temp-Verzeichnis? Nehme ich mal stark an
|
AW: Eine Pfadangabe "säubern"?
Zitat:
übrigens
Code:
funktioniert auch!
"c:/Daten/Temperaturen"
Gruß K-H |
AW: Eine Pfadangabe "säubern"?
Das
Delphi-Quellcode:
kannst du weglassen, weil du ja schon ein rfReplaceAll drin hast....
while Pos(....)
|
AW: Eine Pfadangabe "säubern"?
|
AW: Eine Pfadangabe "säubern"?
Zitat:
Teste mal folgenden Code:
Delphi-Quellcode:
...:cat:...
procedure TestWhile;
var SomeText: string; const SOURCE = 'ab\\\cd'; begin SomeText := SOURCE; while Pos('\\', SomeText) > 0 do SomeText := StringReplace(SomeText, '\\', '\', [rfReplaceAll]); Writeln('WHILE: ', SomeText); SomeText := SOURCE; SomeText := StringReplace(SomeText, '\\', '\', [rfReplaceAll]); Writeln('DIRECT: ', SomeText); end; |
AW: Eine Pfadangabe "säubern"?
Schuss ins Blaue:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 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