Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Beliebigkeitssymbol? (https://www.delphipraxis.net/123420-beliebigkeitssymbol.html)

MaToBe 1. Nov 2008 17:06


Beliebigkeitssymbol?
 
Hallo

ich will mit folgendem Code

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  MemoIniShow.Lines[0] :=StringReplace(MemoIniShow.Lines[0], ('[' + * +  ']') , '0', [rfReplaceAll]);
end;
alle Zeichen, die eingeklammert sind (zB [ Test123 ] ) aus meinem Memo mit 0 ersetzen. Ich habe dies mit einem "Beliebigkeitszeichen" versucht, aber leider klappt das nicht.
Gibt es ein anderes "Beliebigkeitszeichen" oder muss man das Problem anders lösen?

MFG

Apollonius 1. Nov 2008 17:08

Re: Beliebigkeitssymbol?
 
Mit Delphi-eigenen Mitteln ist es nicht ganz trivial, es liefe auf eine Verbindung von PosEx und Copy hinaus. Weit eleganter geht es aber sicherlich mit Regulären Ausdrücken.

MaToBe 1. Nov 2008 17:10

Re: Beliebigkeitssymbol?
 
was meinst du mit Regilären Ausdrücken ? Feste Bezeichnungen wie Haus, Garten und Schippe ?

EEs steht aber in jeder Klammer etwas anderes.

3_of_8 1. Nov 2008 17:16

Re: Beliebigkeitssymbol?
 
http://de.wikipedia.org/wiki/Regulärer_Ausdruck

MaToBe 1. Nov 2008 17:53

Re: Beliebigkeitssymbol?
 
muss ich da wirklich wieder ne extra Komponente installieren?

Die Muhkuh 1. Nov 2008 17:59

Re: Beliebigkeitssymbol?
 
Ja

3_of_8 1. Nov 2008 18:05

Re: Beliebigkeitssymbol?
 
Müsste reichen, sich ne entsprechende Unit zu suchen und die einzubinden.

bigben37 1. Nov 2008 20:34

Re: Beliebigkeitssymbol?
 
Ich hab jetzt mal schnell ne Funktion geschrieben:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := ReplaceArea(Edit1.Text, '[', ']', '0');
end;

function TForm1.ReplaceArea(CurrentS, FromS, ToS, ReplcS: string): string;
var
  FromSPos, ToSPos: Integer;
begin
  result := '';
  FromSPos := Pos(FromS, CurrentS);
  ToSPos := Pos(ToS, CurrentS);
  while (FromSPos > 0) and (ToSPos > 0) do
    begin
      Delete(CurrentS, FromSPos, ToSPos - FromSPos + Length(ToS));  
      Insert(ReplcS, CurrentS, FromsPos);
      FromSPos := Pos(FromS, CurrentS);
      ToSPos := Pos(ToS, CurrentS);
    end;
  result := CurrentS;
end;
Wurde das so gehen?

alzaimar 1. Nov 2008 20:48

Re: Beliebigkeitssymbol?
 
Benjamin, besorg Dir eine RegularExpression-Klasse und verwende die. Reguläre Ausdrücke sind so fundamental, Du wirst, sofern Du dich weiter mit Softwareentwicklung beschäftigst nicht darum herum kommen. Je eher Du das drauf hast, desto besser.

bigben37 1. Nov 2008 22:29

Re: Beliebigkeitssymbol?
 
Ok, werd ich machen, fange gleich morgen an...

Kannst Du mir irgend eine Seite empfehlen?

MFG, Benjamin


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Seite 1 von 3  1 23   

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