![]() |
Zeichen ersetzen
Hallo Leute, ich habe mich lange nicht mehr gemeldet, jetzt tu ich es mal wieder und nerve euch gleich mit einer doofen Frage :(
Trotzdem: Ich hoffe ihr könnt mir helfen. Also, folgendes Problem: Ich habe ein Programm für mich selbst erstellt, um Beispielsweise Dateien auf meinen FTP Server hochzuladen (Die Codes habe ich aus der Code-Library und funktionieren prächtig :-D ), jedoch will ich das Programm gerne "DAU Sicher" machen, d.H. bei der Nachfrage nach dem Namen, wie die hochzuladene Datei auf dem Server heißen soll, sollte man keine Leerzeichen verwenden (funktioniert auch nicht, ich habe es getestet). Die Nameneingabe geschieht in einem "LabelEdit". Wenn man jetzt auch "Hochladen" klickt, sollten alle vorkommenden Leerzeichen in "LabelEdit.Text" durch Unterstriche (_) ersetzt werden. Wisst ihr dafür vielleicht etwas? :zwinker: Ich wäre euch sehr dankbar. Grüße! |
Re: Zeichen ersetzen
Zitat:
![]() So als Überlegung:
Delphi-Quellcode:
Nicht getested.
function CheckCharsInString(const BadChars: array of Char; RepleaceChar: Char; Text: string): string;
var i,n : integer; begin for i := 1 to length(Text) do for n := 0 to High(BadChars) do if Text[i] = BadChars[n] then Text[i] := RepleaceChar; Result := Text; end; procedure ... var s : string; begin s := 'ABC$abc~123.ACB'; s := CheckCharsInString(['$','~','.'], '_', s); // s ist nun 'ABC_abc_123_ACB' end; |
Re: Zeichen ersetzen
oder StringReplace
|
Re: Zeichen ersetzen
Da wird aber die Funktion von Matti performanter sein, da Du sonst für jedes Zeichen einmal StringReplace aufrufen musst. Bei Matti reicht ein Aufruf für alle Zeichen.
|
Re: Zeichen ersetzen
...vorkommenden Leerzeichen in "LabelEdit.Text" durch Unterstriche (_) ersetzt werden. :wink:
ansonsten hast Du natürlich recht. |
Re: Zeichen ersetzen
Dankeschön, werd gleich mal den Code ausprobieren :)
Edit: Ich hab das jetzt mit StringReplace gemacht: Funktioniert einwandfrei. Danke für eure Hilfe! :hello: |
Re: Zeichen ersetzen
Zitat:
Mfg |
Re: Zeichen ersetzen
Manus Aussage gilt, wenn man mehrere verschiedene Zeichen gleichzeitig ersetzen möchte.
Intern funktioniert StringReplace über eine Schleife und bei mehreren Zeichen müsste man diese Funktion mehrmals aufrufen, was mehrere Schleifendurchläufe zur Folge hätte. Bei Mattis Funktion (oder bei den aus der Code-Library) geht das mit einem einzigen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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-2025 by Thomas Breitkreuz