Смена текста Edit при нажатии на кнопку

На форме расположена кнопка Button1Click и Edit1.Text а также и текстовый файл 1.txt в котором есть строки: Например:

1234567
98765432
3232323
434343434

Нужно что бы при нажатия на кнопку в Edit появилось значение первой строки 1234567 Нажал кнопку еще появилось значение второй строки 98765432 и так далее. Но что бы по порядку.


Ответы (1 шт):

Автор решения: sergey kuznetsov

Давайте сначала попробуем в memo из .txt. Общая логика вроде правильная, но я более, чем просто уверен, что где-то допустил ошибку, и не одну. Пробуйте этот код. И сообщайте об ошибках. Будем исправлять. Я бы на вашем месте, сначала попробовал бы позаносить значения из списка в диалог, таким способом - ShowMessage(textFromFile.Strings[numberItem]);, поместив данный вызов сообщения в событие клика кнопки.

Глобально описываете переменные:

var 
textFromFile: TStringlist;
numberItem: integer;

Вызываете событие инициализации формы. Тут происходит создание списка, куда заносятся значения вашего текстового файла:

procedure TForm1.FormCreate(Sender: TObject);
begin
numberItem:=0;
textFromFile:=TStringlist.Create;
textFromFile.LoadFromFile('ваш_текстовый_файл.txt');
end;

Вызываете событие клика кнопки (вариант 1). Тут счетчик клика на кнопку, а так же создание пустой строки в memo для занесения в нее значения из созданного списка textFromFile:=TStringlist.Create;:

procedure TForm1.Button1Click(Sender: TObject);
begin
numberItem:=numberItem+1;
//ShowMessage(textFromFile.Strings[numberItem]);
Memo1.Lines.Add;
Memo1.Lines[numberItem]:=textFromFile.Strings[numberItem];
end;

Вызов события клика кнопки (вариант 2):

procedure TForm1.Button1Click(Sender: TObject);
begin
numberItem:=numberItem+1;
Memo1.Lines.Add;
Memo1.Lines.Insert(numberItem, textFromFile.Strings[numberItem]);
end;
→ Ссылка