Hi
Letzter Vorschlag war ja nicht schlecht, aber eben etwas unvollständig. Im Grundgerüst können wir schon den Code lassen, aber wenn du zusammenhängende Zahlen erkennen und in ein Array schreiben willst, dann solltest du auch mal ganz einfach und unkompliziert daran denken, wie du aus dem Text die Zahlen filterst. Genau das ist mit einem PC nachzubilden...
also:
es existiert ein globales Array Z für die Zahlen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
len : Integer;
i : integer;
j : Integer;
s : string;
ZahlStr : String;
begin
j := 1; // Zeiger auf 1. Arrayfeld
s:=edit1.text; // hab ich mal so übernommen
ZahlStr:=''; // der ist ersmal ganz leer
len := Length( s ); // nun hab ich die Anzahl der Zeichen im String
for i := 1 to len do // und damit untersuch ich jedes einzelne Zeichem
begin
if( s[ i ] in [ '0'..'9' ] ) then ZahlStr:=ZahlStr+'s[i]; // wenn Zahl dann an den Zahlstr
If (ZahlStr<>'') and (( S[i]<'0') or ( S]i]>'9') or (i=Len)) then // hier den Wechsel von Zahl auf Char erkennen
begin
Z[j]:=ZahlStr; // und Zahlstr ins Array eintragen
ZahlStr:=''; // Zahlstr wieder leeren
Inc(j); // Index vom Array erhöhen....
end;
end;
end;
die Abfrage erklär ich mal:
Delphi-Quellcode:
If (ZahlStr<>'') // Zahlstr ist nicht leer, das gilt immer
and
(( S[i]<'0') // Zeichen ist <'0' also unterhalb vom Zahlenbereich
or ( S]i]>'9') // Zeichen ist >'9', also oberhalb vom Zahlenbereich
or (i=Len)) // oder das letzte Zeichen im String, falls der String mit Zahl endet
then
Nun mußt du nur noch sicherstellen, das du entweder nicht mehr als 3 Zahlenn im String hast, oder dein Array entsprechend größer ist. Außerdem, zum Rechnen mußt du die Strings in Zahlen wandeln.....
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !