AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichen ersetzen

Ein Thema von FreakLitkowsky · begonnen am 29. Mär 2008 · letzter Beitrag vom 30. Mär 2008
Antwort Antwort
Benutzerbild von FreakLitkowsky
FreakLitkowsky

Registriert seit: 2. Jan 2007
50 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeichen ersetzen

  Alt 29. Mär 2008, 04:57
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 ), 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?


Ich wäre euch sehr dankbar.


Grüße!
Euer FreakLitkowsky
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Zeichen ersetzen

  Alt 29. Mär 2008, 06:54
Zitat von FreakLitkowsky:
Wisst ihr dafür vielleicht etwas?
Japp, 2 min Zeit für die Suche der DP. Hier im Forum suchenZeichen AND ersetzen


So als Überlegung:

Delphi-Quellcode:
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;
Nicht getested.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zeichen ersetzen

  Alt 29. Mär 2008, 06:56
oder StringReplace
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Zeichen ersetzen

  Alt 29. Mär 2008, 11:00
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.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Zeichen ersetzen

  Alt 29. Mär 2008, 11:08
...vorkommenden Leerzeichen in "LabelEdit.Text" durch Unterstriche (_) ersetzt werden.
ansonsten hast Du natürlich recht.
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von FreakLitkowsky
FreakLitkowsky

Registriert seit: 2. Jan 2007
50 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Zeichen ersetzen

  Alt 30. Mär 2008, 07:11
Dankeschön, werd gleich mal den Code ausprobieren

Edit: Ich hab das jetzt mit StringReplace gemacht: Funktioniert einwandfrei. Danke für eure Hilfe!
Euer FreakLitkowsky
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Zeichen ersetzen

  Alt 30. Mär 2008, 09:30
Zitat von Die Muhkuh:
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.
Wieso? Stringreplace mit rfReplaceAll?

Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Zeichen ersetzen

  Alt 30. Mär 2008, 10:18
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz