добавить строку в строку блокнота, затем пустую строку, добавить новый ввод в следующую строку - delphi 2010 - help! - PullRequest
0 голосов
/ 05 декабря 2010

что я пытаюсь сделать:

введите в поле ввода, запишите его в строку заметки при нажатии кнопки, когда вводится 0 или -1, переходите к следующей строке поля ввода

код:

procedure TForm1.btnReadClick(Sender: TObject);

var
c, i, j : integer;
ch2 : Char;
txt1, txt2 : string;

begin
c := StrToInt(edt2.Text);   //input    
ch2 := Converteer(c);       //input gets converted to Char

if memC.Lines.Count = 0 then  //start value when memo box empty
begin
    i := 0;
    j := 0;
    txt1 :='';
    txt2 :='';
end;

if c = 0 then         //text naar memo       
begin
i := i + 1;                   // next line ?!?        these two seem not to work        
txt1 := '';                   // empty string ?!?     these two seem not to work         
txt2 := memT.Lines[j] + ch2;    
end

else if c = -1 then   //same, it appears 'i' is maybe reset everytime button is pressed

begin
    i := i + 1;
    j := j + 1;
    txt1 := '';
    txt2 := '';
   end

else if c >= 0 then   // a t/m z

begin
 txt1 := memC.Lines[i] + IntToStr(c);        
 txt2 := memT.Lines[j] + ch2;
end;


memC.Lines[i] := txt1;         //write string to line  , [i] should specify the wich line    
memT.Lines[j] := txt2;         // same

end.

Я не могу найти, где и как это пойдет не так, было бы здорово, если бы кто-то мог мне помочь.

Привет Питер

1 Ответ

1 голос
/ 06 декабря 2010

Переменные i, j, txt1, txt2 неинициализированы, если поле для ввода memC не пусто.Вы устанавливаете их на 0 / пусто, если это так - что вы ожидаете от них в других случаях?Обратите внимание, что их значения не будут сохраняться при нескольких нажатиях кнопок, поскольку вы объявили их локальными для этой функции ...

...