Главная страница
    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.46 MB
Время: 0.01 c
3-1141039240
DimonNew
2006-02-27 14:20
2006.04.23
BeforeUpdateRecord компоненты DataSetProvider


2-1144261014
MVP
2006-04-05 22:16
2006.04.23
Оптимизация хранения данных для транслятора, который рисует фигур


8-1132654098
whatisthematrix3
2005-11-22 13:08
2006.04.23
Хочу добавить музыку в игру


2-1144649364
Yojik
2006-04-10 10:09
2006.04.23
Не видны данные через Fields и FiledByName в DM


1-1142710002
Volf_555
2006-03-18 22:26
2006.04.23
Как скопировать текст в буффер обмена с минималь. размером файла?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский