Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизКак обратиться к элементам массива записей без использования имен Найти похожие ветки
← →
shapm © (2006-04-10 11:17) [0]Есть запись
TsNro = record
sStat: string;
s1kv, s2kv, s3kv, s4kv, sgod: double;
end;
Есть соответсвующий массив, для начала статический
sNro: Array[1..100] of TsNro;
обращение к элементам массива
for i:=1 to N
sNro[i].sStat:=.......;
sNro[i].s1kv:=.......;
sNro[i].s2kv:=.......;
sNro[i].s3kv:=.......;
sNro[i].s4kv:=.......;
sNro[i].sgod:=.......;
как обратиться к элементам массива записей без использования имен полей????
т.е.
вместо sNro[i].sStat писать что-то вроде
sNro[i, 1]:=.... (не проходит)
или
sNro[i][ 1]:=.... (не проходит тоже)
или
sNro[i],[ 1]:=.... (не проходит тоже)
или определить массив по-другому ......
Array[1..100,1..5] of TsNro;
← →
Palladin © (2006-04-10 11:23) [1]никак
← →
Плохиш © (2006-04-10 11:30) [2]
> как обратиться к элементам массива записей без использования
> имен полей
Орехи жарим? :-)
PS. Вообще-то слова "массива" и "записей" надо поменять местами.
PSS. Почитай про вариантные части записей, может новые мысли появятся.
← →
Anatoly Podgoretsky © (2006-04-10 12:21) [3]Все проходит, только справа должно выть совместимое выражение, типа TsNro
← →
TUser © (2006-04-10 12:25) [4]В данном случае
TsNro = packed record
var d: ^double;
for i:=... // цикл по записям
for j:=... // цикл по полям
d := pointer (integer(@RECS[i]) + sizeof(string) + sizeof(double) * j);
d^ := // требуемое значение
← →
shapm © (2006-04-10 12:48) [5]Всем СПАСИБО за советы, особенно за поинтеры, обязательно проверю и воспользуюсь.
Пардон м.б. за нечеткую постановку, однако, проходит вот такой вариант, который меня вполне устраивает на данном этапе.
определю запись вот так
TsNro = record
sStat: string;
ssumm: array[1..5] of double;
end;
соответсвующий массив, для начала статический
sNro: Array[1..100] of TsNro;
и обращение к элементам массива
for i:=1 to N do begin
sNro[i].sStat:=.......;
for k:=1 to 5 do begin
sNro[i].ssumm[k]:=.......;
end;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c