Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 5
Регистрация: 16.04.2013
Сообщений: 43
1

Таблица

16.04.2013, 22:19. Показов 748. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, как сделать так чтобы если в таблице StringGrid в первой строке все ячейки имеют текст, то чтобы следующая запись из Edit выводилась уже на другой строке где свободные ячейки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2013, 22:19
Ответы с готовыми решениями:

Таблица
Есть таблица: 1 3 2 5 3 16 4 9 5 10 Нужно проверить значение Edit1 в 1 стоблике и...

Таблица
Как создать таблицу вот такого плана...

Таблица
Помогите доделать, нужно сделать так, чтобы в поле Edit7 выводилась сумма всех значений столбца З/П...

Таблица
Задание 1. Найти страну с максимальным производством масла. Задание 2. Найти страны с...

4
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
17.04.2013, 14:32 2
Используй счётчик - сколько раз значение из Edit было записано в таблицу. Значение этого счётчика можно разложить на индекс строки и индекс столбца.
Для случая, когда в таблице нет фиксированных строк и столбцов.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
  gCnt : Integer = 0;
 
procedure TForm1.Button1Click(Sender : TOBject);
var
  Row, Col : Integer;
begin
  Row := gCnt div StringGrid1.ColCount;
  Col := gCnt mod StringGrid1.ColCount;
  //Если требуется, добавляем новую строку в таблицу.
  if Row = StringGrid.RowCount then
    StringGrid.RowCount := StringGrid.RowCount + 1;
  Inc(gCnt);
  
  StringGrid1.Cells[Col, Row] := Edit1.Text;
end;
Для любого случая - независимо от того есть фиксированные строки и столбцы или их нет.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var
  gCnt : Integer = 0;
 
procedure TForm1.Button1Click(Sender : TOBject);
begin
  //Перепрыгиваем через фиксированные строки.
  gCnt := StringGrid1.FixedRows * StringGrid1.ColCount;
end;
 
procedure TForm1.Button1Click(Sender : TOBject);
var
  Row, Col : Integer;
begin
  Row := gCnt div StringGrid1.ColCount;
  Col := gCnt mod StringGrid1.ColCount;
  //Если требуется, добавляем новую строку в таблицу.
  if Row = StringGrid.RowCount then
    StringGrid.RowCount := StringGrid.RowCount + 1;
  //Перепрыгиваем через фиксированные столбцы.
  if Col < StringGrid1.FixedCols then
    Inc(Col, StringGrid1.FixedCols);
  Inc(gCnt);
  
  StringGrid1.Cells[Col, Row] := Edit1.Text;
end;
1
4 / 4 / 5
Регистрация: 16.04.2013
Сообщений: 43
17.04.2013, 18:23  [ТС] 3
спасибо,а если у меня есть 4 Edit'a, как сделать чтобы сразу заполнялся ряд из 4 ячеек а не каждый раз нажимать кнопку чтобы писалось в каждую ячейку?
0
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
17.04.2013, 19:30 4
Т. е., в таблице 4 нефиксированных столбца? И данными заполняется сразу вся строка? В этом случае надо сделать счётчик строк. Это даже проще получиться.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var
  gRow : Integer = 0;
 
procedure TForm1.Button1Click(Sender : TOBject);
begin
  //Устанавливаем индекс строки, равный индексу последней фиксированной строки.
  gRow := StringGrid1.FixedRows - 1;
end;
 
procedure TForm1.Button1Click(Sender : TOBject);
var
  Col : Integer;
begin
  //Индекс следующей строки.
  Inc(gRow);
  //Если требуется, добавляем новую строку в таблицу.
  if gRow = StringGrid.RowCount then
    StringGrid.RowCount := StringGrid.RowCount + 1;
  //Индекс первого нефиксированного столбца.
  Col := StringGrid.FixedCols;
  //Записываем значения в ячейки.
  StringGrid1.Cells[Col, gRow] := Edit1.Text;
  StringGrid1.Cells[Col + 1, gRow] := Edit2.Text;
  StringGrid1.Cells[Col + 2, gRow] := Edit3.Text;
  StringGrid1.Cells[Col + 3, gRow] := Edit4.Text;
end;
1
4 / 4 / 5
Регистрация: 16.04.2013
Сообщений: 43
17.04.2013, 19:55  [ТС] 5
благодарю, работает
0
17.04.2013, 19:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2013, 19:55
Помогаю со студенческими работами здесь

Таблица
Добрый вечер. Подскажите пожалуйста, как сделать прозрачной таблицу? У меня есть фон, надо чтобы...

Таблица в Делфи
Помогите пожалуйста, тема такая: есть программа с массивом (занесённым в таблицу, состающую из 1...

Массив и таблица
Заполняю таблицу из массива слева направо, то есть делаю в цикле StringGrid1.Cells:= mas var...

Таблица и сортировка
На основе &quot;записной книжки&quot; содержащей сведения :фамилия , год рождения,адрес...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru