Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизСтруктурированый масив, и выборка из него Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c