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

Вниз

Как определить имя поля в рекорде?   Найти похожие ветки 

 
McSimm2   (2003-06-04 10:20) [0]

Есть массив рекордов.

TRec = record
f1,f2,f3,f4,f5: string;
end;

MasRec = array of Trec;
FRec: MasRec;


и есть переменная "А" которая может принимать значение - название поля из рекорда, т.е. : f1,f2,f3,f4,f5.

Как сделать, что получив значение переменной "А" равной, например f3 мне обратиться к FRec[i].f3


 
han_malign ©   (2003-06-04 10:22) [1]

if then
else if then
else if then
..............
больше никак


 
Skier ©   (2003-06-04 10:28) [2]

Можно попробовать так : каждому имени поставить в соответствие
смещение (поля в записи) и потом через кастинг на (^String) брать значения, благо все поля одного типа...


 
McSimm2   (2003-06-04 10:28) [3]

>> han_malign © (04.06.03 10:22)
Спасибо, как ни странно помог :)))


 
han_malign ©   (2003-06-04 10:35) [4]

if((Length(A)>1)and(A[2]in["1".."5"])then begin
res:=String(Pointer(LongWord(@FRec[i])+(byte(A[2])-byte("1"))*4)^)
end;
где то так, для данного конкретного случая, но if then - все таки надежней


 
Anatoly Podgoretsky ©   (2003-06-04 10:49) [5]

McSimm2 (04.06.03 10:28)
Странно было бы если цивильный, не хакерский путь не помог.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
14-50513
LOX
2003-05-30 09:20
2003.06.16
Код клавиши Enter.


3-50232
Patrick
2003-05-21 10:01
2003.06.16
Изменения данных при использовании ADO.


7-50538
JibSkeart
2003-04-10 12:26
2003.06.16
как узнать (програмно) запущен ли, или остновлен Сервис


7-50528
Dimaz-z
2003-04-10 15:23
2003.06.16
Как созжать и поместить ярлык?


7-50530
Andrey Filatow
2003-04-03 15:30
2003.06.16
Программирование голосового модема