منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
The FieldOffset & Structayout Attributes - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184)
+--- الموضوع : The FieldOffset & Structayout Attributes (/showthread.php?tid=4730)



The FieldOffset & Structayout Attributes - RaggiTech - 01-10-12

كاتب الموضوع : !!! BoriS !!!

المواصفتين The FieldOffset & Structayout Attributes ....

المواصفة Structayout تستخدم للتعامل مع التركيبات من النوع Structure وهى تمكنك من ترتيب متغيرات هذا التركيب داخل ال Memory أقصد ( Stack ) حيث ان Structure من النوع Value Type ..


أستخدامهـــا :

كود :
[color=#000000][COLOR=#007700]<[/color][color=#0000bb]StructureLayout [/color][color=#007700]([/color][color=#0000bb]layotkind[/color][color=#007700].[/color][color=#0000bb]auto[/color][color=#007700])> [/color][COLOR=#0000bb]_

Structure Numbers

Dim One [/COLOR][color=#007700]As [/color][COLOR=#0000bb]Byte
Dim Two [/COLOR][color=#007700]As [/color][COLOR=#0000bb]Byte
Dim Three [/COLOR][color=#007700]As [/color][COLOR=#0000bb]Byte

End Strcture  
[/COLOR][/COLOR]

ارسال القيمة السابقة LayoutKind للمواصفة يعطيك افضل اداء ...
اى انها تقوم بالترتيب اتوماتيكيا ..

اما ان اردت ترتيبها وتحديد مواقعها داخل الذاكرة استخدم Layoutking.Explicit وذلك باستخدام المواصفة FieldOffest



كود :
[color=#000000][COLOR=#007700]<[/color][color=#0000bb]StructLayout[/color][color=#007700]([/color][color=#0000bb]LayoutKind[/color][color=#007700].[/color][color=#0000bb]Explicit[/color][color=#007700])> [/color][COLOR=#0000bb]_
Structure Numbers
[/COLOR][color=#007700]<[/color][color=#0000bb]FieldOffset[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700])> [/color][COLOR=#0000bb]Dim OneAs Byte
[/COLOR][color=#007700]<[/color][color=#0000bb]FieldOffset[/color][color=#007700]([/color][color=#0000bb]1[/color][color=#007700])> [/color][COLOR=#0000bb]Dim TwoAs Byte
[/COLOR][color=#007700]<[/color][color=#0000bb]FieldOffset[/color][color=#007700]([/color][color=#0000bb]2[/color][color=#007700])> [/color][color=#0000bb]Dim Three [/color][color=#007700]As [/color][COLOR=#0000bb]Byte
End Structure  
[/COLOR][/COLOR]

هنا قمنا بترتيبهم الاول والثانى والثالث ..

وأعتذر على التقصير

تحياتى