الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أداة مساعدة للتحويل الى مصفوفة بايت Bytes

مغلقرائج
بدأه Eng. Usama El-Mokadem في 5 سبتمبر 2007 · 1 رد · 21,044 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ،،،

مثال : VBHelper.zip

فى كثير من الأحيان نحتاج إلى تحويل نوع (Type) الى مصفوفة من البيايت (BYTES) لتسهيل التعامل معها أو تداول بيناتها بأى شكل.

فمثلا قد تحتاج الى نقل Type عبر WinSock أو ... الخ

أولاً قم بتعريف الـ Type أو احياناً يطلق عليه Struct (فى لغة C) وهى أختصال إلى Structure أى بناء بينات منتظم، ولنفترض الـ type هو myType كالتالى

Public Type myType
		ID As Long
		Username(81) As Byte
		Password(81) As Byte
End Type

ولتحويله إى مصفوفة بايت اتبع التالى:

1) تعريف المتغير

	Dim Auth As myType
	Dim Buff() As Byte
	Dim BuffLen As Long

حيث Auth هو النوع المراد تحويله الى مصفوفة فى Buff بالطول BuffLen

2) الحصول على الحجم

	BuffLen = Len(Auth)

3) حجز حجم للمصفوفة بطول الـ Auth

	ReDim Buff(BuffLen)

4) ملئ المصفوفة ببيانات الـ Type

	helper.ConvertToByteArray VarPtr(Auth), BuffLen, Buff(0)

حيث تستخدم الدالة ConvertToByteArray لملئ مصفوفة من نوع ما (Type)

اما الدالة ConvertFromByteArray فتستخدم للعكس، أى ملئ Type من مصفوفة

مرفق مثال (تحديث للمثال الموجود فى الموضوع: خطأ في كود إرسال البيانات, في أداة الوينسوك) لتوضيح الاستخدام ، ولإرسال واستقبال Types عبر WinSock

وبلبد قبل بد الإستخدام من تسجيل الأداة المرفقة VBHelper.dll كالتالى

CONSOLE
regsvr32.exe VBHelper.dll

شكراً

VBHelper.zip

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 5 سبتمبر 2007 في 02:14

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#2

فى البداية اخ اسامة لم ارى اسمك على الموضوع فدخلت لارى كاتب الموضوع زو الخيال الواسع وتلك الاداه العجيبة لاضحك قليلا

لكن عندما رايت انك كاتبه غيرت رايى فى الحال

فعلا الموضوع مهم ولكن كانت لى تجربة من نفس النوع لكن بالستخدام دالة CopyMemory بعد تعريف المصفوفة من نوع Byte على حجم ال Struct وبعد ذلك وضعها فى مصفوفة من نوع String تكون ضعف عدد ال Bytes

لكن موضوع جميل وياريت غيابك ميطولش

تم تعديل هذه المشاركة بواسطة حريف برمجة في 5 سبتمبر 2007 في 05:05

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

هذا الموضوع مغلق.

مواضيع مشابهة