Hallo Alle!
Diese Prozedur sollte unter anderem im Memo1.text wörter suchen, die das Zeichen '-'beinhalten, und die in Memo2.lines übertragen. Macht sie aber nicht.Meiner Logik nach müsste funktionieren, aber nach aufruf passiert einfach gar nichts.
Woran liegt es??
Es schmeisst noch nicht mal eine Fehlermeldung raus!
procedure TForm1.Button1Click(Sender: TObject);
var Txt:String;
Wort:String;
cnt:Integer;
ExsistStrich:Boolean;
ExsistZahl:Boolean;
begin
cnt:=0;
Wort:='';
ExsistStrich:=False;
Exsistzahl:=False;
txt:=Memo1.Text;
while (cnt <= Length(txt)) do
begin
if (txt[cnt]=' ')or(ord(txt[cnt])<32) then
begin
//das Wort ist zu ende! -prüfe bedingungen
if exsistStrich
and not(Exsistzahl)
and(wort[length(wort)-1]='e') // endet mit 'er'?
and(wort[length(wort)]='r')
// wenn ja...
then memo2.Text:=Memo2.Text+' '+Wort;
//Reset!
Wort:='';
ExsistStrich:=False;
Exsistzahl:=False;
end
else
begin
if txt[cnt]='-'then Exsiststrich:=True;
if (ord(txt[cnt])>=ord('0'))and(ord(txt[cnt])<=ord('9'))then
exsistzahl:=true;
Wort:=wort+txt[cnt];
end;
Inc(cnt);
end;
//letzte wort prüfen:
if exsistStrich
and not(Exsistzahl)
and(wort[length(wort)-1]='e')
and(wort[length(wort)]='r')
then memo2.Text:=Memo2.Text+' '+Wort;
end;
end.
//mfg.. [email protected]
Diese Prozedur sollte unter anderem im Memo1.text wörter suchen, die das Zeichen '-'beinhalten, und die in Memo2.lines übertragen. Macht sie aber nicht.Meiner Logik nach müsste funktionieren, aber nach aufruf passiert einfach gar nichts.
Woran liegt es??
Es schmeisst noch nicht mal eine Fehlermeldung raus!
procedure TForm1.Button1Click(Sender: TObject);
var Txt:String;
Wort:String;
cnt:Integer;
ExsistStrich:Boolean;
ExsistZahl:Boolean;
begin
cnt:=0;
Wort:='';
ExsistStrich:=False;
Exsistzahl:=False;
txt:=Memo1.Text;
while (cnt <= Length(txt)) do
begin
if (txt[cnt]=' ')or(ord(txt[cnt])<32) then
begin
//das Wort ist zu ende! -prüfe bedingungen
if exsistStrich
and not(Exsistzahl)
and(wort[length(wort)-1]='e') // endet mit 'er'?
and(wort[length(wort)]='r')
// wenn ja...
then memo2.Text:=Memo2.Text+' '+Wort;
//Reset!
Wort:='';
ExsistStrich:=False;
Exsistzahl:=False;
end
else
begin
if txt[cnt]='-'then Exsiststrich:=True;
if (ord(txt[cnt])>=ord('0'))and(ord(txt[cnt])<=ord('9'))then
exsistzahl:=true;
Wort:=wort+txt[cnt];
end;
Inc(cnt);
end;
//letzte wort prüfen:
if exsistStrich
and not(Exsistzahl)
and(wort[length(wort)-1]='e')
and(wort[length(wort)]='r')
then memo2.Text:=Memo2.Text+' '+Wort;
end;
end.
//mfg.. [email protected]
Comment