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

Вниз

Как обратиться к элементам массива записей без использования имен   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
15-1143659754
cyc
2006-03-29 23:15
2006.04.23
Почему выбирают 1С


15-1144126390
Ega23
2006-04-04 08:53
2006.04.23
С Днём рождения! 4 апреля


1-1142567293
tigra
2006-03-17 06:48
2006.04.23
Работа с реестром


2-1144405733
zorik
2006-04-07 14:28
2006.04.23
Станартные функции работы со строками


2-1144751826
Сергей И.
2006-04-11 14:37
2006.04.23
Помогите пожалуйста очень срочно нужно