Zitat von
Merchator:
Hey!
Vielen dank, es klappt soweit ganz gut!
Ich habe deinen Code jetzt mal ein wenig umgewandelt:
Delphi-Quellcode:
var
s: TStrings;
begin
s := TStringList.Create;
with memo1 do
for i := 0 to Memo1.Lines.Count-1 do //<-Da gibt es ein Problem!
begin
ExtractLastWords(Lines[i], s, 2);
XWert:=StrToInt(s[0]);
YWert:=StrToInt(s[1]);
memo1.lines.add('Straße '+ IntToStr(XWert+1)+' ' + IntToStr(YWert));
end;
s.Free;
end;
Eine kleinigkeit ist da aber noch.
Zum Beispiel steht da
Straße 100 100
Drück ich jetzt nen Knopf, das Y+1 gerechnet werden soll, steht das da erst ganz normal:
Straße 100 100
Straße 100 101
Drück ich den jetzt aber nochmal, verdoppeln sich die Zeilen plötzlich :roll:
Etwa so:
Straße 100 100
Straße 100 101
Straße 100 101
Straße 100 102
ICh glaube, ich weis worans liegt (s. Soruce)
Aber wie behebe ich das jetzt?
Danke im vorraus! ;)
Die Zeilen verdoppeln sich nicht plötzlich, sie haben sich auf beim ersten Aufruf verdoppelt.
Das liegt daran, daß Du mit " memo1.lines.add('Straße '+ IntToStr(XWert+1)+' ' + IntToStr(YWert));"
eine neue Zeile an das Memo anhängst und nicht die bestehende Zeile ersetzt.
Das würde dann so gehen:
Memo1.lines.Strings[i]:='Straße '+ IntToStr(XWert+1)+' ' + IntToStr(YWert);
Grüße
Klaus