Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Zahlen in Memo ermitteln und in Int umwandeln

  Alt 1. Jun 2007, 07:11
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
Klaus
  Mit Zitat antworten Zitat