Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2013, 19:37   #1
SnS
Пользователь
 
Регистрация: 09.12.2012
Сообщений: 37
По умолчанию Lazarus

Здравствуйте Ув. у меня такой вопрос: у меня на форме 2 Edit, 1Button, StringGrid, мне нужно через 2 эдита ввести данные в таблицу, при нажатии кнопки.Вот код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
i:=1;
a[i].name:=edit1.text;
a[i].fam:=edit2.text;
stringGrid1.rowCount:=1;
for i:=1 to 2 do
begin
stringGrid1.rowCount:=stringGrid1.r owCount+1;
stringgrid1.cells[1,i]:=a[i].name;
stringgrid1.cells[2,i]:=a[i].fam;
end;
i:=i+1;
end;
Как мне сделать так, чтобы данные выводились в таблице каждые с новой строки. заранее спасибо
SnS вне форума Ответить с цитированием
Старый 21.11.2013, 20:20   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

У вас переменная i - локальная, если она объявлена в Button1Click. Поэтому толку от этого i:=i+1; - никакого.
Я вообще не понял, что она значит.

Создайте глобальную переменную , после var Form1: TForm1;
Код:
   ChisloStrok:Integer;
// ...
procedure TForm1.FormCreate(Sender: TObject);
begin
 ChisloStrok:=1;    //  инициализация
end;

Последний раз редактировалось type_Oleg; 21.11.2013 в 20:23.
type_Oleg на форуме Ответить с цитированием
Старый 21.11.2013, 20:27   #3
SnS
Пользователь
 
Регистрация: 09.12.2012
Сообщений: 37
По умолчанию

всё равно выводит всё время в 1 строку(
SnS вне форума Ответить с цитированием
Старый 21.11.2013, 20:31   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Щас попробую ...
А этот массив записей a - где-то еще используется? Можно без него?
type_Oleg на форуме Ответить с цитированием
Старый 21.11.2013, 20:55   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вот, сделал без этого массива.
Код, без верхней части:
Код:
var
  Form1: TForm1;
  ChisloStrok:Integer;
implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  ChisloStrok:=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  StringGrid1.RowCount:=ChisloStrok+1;
  StringGrid1.Cells[1,ChisloStrok]:=Edit1.Text;
  StringGrid1.Cells[2,ChisloStrok]:=Edit2.Text;
  ChisloStrok:=ChisloStrok+1;
end;

procedure TForm1.Button2Click(Sender: TObject);   // сброс
begin
  ChisloStrok:=1;
  StringGrid1.RowCount:=2;
  StringGrid1.Cells[1,1]:='';
  StringGrid1.Cells[2,1]:='';
end;

end.
И результат после 3 кликов:
Изображения
Тип файла: jpg lazar.jpg (17.4 Кб, 84 просмотров)
type_Oleg на форуме Ответить с цитированием
Старый 21.11.2013, 20:56   #6
SnS
Пользователь
 
Регистрация: 09.12.2012
Сообщений: 37
По умолчанию

с ним нужно(
SnS вне форума Ответить с цитированием
Старый 21.11.2013, 20:57   #7
SnS
Пользователь
 
Регистрация: 09.12.2012
Сообщений: 37
По умолчанию

хотя и без него можно
SnS вне форума Ответить с цитированием
Старый 21.11.2013, 20:58   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

интересно, и что делает эта глобальная? проще просто выбросить ее
eval вне форума Ответить с цитированием
Старый 21.11.2013, 21:03   #9
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
интересно, и что делает эта глобальная? проще просто выбросить ее
Можно и без нее. Вместо нее использовать величину (StringGrid1.RowCount-1).
Она нужна только для человека, а не компилятора. С ней как-то понятнее.
type_Oleg на форуме Ответить с цитированием
Старый 21.11.2013, 21:05   #10
SnS
Пользователь
 
Регистрация: 09.12.2012
Сообщений: 37
По умолчанию

type_Oleg, спасибо большое, теперь разобралась)
SnS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lazarus SnS Помощь студентам 0 07.10.2013 22:40
Перекомпиляция программы(простой) Win Lazarus в Linux Lazarus Toxifer Фриланс 0 27.11.2012 22:46
Lazarus... Сristina Помощь студентам 1 28.03.2011 20:03
Lazarus Markefimov Lazarus, Free Pascal, CodeTyphon 10 25.01.2011 23:09
LAZARUS TIGER-777 Помощь студентам 3 06.11.2010 13:44