hmm
ich überprüfe hier zwei listen miteinander - sollte ein wert in der anderen auftauchen wird für den durchgang eine boolean variable umgeschalten damit sollte es nicht der fall sein der wert aus einer 3ten liste geladen werden kann...
irgendwie bleibt aber change immer false
Delphi-Quellcode:
procedure TForm1.DoItClick(Sender: TObject);
var hilftext, lw : String;
i,e : Integer;
liste, liste2 : TSTringdynarray;
text : String;
change : boolean;
begin
change := false;
memo1.Text := memo1.text + ' ';
liste := explode(' ',Memo1.Text);
liste2 := explode(' ',Memo1.Text);
for i := low(liste) to high(liste) do
liste[i] := sortWirrWarr(liste[i]);
for i := low(liste) to high(liste) do
begin
if length(liste[i]) > 3 then // das zB soll gleichbleiben
begin
for e := 0 to Virtlist.Count-1 do
if liste[i] = Virtlist[e] then // wenn liste[i](wirrwar) gleich listeneintrag[e]
begin
liste[i] := Virtlist1[e]; // wort austauschen mit richtiger Wortliste
change := true; //änderung stadtgefunden
end
end
else
liste[i]:= liste2[i];
if change = false then
liste[i]:= liste2[i]; // bei der letzten überprüfung eines wortes bleibt es gleich
change := false;
end;
ich such schon ewig was da falsch sein könnte
auch die schleife schon durchgestept
grüße Nico