Entwickler-Ecke
Sonstiges (Delphi) - Eingabe auswertern
rizor - So 24.09.06 17:17
Titel: Eingabe auswertern
Hi,
wie kann eine Ausgabe auswerten?
Also es wird etwas in ein Edit eingegeben und er soll erkennen was eingegeben wurde und berechnen.
Beispiel:
Im Edit steht "Ah Ac 10s"
Wie kann ich jetzt alles auswerten, also dass er Ah als einzelnes ansieht und Ac und 10s genau so?
Danke im voraus.
rizor
mkinzler - So 24.09.06 17:20
Du könntest den String anhand des Trennzeiches (hier ' ') zerlegen.
rizor - So 24.09.06 17:22
Wie soll das funktionieren?
Kann ich mir nicht so recht vorstellen
mkinzler - So 24.09.06 17:25
Entweder mit PosEx oder mit einer StringListe (.Delimiter, .DelimitedText);
rizor - So 24.09.06 17:28
So gut kenne ich mich mit Delphi nicht aus.
Ich weiß also nicht wie ich das schreiben soll.
Kannst du mir da vllt mal ein Beispiel machen?
Danke.
mkinzler - So 24.09.06 17:31
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var sl: Strings; ... begin sl := TStringList.Create; sl.Delimiter:= ' '; sl.DelimitedText := Edit.Text; |
Der 1. Wert Steht dann in sl.Strings[0]
rizor - So 24.09.06 17:35
Danke.
rizor - So 24.09.06 18:05
Wie kann ich jetzt noch erkenne, in wievielen arrays er die sachen gespeichert hat?
Marco D. - So 24.09.06 18:08
rizor hat folgendes geschrieben: |
| Wie kann ich jetzt noch erkenne, in wievielen arrays er die sachen gespeichert hat? |
Er benutzt direkt keine Arrays. Du hast eine Stringlist, diese kapselt gewissermaßen ein String-Array. Wenn, dann hast du nur ein Array! Du willst bestimmt die Anzahl der Bestandteile haben? Das geht mit sl.count.
azubi_20 - So 24.09.06 18:09
er speichert in EINEM Array, falls du wissen willst wieviele ELEMENTE im Array belegt sind :
length(dein_array);
Edit :
Marco D. hat natürlich recht...
rizor - So 24.09.06 18:16
Mir wird gesagt, dass strings ein unbekannter bezeichner ist.
Wie kann ich das beheben?
Marco D. - So 24.09.06 18:21
rizor hat folgendes geschrieben: |
Mir wird gesagt, dass strings ein unbekannter bezeichner ist.
Wie kann ich das beheben? |
Mir ist gerade die Glaskugel heruntergefallen und ich kann nicht mehr hellsehen. :motz:
:zwinker:
Poste mal bitte den Quellcode. ;)
rizor - So 24.09.06 18:24
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:
| var h,b,sh,sb: Strings; var i:integer; begin i:=0; h:=TStringList.Create; h.Delimiter:= ' '; h.DelimitedText := Ehand.Text; while i<>h.count do begin sh:=TStringList.Create; sh.Delimiter:= ''; sh.DelimitedText := h.Strings[i]; i:=i+1; end;
i:=0; b:=TStringList.Create; b.Delimiter:= ' '; b.DelimitedText := board.Text; while i<>b.count do begin sb:=TStringList.Create; sb.Delimiter:= ''; sb.DelimitedText := b.Strings[i]; i:=i+1; end; end; |
und da erkennt er die strings net.
also die deklaration
Moderiert von
Christian S.: Quote- durch Delphi-Tags ersetzt
Marco D. - So 24.09.06 18:25
Es muss ja auch nur 'string' heißen.
rizor - So 24.09.06 18:27
hmm...
jetzt heißt es, das tstringlist inkompatibel zu string ist.
Marco D. - So 24.09.06 18:30
rizor hat folgendes geschrieben: |
hmm...
jetzt heißt es, das tstringlist inkompatibel zu string ist. |
Ich hatte mir den restl. Code nicht angeschaut. Eine Stringlist ist ja auch kein String und umgekehrt. Schreib bei der Deklaration statt string einfach TStringlist hin.
mkinzler - So 24.09.06 18:36
| Zitat: |
| Es muss ja auch nur 'string' heißen. |
Nein
TStrings
es reicht aber eine Instanz, welche du wiederverwenden kannst ( Einfach Neusetzten von
.DelimitedText)
rizor - So 24.09.06 18:37
Danke.
Jetzt geht es.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!