PDA

View Full Version : سوال: چگونه با Record ها مثل آرایه ها برخورد کنیم (دسترسی به فیلدها)



بهروز عباسی
سه شنبه 14 خرداد 1392, 23:42 عصر
درود به همه:لبخند:
من یک رکورد دارم که فیلدهاش ممکنه بعداً تقییر کنه این رکورد قراره به یک تابع ارسال بشه ،من نمیخوام بعد از تغییر فیلدها اون تابع هم تغییر کنه و تابع به صورت خودکار اضافه یا کم شدن فیلدها رو حس کنه و ... .
اگه میشد مثل ارایه ها براساس اندیس به فیلدها دسترسی پیدا کرد مشکل حل میشد .
کسی ایده بهتری نداره ؟
امید وارم به اندازه کافی واضح گفته باشم .

ممنون از کمک های شما:چشمک:

ضمن تشکر از همه دوستان مشکلم حل شد(همون روز از روش آقا ماهان استفاده کردم یادم رفته بود اعلان کنم)

Felony
چهارشنبه 15 خرداد 1392, 00:23 صبح
خودت میتونی به وسیله کلاس TList پیادش کنی و به آیتم های اون از طریق Index شون دسترسی داشته باشی .

یوسف زالی
چهارشنبه 15 خرداد 1392, 21:07 عصر
چرا از array of const استفاده نمی کنی؟

MohsenB
چهارشنبه 15 خرداد 1392, 21:25 عصر
درود به همه:لبخند:
من یک رکورد دارم که فیلدهاش ممکنه بعداً تقییر کنه این رکورد قراره به یک تابع ارسال بشه ،من نمیخوام بعد از تغییر فیلدها اون تابع هم تغییر کنه و تابع به صورت خودکار اضافه یا کم شدن فیلدها رو حس کنه و ... .
اگه میشد مثل ارایه ها براساس اندیس به فیلدها دسترسی پیدا کرد مشکل حل میشد .
کسی ایده بهتری نداره ؟
امید وارم به اندازه کافی واضح گفته باشم .

ممنون از کمک های شما:چشمک:

سلام

توضیحتون به نظرم کامل نیست و من نتونستم منظورتون رو بفهمم . لطفا نمونه کد بذارید و یا یه کد آرمانی از منظوزتون قرار بدید .

Ananas
دوشنبه 20 خرداد 1392, 01:51 صبح
TVertex = packed record
case integer of
0 : (
X, Y, Z : Single;
NX, NY, NZ : single;
U, V : Single;
);
1 : (
aPos : array[0..2] of Single;
aNorm : array[0..2] of Single;
aUV : array[0..1] of Single;
);
2 : (
vPos : TD3DXVector3;
vNorm : TD3DXVector3;
vUV : TD3DXVector2;
);
3 : (
XYZNUV : array[0..7] of Single;
);
end;