ich hab das mal in nem programm von mir für ein Record gemacht.
QC siehe hier V hoffe es hilft ein wenig
Delphi-Quellcode:
procedure TForm1.EsucheChange(Sender: TObject);
var
suche:string;
buchstabe,wort,buchstabeimwort,biw,b:integer;
weitersuchen:boolean;
begin
esuche.Color:=clwhite;
suche:=esuche.Text;
gefundene:='';
lgefundene.Caption:='';
if length(suche) >=2 then
begin
weitersuchen:=false;
wort:=1;
REPEAT
buchstabe:=1;
buchstabeimwort:=1;
weitersuchen:=false;
REPEAT
IF upcase(suche[buchstabe])=upcase(rec[wort].programm[buchstabeimwort]) THEN
begin
biw:=buchstabeimwort;
b:=buchstabe;
REPEAT
weitersuchen:=false;
inc(b);
inc(biw);
IF upcase(suche[b])=upcase(rec[wort].programm[biw]) THEN
weitersuchen:=true else weitersuchen:=false;
UNTIL (weitersuchen=false)or(length(suche)=b);
IF weitersuchen=true THEN
begin
lbausgabe.Selected[wort-1]:=true;
if gefundene='' then showmessage('Kein Fund');
gefundene:=gefundene+rec[wort].programm+#13;
lgefundene.Caption:=gefundene;
end;
end;
inc(buchstabeimwort);
UNTIL (weitersuchen=true)or(buchstabe=length(suche))or(buchstabeimwort=length(rec[wort].programm));
inc(wort);
UNTIL Wort-1 = anzahl;
end;
if (gefundene='')and(length(suche)>1) then
begin
esuche.Color:=clred;
beep;
end;
end;