بسم الله الرحمن الرحيم
- سأقتبس من طريقة أخى عمر أمين a_pess الرائعة فى وصف الموضوع –
الموضوع : أساليب حفظ وقراءة البيانات المعتمدة فى الدوت نت
لغة التطبيق : visual basic 2005
إعداد : محمد م م - [vbm ]
وصف المحتوى : تطبيق بسيط لحفظ وقراءة ملف صورة بتنسيق binary
مقدمة
على حسب إعتقادى توجد ثلاثة طرق متبعة فى التعامل مع الملفات
وهى :
· طريقة الحفظ على هيئة ملفات نصية بسيطة والتى يكون إمتدادها txt وهى الطريقة التى نتعامل معها كثيرا منذ عصر vb6 - لن نركز عليها -
· طريقة الحفظ بالشكل الثنائى الذى يفهمة الحاسوب وتحفظ بهذة الطريقة معظم الملفات الأخرى كالميديا والصور وملفات البرامج الشهيرة مثلا pdf - وسيكون موضوعنا البسيط عنها -
· طريقة الحفظ بأسلوب ملفات الترميز xml الحديث والمتعارف علية حاليا كمعيار أساسى لحفظ وتنسيق وتبادل البيانات
وهذة الطرق الثلاثة معترف بها فى الدوت نت وتقدم لها فئات كثيرة لتسهيل التعامل معها
وسيكون مثلنا هنا على طريقة حفظ صورة بتنسيق ملف ثنائى ثم كيفية إستدعاؤة والقراءة منة
وسنحاول بذلك أن نستكشف بداية الطريق لصنع ملفات تخص تطبيقاتنا بتنسيق نعرفة ونفهمة نحن فقط
مثل ملفات برنامج word مثلا
' إستدعاء فضاء الأسماء الخاص بعمليات الأدخال والأخراج
Imports system.io
' إستدعاء فضاء الأسماء الخاص بتنسيق الملفات الثنائية
Imports System.Runtime.Serialization.Formatters.Binary
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' معالجة الحدث لزر كتبة وحفظ الصورة بالتنسيق الثنائى غلى ملف
' تعريف متغير من نوع الصورة لوضع الصورة المختارة بة
Dim ximg As Image
' تحميل الصورة المعروضة إلى متغير الصورة السابق
ximg = Me.xpic.Image
' تعريف متغير من نوع الملف وإنشاء ملف فى مجلد البرنامج يحمل الأمتداد vbm
Dim saveFile As FileStream = File.Create(Application.StartupPath & "\img_bin.vbm")
' تعريف متغير من نوع منسق البيانات الثنائية لتنسيق الصورة لشكل ثنائى
Dim formatter As New BinaryFormatter
' حفظ الصورة إلى الملف المنشأ فى صورة تنسيق ثنائى
formatter.Serialize(saveFile, ximg)
' إغلاق الملف
saveFile.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' معالجة حدث قراءة الصورة من الملف وعرضها
Dim readFile As FileStream
' فتح الملف للقراءة
readFile = File.OpenRead(Application.StartupPath & "\img_bin.vbm")
' تعريف متغير من نوع المنسق الثنائى لقراءة الملف بالتنسيق الثنائى
Dim BFormatter As New BinaryFormatter()
' تعريف متغير من نوع صورة لتحميل الصورة المقرؤة بعد تحويلها إلية
Dim yimg As Image
' إستخدام دالة التحويل لتحويل البيانات الثنائية المقرؤة بعد فك تنسيقها إلى صورة
yimg = CType(BFormatter.Deserialize(readFile), Image)
' رسم الصورة فى أداة الصورة على النموذج
Me.ypic.Image = yimg
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
' معالجة حدث مسح الصورة المرسومة
Me.ypic.Image = Nothing
End Sub
End Class

