Проблема С Создаными Динамически Edit'ами

  • Автор темы Xatiko
  • Дата начала
X

Xatiko

#1
Доброго времени суток!
Подскажите в таком вопросе:
На форме есть memo и buton, в memo мы вводим число нажимаем на buton и создаются edit'ы столько сколько мы указали. Работает все хорошо, но мне надо производить арифметические действия с edit'ами. Например memo2.text:=edit1+edit2; .
Код:

Код:
procedure TForm1.Button1Click(Sender: TObject);

var Lab: Array of TLabel;
Ed: Array of TEdit;
i: Integer;
n: integer;
begin
n := 500;
SetLength(Lab, n+1);
SetLength(Ed, n+1);

for i:=1 to strtoint(memo1.Text) do
begin
Lab[i] := TLabel.Create(self);
Lab[i].Parent := self;
Lab[i].Left := 10;
Lab[i].Top := i*30+20;
Lab[i].Caption := 'Этикетка'+IntToStr(i);
Ed[i] := TEdit.Create(self);
Ed[i].Parent := self;
Ed[i].Left := 150;
Ed[i].Top := i*30+20;
Ed[i].Text := 'Поле ввода '+IntToStr(i);
Ed[i].Name:= 'Edit'+IntToStr(i);
end;
end;
Запись типо: memo2.text:=IntToStr(StrToInt(Edit1 .text)+StrToInt(Edit2.text));
Не пойдет выдает ошибку " is not a valid integer value"
Просьба откликнуться))
 

Вложения

  • 40.9 КБ Просмотры: 19
  • 14.9 КБ Просмотры: 21

-master-

Well-known member
14.01.2012
616
12
#2
Вам переводчик нужен, это не в этом форуме, идите на форум переводчиков.
 

sinkopa

Well-known member
17.06.2009
344
4
#3
Запись типо: memo2.text:=IntToStr(StrToInt(Edit1 .text)+StrToInt(Edit2.text));
Не пойдет выдает ошибку " is not a valid integer value"
Просьба откликнуться))
Ошибка говорит о том, что значение введенное в Ваш TEdit, не является допустимым целым числом.
Вот это
Код:
Ed[i].Text := 'Поле ввода '+IntToStr(i);
зачем Вы делаете? Это точно не целое... :)
Для проверки на правильность вводимых в TEdit значений, воспользуйтесь функцией TryStrToInt
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b: Integer;
begin
if TryStrToInt(Edit1.Text,a) and TryStrToInt(Edit2.Text,b) then
Memo2.Text := IntToStr(a+b)
else
begin
ShowMessage('Введенные значения не являются целыми числами!');
Exit;
end;
end;