Autor Beitrag
Eagle-Data
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39

WinXP SP2 (Pro), Win 2000
D5 Ent., D7 Ent.
BeitragVerfasst: Do 12.08.04 07:46 
Hi, wie der Betreff schon sagt, kann man aus einem String alle Zahlen filtern?

Also zum Beispiel aus ner Telefonnummer:

(0123) 12 345 67 -> 01231234567

oder

0123 / 1234567 -> 012301234567

Danke
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Do 12.08.04 08:20 
ausblenden Delphi-Quelltext
1:
2:
 for i:=1 to length(edit1.text) do
  if edit1.Text[i] in ['0'..'9']  then edit2.Text:=edit2.Text+edit1.Text[i];

viel spass


Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.

_________________
hans bist du das ?
Eagle-Data Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39

WinXP SP2 (Pro), Win 2000
D5 Ent., D7 Ent.
BeitragVerfasst: Do 12.08.04 08:32 
Titel: Gelöst
Ich hab bei der Delphi-Praxis was gefunden:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
type 
  TCharSet = Set of Char;

[...]

function OnlyInt(const sTemp: String; const ValidChars: TCharSet): String; 
var 
  iDest: Integer; 
  iSource: Integer; 
begin 
  SetLength(Result, Length(sTemp)); 
  iDest := 0; 
  for iSource := 1 to Length(sTemp) do 
    if sTemp[iSource] in ValidChars then 
    begin 
      Inc(iDest); 
      Result[iDest] := sTemp[iSource]; 
    end; 
  SetLength(Result, iDest); 
end; 

function NewString(const sTemp: String): String; 
begin 
  Result := OnlyInt(sTemp, ['0'..'9']) 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  ShowMessage(NewString('sdfghfdsghzf7zg87zt874tr8734trfdwgt4e87')); 
end;
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 12.08.04 09:11 
Hallo!

Die Funktion würde ich aber umbenennen. OnlyInt ist nicht der passende Bezeichner wenn man über den Parameter ValidChars jede belibige Chars angeben kann.

Gruß
Tino
raven_22
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 95

Win XP pro
D7 Enterprise
BeitragVerfasst: Fr 13.08.04 23:26 
Wie ist das hier ?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
    S,s1,s2:string;
begin
s:='4J6a7 7l765e5c7k5 m76i34c766h a56m 5A.74356.6.5,3 d7a3s ge5h6t 765j464a2';
 for i :=0 to length(s) do
  begin
  if s[i] in ['a'..'z',char(ord(' ')),char(ord('.')),char(ord(',')),'A'..'Z'] then s1:=s1+s[i];
  if s[i] in ['0'..'9'] then s2:=s2+s[i];
  end;
  edit1.Text:=s1;
  edit2.Text:=s2;
  end;

LG raven 8)

_________________
---_-= raven_22 =-_---