powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Массив динамический из таблицы
13 сообщений из 13, страница 1 из 1
Массив динамический из таблицы
    #39494880
Добрый вечер.
Необходимо сделать функционал следующего характера - на форме панельки 9 штук (по факту это выбор ИД товара).
Нажал по панельке - взяли ключ. Помимо 9 панелек есть еще кнопки - вперед и назад, чтобы листать пакетом по 9 записей, т.е. нажал кнопку вперед - записи с 10 по 18, еще раз нажал - с 19 по 27.

На входе есть стрингрид с единственнной колонкой - ключами записей.

Как кажется, массив идеально сюда подходит.
Для начала хочется запихать записи в массив.


КАк это сделать?
Цикл по записям грида, но как потом перебрать сам массив, если он динамический?

Как из стриг грида вида....
1
2
3
4
5
6
7
8
9
10
11
12

...получить массив динамически
1 2 3 4 5 6 7 8 9
10 11 12

Т.е. последняя строка наверняка будет неполной...

Было б ынеплохо, если бы была функция типа Append, которая по структуре массива сама бы определяла, что если элементов в строке "хватает", создавала бы новую строку....

Большое спасибо.
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494885
pgiw99oeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем тебе массив? СтрингГрид у тебя сам как массив
по нему еще и щелкать можно, есть у него события клик и даблклик
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494886
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НачинающийПрограммер, ткни в ссылку ниже- там решение

YouTube Video
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494889
Хорошо, как мне заполнить стринг грид (как было описано, 9 колонок, а строк - как получится) из другого грида, где одна колонка и много строк - ключей таблицы....
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494896
pgiw99oeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НачинающийПрограммерХорошо, как мне заполнить стринг грид (как было описано, 9 колонок, а строк - как получится) из другого грида, где одна колонка и много строк - ключей таблицы....цикл
счетчик завести в цикле
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
i:=1; //счетчик колонок
j:=1; // счетчик рядов в стринггрид
k:=1; // счетчик записей 
while (условие) do
begin
   StringGrid.Cell[i,j]:=запись[k];
   //меняем счетчики
  if <9 then
  begin
    i:=i+1;// чтобы писать в следующую колонку
   k:=k+1;// чтобы взять следующую запись
  end
else
begin
  i:=1;// переходим к первой колонке
  j:=j+1;// переходим на следующую строку
 k:=k+1;// чтобы взять следующую запись
end;
end;



как-то так
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494899
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НачинающийПрограммер,

а почему ты сам не разберешься?
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494902
pgiw99oeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pgiw99oeoНачинающийПрограммерХорошо, как мне заполнить стринг грид (как было описано, 9 колонок, а строк - как получится) из другого грида, где одна колонка и много строк - ключей таблицы....цикл
счетчик завести в цикле
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
i:=1; //счетчик колонок
j:=1; // счетчик рядов в стринггрид
k:=1; // счетчик записей 
while (условие) do
begin
   StringGrid.Cell[i,j]:=запись[k];
   //меняем счетчики
  if (i < 9) then
  begin
    i:=i+1;// чтобы писать в следующую колонку
   k:=k+1;// чтобы взять следующую запись
  end
else
begin
  i:=1;// переходим к первой колонке
  j:=j+1;// переходим на следующую строку
 k:=k+1;// чтобы взять следующую запись
end;
end;



как-то такпоправил слегка, должно быть так if (i < 9) then
кто-то тут покороче напишет, я писал просто чтобы понятно было
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494904
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НачинающийПрограммер,

стринггрид, как сказали выше, это массив столбцов (ColCount) и строк(RowCount). Получаешь кол-во строк путем целочисленного деления общего кол-ва ID на 9 колонок ([кол-во ID] div 9). Если целочисленный остаток от деления больше нуля ([кол-во ID] mod 9), то к полученному ранее числу строк прибавляешь еще одну (она будет заполнена не вся до конца).

Потом в цикле пробегаешься по строкам, заполняя все колонки. Как-то так...
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494905
pgiw99oeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот и еще решение подкинули

а если по пути что предложил идти, то про цикл while надо почитать, условие выхода (счетчик>число_записей)
это если ты знаешь склолько записей
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494908
pgiw99oeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только стринггрид с нуля вроде нумеруется
в общем, нужно по месту подгонять, чтоб записи в нужную ячейку писались
при написании программы прогнать несколько раз, посмотреть как пишется, куда
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494914
pgiw99oeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pgiw99oeoвот и еще решение подкинули

а если по пути что предложил идти, то про цикл while надо почитать, условие выхода (счетчик>число_записей)
это если ты знаешь склолько записей
а условие продолжения цикла другое будет (счетчик<=число_записей) , на всякий случай говорю, чтоб мпоменьше проблем было
дерзай, короче... пробуй по разному
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39494931
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НачинающийПрограммер,

авторНа входе есть стрингрид с единственнной колонкой - ключами записей.
ListBox ?
...
Рейтинг: 0 / 0
Массив динамический из таблицы
    #39495580
Спасибо!
Код немного поправил конечно, но в целом работает именно так как и хотелось.
Всем солнечного лета!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Массив динамический из таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]