Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Структурированый масив, и выборка из него   Найти похожие ветки 

 
MicroWorld ©   (2004-04-27 11:55) [0]

есть несколько масивов с одинаковой структурой. и мне надо на обработчик RadioGroup кинуть какой из масивов будет в StringGrid (имена разные а структура одна, количество строчек не имеет значение).
Столбики в масивах name1, name2 ... и по выборке из Combobox.itemindex я хотел бы прочитать определенный столбик из определенного масива.

как мне эти две вищи организовать с наименьшим кодом.


 
Erik ©   (2004-04-27 13:27) [1]

Используй один масив с дополнительным полем.


 
Юрий Зотов ©   (2004-04-27 13:49) [2]

Почему бы не сделать ОДИН двумерный массив, в котором индекс строки будет выбираться в RadioGroup, а индекс столбца - в Combobox?


 
evvcom ©   (2004-04-27 14:59) [3]

В StringGrid уже надо записать двумерный массив. Причем я так понимаю у автора эти несколько массивов могут иметь разное количество строк?
Тогда что-то типа:

type
 TRecordForArrayForStringGrid = record
   Field1, Field2, ... FieldN: MyType;
 end;
 PRecordForArrayForStringGrid = ^TRecordForArrayForStringGrid;
const
 Arr0: array[0..10] of TRecordForArrayForStringGrid = (...);
 Arr1: array[0..20] of TRecordForArrayForStringGrid = (...);
 Arr2: array[0..30] of TRecordForArrayForStringGrid = (...);
 Arr3: array[0..40] of TRecordForArrayForStringGrid = (...);
type
 TRefRecord = record
   pArr: PRecordForArrayForStringGrid;
   iLastIndex: Integer;
 end;
const
 RefArray: array[0..3] of TRefRecord = (
   (pArr: @Arr0[0]; iLastIndex: High(Arr0)),
   (pArr: @Arr1[0]; iLastIndex: High(Arr1)),
   (pArr: @Arr2[0]; iLastIndex: High(Arr2)),
   (pArr: @Arr3[0]; iLastIndex: High(Arr3)));

...
procedure ...;
var
 l_pArr: PRecordForArrayForStringGrid;
 l_iIndex: Integer;
begin
 l_pArr := RefArray[RadioGroup.ItemIndex].pArr
 for l_iIndex := 0 to RefArray[RadioGroup.ItemIndex].iLastIndex do begin
   StringGrid... := l_pArr^.Field;
   Inc(l_pArr);
 end;
end;

Писал без проверки, так что возможны глюки. Так сойдет?



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
14-1082886479
Oyster
2004-04-25 13:47
2004.05.16
День программиста


3-1082388213
volser
2004-04-19 19:23
2004.05.16
Как програмно узнать, установлен ли InterBase


6-1080543570
Layner
2004-03-29 10:59
2004.05.16
UDP посылки. Возможно ли получить UDP сообщение от Win2000


14-1083131335
Style
2004-04-28 09:48
2004.05.16
Не совсем уверен в своем коде


1-1083230597
DBGrid
2004-04-29 13:23
2004.05.16
Ребята помогите мне с гридом проблема уже решалась тута