![]() |
Zahlen aus Memo auslesen
Hi Leute,
hat jemand eine Idee wie ich vom User in ein Memo-Feld eingegebene Zahlen in einem Array speichern kann? Die Anzahl der Tahlen ist bekannt und es sollten auch dezimale Brüche und negative Zahlen erkannt werden. die Zahlen sind durch Leerzeichen getrennt. Das hier war meine Idee:
Delphi-Quellcode:
gsys ist ein eindimensionales Array of real. die funktion getIndex hab ich nur um von den Koordinaten eines zweidimensionalen Arrays in ein eindimensionales Umzurechnen.
for i:=1 to size do
begin stringarray[i]:=MemoM.lines[i]; end; for i:=0 to size do begin hilfsstring2 := stringarray[i]; z:=0; for y:=0 to size+1 do begin while (hilfsstring2[z] <> ' ') do begin hilfsstring := hilfsstring + hilfsstring2[z]; z += 1; end; gsys[getIndex(i,y,size)]:=strtofloat(hilfsstring); hilfsstring:=''; z += 1; end; end; Danke schonmal für eure Antworten!:thumb: |
AW: Zahlen aus Memo auslesen
Ich hab heute nicht die große Lust viel zu denken, aber hier mal etwas auf die Schnelle.
Wenn dein Text so aussieht:
Code:
dann könnte das klappen. Ist ein sehr simpler Code. Sollten da noch Wörter dazwischen sein, mußt du sie filtern:
12 34 5/6 7² 89
98 76 5% $4 23 34 78 45 67 12
Delphi-Quellcode:
{Ungeordnete Liste in geordnete Liste umwandeln. Beispiel ungeordnete Liste:
12 34 5/6 7² 89 98 76 5% $4 23 34 78 45 67 12 } procedure ZahlenListe(Liste: TStrings); var sl1: TStringList; sl2: TStringList; i: Integer; begin sl1 := TStringList.Create; try for i := 0 to Liste.Count - 1 do begin sl2 := TStringList.Create; try sl2.Delimiter := ' '; sl2.DelimitedText := Liste[i]; sl1.AddStrings(sl2); finally sl2.Free; end; end; Liste.Clear; Liste.AddStrings(sl1); finally sl1.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var sl: TStringList; ArrayListe: array of String; i: Integer; begin sl := TStringList.Create; try sl.AddStrings(Memo1.Lines); ZahlenListe(sl); SetLength(ArrayListe, sl.Count); for i := 0 to sl.Count - 1 do ArrayListe[i] := sl[i]; finally sl.Free; end; for i := 0 to High(ArrayListe) do ShowMessage(ArrayListe[i]); end; |
AW: Zahlen aus Memo auslesen
Danke! Ich versuchs mal.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 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 by Thomas Breitkreuz