Entwickler-Ecke
Sonstiges (Delphi) - Wörter Filtern
Risuke - Fr 19.09.08 21:04
Titel: Wörter Filtern
hallo leute,
bin ein kleiner anfänger was delphi angeht und wollte wissen wie man wörter aus texten filtern kann
hab mich überall umgeschaut aber ich verstehe echt nix -_-
hier ein bspl.:
"Name: Cloud
Alter: 18
Haarfarbe: Blond
Typ: Cool ohne ende"
hier möchte ich jetzt, das nur dies wörter und zeichen verschwinden:
"Name:
Alter:
Haarfarbe:
Typ:"
naja, hier der code den ich bis jetzt zusammen geschnippselt habe (ja ich weiß das da sehr viele fehler sind, aber weiß nich wo xD):
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:
| procedure TForm1.b_filterClick(Sender: TObject);
var
a,c,d,b: integer;
begin
a:=strtoint(l_1);
b:=pos('Name:''Alter:''Haarfarbe:''Typ:',a);
if b <> 0 then
c:=delete(b);
lol2.text:=inttostr(c);
else
c:='nix';
l_2.text:=inttostr(c) |
Xentar - Fr 19.09.08 21:13
Wenn du bestimmte Wörter löschen willst, schau dir mal StringReplace(); an, und ersetz in dem Fall mit nichts, also ''
Risuke - Fr 19.09.08 21:44
meinst du so in der art?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var before, after : string;
begin
before:=inttostr(l_1.text);
after:=StringReplace(before,'Name:''Alter:''Haarfarbe:''Typ:', '',[rfReplaceAll, rfIgnoreCase]);
l_2.Text:=strtoint(After);
end; |
naja klappt aber irgendwie immer noch nicht. also sratet nichmal, wegen strtoint oder so
Yogu - Fr 19.09.08 21:50
Risuke hat folgendes geschrieben: |
| naja klappt aber irgendwie immer noch nicht. also sratet nichmal, wegen strtoint oder so |
Wozu verwendest du eigentlich
IntToStr? Dein Code enthält so viele Integers, obwohl es doch überhaupt nicht um Zahlen geht!?
Du könntest in einer
for-Schleife die einzelnen Zeilen des Strings durchgehen. Dann suchst du mit
Pos einen Doppelpunkt, und löschst alles davor. Schau dir am besten mal an, was die Delphi-Online-Hilfe zu den String-Funktionen sagt.
Risuke - Fr 19.09.08 21:56
naja die sache ist ja die, das mit dem ":" ist nur im beispiel, das wofür ich es brauche binhaltet schon mehr wörter auch oft ohne sonderzeichen
und mit dem inttostr und so, ich habe es so gelernt xD" ich wusste gar nicht das es auch anders geht Oo"
LexXis - Fr 19.09.08 22:06
Delphi-Quelltext
1:
| l_2.Text:=strtoint(After); |
Dir ist klar, dass du einem Edit o. Ä. keinen Integer als Text zuweisen kannst, oder? :shock:
Yogu - Fr 19.09.08 22:09
Risuke hat folgendes geschrieben: |
| und mit dem inttostr und so, ich habe es so gelernt xD" |
Was hast du gelernt? Dass man für Texte Integers braucht? :shock:
Risuke hat folgendes geschrieben: |
| ich wusste gar nicht das es auch anders geht Oo" |
Es geht nicht
auch anders, sondern
nur anders. Wenn du deinen Quelltext complierst, werden dir gleich diverse Syntax-Fehler angezeigt.
Risuke hat folgendes geschrieben: |
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: 31: 32: 33: 34: 35:
| procedure TForm1.b_filterClick(Sender: TObject);
var
a,c,d,b: integer;
begin
a:=strtoint(l_1);
b:=pos('Name:''Alter:''Haarfarbe:''Typ:',a);
if b <> 0 then
c:=delete(b);
lol2.text:=inttostr(c);
else
c:='nix';
l_2.text:=inttostr(c) | |
Das sagst du dem Compiler.
Ich will dich damit jetzt weder auslachen noch bloßstellen, sondern lediglich demonstrieren, was der Compiler von deinem Code mitbekommt. Vielleicht solltest du doch lieber nochmal etwas Grundlagen ansehen, zum Beispiel wie man den richtigen Variablentypen wählt.
Integer steht für eine Zahl, und
String für einen Text. Du brauchst eindeutig letzteres, nur für den Rückgabewert von
Pos - das ist die Position des gesuchten Textes.
Dir würde es sicherlich auch helfen, in der Delphi-Hilfe die verwendeten Befehle nachzuschlagen. :les:
Grüße,
Yogu
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!