السلام عليكم يا شباب
انا واحد تعلمت الدلفي حديثا تقريبا... وأحتاج تعامل مع الذاكرة على النحو التالي باختصار:
R1 = packed record Cmd: Byte; Data: Cardinal; //LongWord end; R2 = packed record PN: Byte; State: Byte; end; procedure DoSomething1; var R: R1; begin R.Cmd:= 5; R.Data:= 1234567890; DoSomething2®; end; procedure DoSomething2(var pR) var R: R2; beign R.PN:= 66; R.State:= 12; // here will be what i want هنا الذي أريده وراح أشرحه تحت end;
أبغى ألحين Pointer مؤشر يشير إلى منطقة في الذاكرة حجمها عبارة عن مجموع R1 + R2 أي pR + R وأسجل R في بداية المنطقة و pR بعدها في نفس المنطقة زي الرسم :
Pointer->
=================
=R(R2) data=pR(R1) Data=
=================
طبعا عندي خبره عن أوامر الرام زي AllocMem, GetMem وأوامر التعامل مع المؤشرات :) يعني ما راح أتعبكم لول :)
وأرجوا ما أكون طولت عليكم وشكرا
MohannaD