Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sonderzeichen in Strings und diese abfragen (https://www.delphipraxis.net/43350-sonderzeichen-strings-und-diese-abfragen.html)

Yheeky 2. Apr 2005 14:05


Sonderzeichen in Strings und diese abfragen
 
Hi,

man darf ja in keinem Windows Verzeichnis die Sonderzeichen "" verwenden. Ich möchte nun Strings abfragen, ob sich Sonderzeichen in ihnen befinden. Bisher mache ich das so:

Code:
[...]
if SmartListView1.Items[I].SubItems[2] = '/' then
Result := StringReplace(SmartListView1.Items[I].SubItems[2], '/', '', [rfReplaceAll]);
if SmartListView1.Items[I].SubItems[2] = '\' then
Result := StringReplace(SmartListView1.Items[I].SubItems[2], '\', '', [rfReplaceAll]);
.
.
.
[...]
Wie kann ich das Allgemein abfragen? Vielleicht mit einem Array?

Gruß Yheeky

DGL-luke 2. Apr 2005 14:28

Re: Sonderzeichen in Strings und diese abfragen
 
dafür könntest du meine explode-funktion etwas zweckenfremden.



Delphi-Quellcode:
type TCharSet = Set of Char;
Delphi-Quellcode:
procedure explode(s:string;delim:TCharSet;var res:TStringList); overload;

function countchars(s:string;c:char):integer;
var i:integer;
begin
result:=0;
 for i:= 1 to length(s) do
  if s[i]=c then result:=result+1;
end;

var i:integer;
    index,count: integer;
    aindex:integer;
begin
res.Clear;
index:=1;
aindex:=0;
count:=0;
for i:=1 to length(s) do
 begin
  if (s[i] in delim) then
   begin
    res.Add( copy(s,index,count) );

    index:=index+count+1;
    aindex:=aindex+1;
    count:=0;
   end
   else begin
     if i=length(s) then res.add(copy(s,index,count+3))
     else count:=count+1;
    end;
 end;
end;


wenn du in dieser funktion nun deinen string und alle nicht gewünschten zeichen übergibst, kriegst du in deinem stringlist.text den string komplett ohnedie zeichen wieder zurück.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 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