Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TRichEdit und Link (URL) mit Leerzeichen

  Alt 7. Dez 2010, 00:43
Ein Link zu einer Datei ist ja eigentlich so aufgebaut:
Code:
file://C:\Windows\System32\calc.exe
das sollte eigentlich funktionieren
Und bei einer Freigabe mit Leerzeichen so
Code:
file://Rechner/Freigabe/Langes%20Verzeichnis/Datei
So müsstest du diese Links schon vorbereitet übergeben, denn ein Leerzeichen ist nun mal schwer zu interpretieren, weil nicht eindeutig.

%SystemRoot% ist eigentlich auch kein Problem, da man hier die Environment-Variablen benutzen möchte.
Also entweder alle Environment-Variablen im Text ersetzen lassen
MyText := StringReplace( MyText, '%' + EnvVarName + '%', EnvVarVal, [ rfReplaceAll, rfIgnoreCase ] ); oder eine Funktion schreiben EnvVarName := StringBetween( MyText, '%', '%' ); und dann mit StringReplace im Text ersetzen.
Variante1 ist aber wesentlich einfacher und weniger fehlerbehaftet umzusetzen (dafür aber mehr Rechenaufwand).

Man könnte diesen Teil aber auch in die Routine auslagern, die den Link aufruft und dann nur dort beim Aufruf ersetzen lassen, denn sonst werden ja auch evtl. Teile ersetzt, die gar nicht ersetzt werden sollen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat