Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus - Hoe vervang je zogenaamde "offending characters" van een file of pad

1 Berichten
1 Gebruikers
0 Reactions
1,272 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2869
Topic starter  

Dit is een kleine functie die ik gemaakt heb om zogenaamde "offending characters" (tekens die niet in een bestandsnaam of directory pad mogen staan) om te zetten naar escape versies zodat jouw programma er gewoon mee kan werken.

Onder MacOS X mag je behoorlijk wat rare tekens gebruiken in een bestandsnaam of pad, maar e moet ze dan wel vaak van escape codes voorzien (slash). Als voorbeeld: een spatie wordt slash spate ( ).

Omdat er een aantal uitzonderingen zijn, heb ik er maar een kleine functie voor gemaakt.

N.b.: Ik heb dit oorspronkelijk voor MacOS X geschreven. Linux zal waarschijnlijk vergelijkbaar werken, maar voor Windows heb ik geen idee.

function EscapePath(path:string):string;
var newpath, SpecialChars:string;
    Ch:char;
begin
  SpecialChars:='!?&*@$|:;{}<>()[]`''" '; // the offending character list
  newPath:=path;
  for Ch in SpecialChars do
    newpath:=StringReplace(newpath,Ch,''+Ch,[rfReplaceAll]);
  EscapePath:=newpath;
end;              

   
BeantwoordenCiteren
Deel: