Einzelnen Beitrag anzeigen

oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#26

Re: Warum stürzt es immer ab?

  Alt 3. Dez 2008, 07:02
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 !
  Mit Zitat antworten Zitat