قواعد المشاركة في المنتدى

(منتدى البرامج) الموضوع:تصميم وبرمجة تطبيقات الهواتف الذكية مع أطياف بواسطة: (ديزاينر 20) :: (منتدى تصميم صفحات الويب) الموضوع:تصميم وبرمجة تطبيقات الهواتف الذكية مع أطياف بواسطة: (ديزاينر 20) :: (قسم الاعلانات) الموضوع:دورة الإدارة الإلكترونية و مهارات التعامل مع نظم دعم القرار والنظم الخبيرة تعقد في مصر بواسطة: (مي عمر) :: (قسم الاعلانات) الموضوع:عرض خاص خلال الاسبوع علي جهاز حضور والانصراف IDM-950 بواسطة: (eng sara) :: (قسم الاعلانات) الموضوع:دورة تحليل الموازنة العامة تعقد في مختلف دول العالم على مدار العام بواسطة: (المجد للتدريب) :: (قسم الاعلانات) الموضوع:دورات في شؤون الموظفين تعق بواسطة: (المجد للتدريب) :: (قسم الاعلانات) الموضوع:الأنظمة الأمنية المتكاملة بواسطة: (ضيااء) :: (منتدى الأكسس) الموضوع:عدم اخراج كميات بالفاتورة اكبر من الموجودة في طلب التوريد بواسطة: (almosafer almasry) :: (منتدى الأكسس) الموضوع:طلب اتصال الاسكانر مع الفورم اكسيس وعرض الصور بواسطة: (P.C.C) :: (قسم الاعلانات) الموضوع:أفضل شركة عفش بالمدينة المنورة 0554901277 شركات نقل الاثاث اسماء المدينة بواسطة: (اسماء المدينة) :: (منتدى الأكسس) الموضوع:كيف اربط صنف مخزن صيدلية على وحدات مختلفة بواسطة: (iron2010) :: (منتدى الأكسس) الموضوع:تطبيق الشرط فى جملة If اكثر من مرة بواسطة: (amr ashraf) :: (منتدى تصميم صفحات الويب) الموضوع:تصميم وبرمجة تطبيقات الهواتف الذكية مع أطياف بواسطة: (ديزاينر 20) :: (منتدى الأكسس) الموضوع:اضافة اكثر من مستخدم في وقت واحد عن طريق بواسطة: (startnet) :: (منتدى التصميم والجرافيكس) الموضوع:تصميم تطبيقات الجوال مع أطياف بواسطة: (ديزاينر 20) :: (منتدى الأكسس) الموضوع:مطلوب المساعدة من ذوي الخبرة في نموذج ادخال بيانات بواسطة: (startnet) :: (قسم الاعلانات) الموضوع:بمناسبة أعياد الربيع عرض خاص لجهاز حضور والانصراف IDM-950 بواسطة: (eng sara) :: (منتدى ADO.NET العام) الموضوع:شقق مفروشة للايجار بأفضل المستويات والاسعار بالقاهرة الصور 00201227389733 بواسطة: (دنيامحمد) :: (قسم الاعلانات) الموضوع:شقق مفروشة للايجار بأفضل المستويات والاسعار بالقاهرة الصور 00201227389733 بواسطة: (دنيامحمد) :: (منتدى الأكسس) الموضوع:احتاج مساعدتكم يا اهل الخبرة بواسطة: (ابوريداء)


راديو القرآن

المواضيع المثبته: (منتدى Microsoft SQL Server) الموضوع:ما المقصود بتقنية replication بواسطة: (SQL Student) :: (القسم المفتوح) الموضوع:قصص الأنبياء عليهم السلام .جميعا بواسطة: (غزاوية أصيلة) :: (منتدى Microsoft Visual Basic) الموضوع:دورة التعامل مع قواعد بيانات Oracle بإستخدام ADO بواسطة: (Max Bayne) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:مكتبة الأمثلة والتطبيقات للغة #C بواسطة: (النور) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:مراحل تحليل النظم لدراسة نظام قائم بواسطة: (jbsa) :: (منتدى الكتب الالكترونية) الموضوع:كتاب مشروع تطبيقي باستخدام لغة ASP بواسطة: (ismail damaran) :: (القسم المفتوح) الموضوع:الى الاخوه الاعضاء مع التحيه والتقدير بخصوص العناوين للمشاركة بواسطة: (startnet) :: (منتدى برمجة التقارير) الموضوع:اصنع تقريرك في اقل من دقيقه واستغني عن الكريستال ريبورت بواسطة: (mero_make) :: (منتدى برمجة التقارير) الموضوع:أداة لطباعة اي DataGridView بواسطة: (jbsa) :: (منتدى Borland Delphi) الموضوع:دورة تعليمية في تصميم دليل هاتف في دلفي بواسطة: (مهند عبادي) :: (قسم الدروس و الدورات) الموضوع:لتحميل مجموعة امثله على الفيجوال بيسيك دوت نت 2005 بواسطة: (HnHn) :: (منتدى الوورد والباور بوينت) الموضوع:مكتبة الوورد بواسطة: (ramies) :: (منتدى مبرمجي ASP) الموضوع:تحزين سجلات داخل ملفات اكسل و xml وورد ..إلخ بواسطة: (عبدالله جابر شقليه) :: (منتدى برمجة الجرافكس) الموضوع:كلمه بخصوص قسم الجرافيك الجديد بواسطة: (alaa gomaa) :: (منتدى Microsoft Visual Basic) الموضوع:حصريا Microsoft Visual Studio 6.0 كاملة بواسطة: (Max Bayne) :: (منتدى Microsoft Visual Basic) الموضوع:دورة التعامل مع Data Report باستخدام ADODC ( شرح بالصور ) بواسطة: (Max Bayne) :: (منتدى البرامج) الموضوع:شروط وضع المواضيع في قسم البرامج بواسطة: (kkarem55) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:E-Business Suite بواسطة: (وليد القدسي) :: (منتدى مبرمجي ASP) الموضوع:دورة احترافيه لبناء منتدى على asp بواسطة: (عبدالله جابر شقليه) :: (منتدى Microsoft Excel) الموضوع:شرح دوال الاكسيل كلِ على حده بواسطة: (ramies)

عدد الصفحات : 15  1  2  3  4  5   > » إضافة رد إضافة موضوع جديد

> طريقة تخزين أي نوع ملفات في Access DataBase ومشاهدتها وتشغيلها,تعلم الاحتراف في طريقة تخزين الملفات والتعامل معها
Bookmark and Share
تقييم الموضوع Label معدل التقيم:5
مشاركةالثلاثاء,18/ربيع الأول/1429 هـ,07:41 صباحاً
المشاركة #1

خبيرتحليل نظم و دوت نت
الرتبة في المنتدى:عماد

أيقونة المجموعة

المجموعة: مشرفي الموقع
المشاركات: 3849
سجل في:الأحد,17/محرم/1428 هـ,05:57 صباحاً
الدولة:الأردن
رقم العضوية: 19244





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

إخواني أعضاء المحيط العربي المحترمين

أقدم لكم درس في برمجة مشروع للتعامل مع الملفات وطريقة تخزينها في ملف Access DataBase ومشاهدتها
وتشغيلها وإعادة تخزينها على الهارد دسك. VB.Net 2005

وسنتعلم في هذا المشروع ما يلي :
1- طريقة تصميم وإضافة Access DataBase وعمل DataSet و DataGridView بشكل تلقائي.
2- طريقة تخزين الملفات في Access DataBase
3- طريقة إلغاء الملفات من Access DataBase
4- طريقة جلب أو قراءة الملفات من Access DataBase
5- طريقة تخزين الملفات من Access DataBase الى الهارد دسك.
6- عرض الملفات المخزنة من نوع الصور.



7- عرض الملفات المخزنة والتي تعمل على Windows MediaPlayer





8- عرض الملفات المخزنة والتي تعمل على RealPlayer



9- عرض الملفات المخزنة والتي تعمل على AcroBat (PDF)



10- عرض الملفات المخزنة والتي تعمل على FlashPlayer



11- عرض الملفات المخزنة والتي تعمل على Gif Animation



12- عرض الملفات المخزنة والتي تعمل على Web Page (html,htm)



13- عرض الملفات المخزنة والتي تعمل على Office (97-2007-Word,Excel,PowerPoint)







14- عرض الملفات المخزنة والتي تعمل على Text File,RichText (Txt,Rtf)



15- طريقة تشغيل الملفات غير المذكورة اعلاه.



16- طريقة معرفة الملف بأي برنامج هو مرتبط عن طريق Registry وتخزينها في FileInfo في DataBase



17- طريقة إنشاء واستخدام الملفات في TempraryFile وطريقة تفريغها.

ونبدأ أولا بالأدوات التي سنحتاجها :
1- أن يكون على جهازك Acrobat Reader .
2- أن يكون على جهازك Microsoft Office أي نسخة (97-2007).
3- أن يكون على جهازك Windows MediaPlayer .
4- أن يكون على جهازك RealPlayer .
5- أن يكون على جهازك FlashPlayer .

واعتقد أن جميع هذه البرامج موجودة على أجهزة الجميع والأدوات التي من الممكن أن تكون غير الموجودة عند
الجميع والتي سنحتاجها هي :
1- أداة مجانية من Microsoft للمطورين وحجمها (100KB) فقط وهي لعرض ملفات Office داخل
برنامجك (Form ) , وسأضع رابط تنزيلها عند البدء بشرحها وطريقة إضافتها لمشروعك .

2- الأداة الثانية هي AniGif.OCX وسأضعها في المرفقات عند البدء بشرحها.
ولقد استغربت كثيراً انه عند تخزين الملفات في DataBase يكون حجم DataBase اقل من مجموع حجم الملفات
المفردة ، هذا يعني انه مناسب جدا لتخزين الملفات بهذه الطريقة.

وسأقوم بشرح المشروع خطوة خطوه فتابعونا لكي يكتمل المشروع ويستفيد منه الجميع إنشاء الله.

ونبدأ بالخطوة الأولى:

تصميم ملف Data على برنامج Access DataBase Microsoft ولنسميه FileStore ويحتوي على
الحقول التالية :

FileName,FileType,FileData,FileSize,FileInfo ولعمل Primary Key نقوم باختيار بالماوس
على FileName , FileType وثم نضغط زر المفتاح Primary Key وكما في الصورة التالية :



ثم نخزن الملف على أساس انه Access 2000 أو Access 2002-2003 وبذلك يكون جاهز.

الخطوة الثانية :

قم بفتح مشروع جديد وسميه بما تشاء واجعل Form1 فيه اكبر حجم ممكن (ملء الشاشة ).
ضع من toolbox أداة panel1 على يسار الشاشة واجعل عرضها 300 أو ما يناسبك لوضع فقط الأزرار فيها الآن
وضع panel2 على يمين الشاشة (وهي مهمة في برنامجنا هذا ) وقم بإضافة الأزرار كما في الصورة التالية :



الآن نضيف Access DataBase و عمل DataSet ونشرحها بالتفصيل كما في الصورة التالية :



ولعمل DataGridView ونربطها مع DataSet وإنشاء BindingSource ,TableAdapter ونشرحها
بالتفصيل كما في الصورة التالية :



وينتج عندنا كود في Form1_Load ونختار منه التالي ونقوم بشطب الباقي.
 كود

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.FileStoreTableAdapter.Fill(Me.DBDataSet.FileStore)

Stop_All() ' Private Sub سنكتبة لاحقاً

End Sub

هنا نكتفي هذا اليوم حتى يتسنى لكم عمل وتنسيق ما ذكر سابقا ، فتابعونا حتى يكتمل المشروع

تحياتي للجميع
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,18/ربيع الأول/1429 هـ,04:53 مساءً
المشاركة #2

الرتبة في المنتدى:ملازم أول

أيقونة المجموعة

المجموعة: أعضاء فعالين
المشاركات: 331
سجل في:الأحد,15/فر/1428 هـ,08:27 صباحاً
الدولة:السعودية
رقم العضوية: 20852



السلام عليكم ورحمة الله تعالى وبركاته
احييك على الموضوع الأكثر من رائع والشرح الممتاز الذي زادني حماس لأبدأ معك على الفور

جزاك الله الف خير


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأربعاء,19/ربيع الأول/1429 هـ,03:47 صباحاً
المشاركة #3

خبيرتحليل نظم و دوت نت
الرتبة في المنتدى:عماد

أيقونة المجموعة

المجموعة: مشرفي الموقع
المشاركات: 3849
سجل في:الأحد,17/محرم/1428 هـ,05:57 صباحاً
الدولة:الأردن
رقم العضوية: 19244





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

شكرأ للاخت شهرزاد على مشاركتها في الموضوع وتحياتي لك.

سنكمل المشروع الآن ، وذلك بعمل التنسيق التالي للفورم ونذهب إلى خاصية MinimumSize
ونجعل قيمتها ((900,700 أو الحجم الذي يناسبك حتى تبقى جميع المعلومات ظاهرة على الشاشة
ونبقي على MaximumSize (0,0) و Size اكبر رقم ممكن حسب شاشتك ، ومن خصائص
Panel2 نغير خاصية Anchor ونجعلها Top,Bottom,Left,Right وبهذا عند تغيير حجم الفورم
يتغير حجم Panel2 بشكل تلقائي ويبقى كل ما وضعناه في Panel1 واضح وظاهر على الشاشة ولا
يتأثر بتغيير حجم الفورم .

ونأتي الآن إلى التعريفات والثوابت التالية لاستخدامها في البرنامج وهي عمل فلتره للملفات التي
سنقوم باستخدامها ويمكنكم إضافة ما تريدون عليها ، وكذلك متغيرات لتخزين الحقول وتعريف
OleDbConnection وتوضع في بداية Class Form1
 كود

Private Const Audiofiles As String = "Audio files (*.wav, *.mpa, *.mp2, *.mp3, *.au, *.aif, *.aiff, *.snd, *.wma, *.mid, *.midi, *.rmi, *.rm, *.amr)|*.wav; *.mpa; *.mp2; *.mp3; *.au; *.aif; *.aiff; *.snd; *.wma;*.mid; *.midi; *.rmi;*.amr"
Private Const Videofiles As String = "|Video files (*.avi, *.qt, *.mov, *.mpg, *.mpeg, *.m1v, *.wmv, *.3gp,*.rm)|*.avi;*.qt;*.mov;*.mpg;*.mpeg;*.m1v;*.wmv;*.3gp;*.rm;*.swf;*.asf"
Private Const ImageFiles As String = "|Picture File (*.Jpg,*.Bmp,*.Gif,*.Tif,*.Png,*.Jpe)|*.jpg;*.bmp;*.Tif;*.Gif;*.png;*.jpe"
Private Const Officefiles As String = "|Office Files (*.Doc,*.Docx,*.docm,*.Xls,*.Xlsx,*.xlsm, *.xlsb,*.Ppt,*.pptx,*.pptm,*.Mdp,*.Txt,*.Rtf)|*.xls;*.xlsx;*.xlsm; *.xlsb;*.docx;*.doc;*.docm;*.ppt;*.pptx;*.pptm;*.mdp;*.txt;*.rtf"
Private Const Acrobatfiles As String = "|Acro PDF Files (*.Pdf)|*.pdf"
Private Const WebPagefiles As String = "|Web Page Files (*.html,*.htm)|*.html;*.htm"
Private Const Allfiles As String = "|All Files (*.*)|*.*"
Private Const FILES_FILTER As String = Audiofiles & Videofiles & ImageFiles & Officefiles & Acrobatfiles & WebPagefiles & Allfiles
Dim FileStream As System.IO.FileStream
Dim Reader As System.IO.BinaryReader = Nothing 'طريقة قرائة الملفات
Dim FileData As Byte() = Nothing 'لحفظ الملف
Dim FileType As String = "" ' نوع الملف
Dim FileName As String = "" ' اسم الملف
Dim FileSize As Double = 0 ' حجم الملف
Dim FileInfo As String = "" ' نوعية الملف كما هو في مخزنRegistry
Dim Pathf As String 'مسار الملف
Dim Dlg As OpenFileDialog = New OpenFileDialog ' لفتح الملفات
Dim Conn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Windows.Forms.Application.StartupPath & "\DB.mdb;Mode=ReadWrite;Persist Security Info=False")

وسنبدأ بكتابة Function الذي سنستخدمه لقراءة بيانات الملف من Registry بأي برنامج هو مرتبط وذلك حسب نوعية
الملف حتى نقوم بتخزينها في FileInfo فيما بعد ، وهو عبارة عن قراءة ملخص نوعية الملف.
 كود

Function GetFileDescription(ByVal filePath As String) As String
' get the classname from the registry
Dim regKey As Microsoft.Win32.RegistryKey = Nothing
Try
regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(New System.IO.FileInfo(filePath).Extension)
If Not regKey Is Nothing Then
' read the file's class name
Dim className As String = regKey.GetValue("")
If className.Length > 0 Then
Dim regKey2 As Microsoft.Win32.RegistryKey = Nothing
Try
' read the file type description
regKey2 = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey _
(className)
Return regKey2.GetValue("")
Catch e As Exception
Finally
If Not regKey2 Is Nothing Then regKey2.Close()
End Try
End If
End If
Catch e As Exception
Finally
If Not regKey Is Nothing Then regKey.Close()
End Try
Return Nothing
End Function

وهنا نكون قد انتهينا من البنية الأساسية التي سنحتاجها في البرنامج. ونبدأ بكتابة الإجراءات (فتح،تخزين،جلب،مشاهدة ،
وغيرها ) وعددها عشرة إجراءات وهي :

الإجراء الأول :
ونبدأ بفتح الملف وتخزينه في الذاكرة ونقرأ بياناته ونوعية الملف، ونقوم بقراءة جميع الملفات على أساس أنها Binary
بغض النظر عن نوعها .
نقوم بالضغط على زر (فتح) مرتين ونكتب الكود التالي فيه
 كود

Private Sub BrowseAccessFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrowseAccessFile.Click
Dlg.Filter = FILES_FILTER 'لفتح الملفات وفلترتها
Stop_All() 'نقوم بوقف جميع البرامج العاملة
If DataFile.Text.Length > 0 Then
Dlg.FileName = DataFile.Text
End If
If Dlg.ShowDialog = DialogResult.Cancel Then
Return
End If
DataFile.Text = Dlg.FileName
FileName = System.IO.Path.GetFileNameWithoutExtension(dlg.FileName)
FileType = System.IO.Path.GetExtension(dlg.FileName).ToLower
Label2.Text = FileName
If DataFile.Text.Length <= 0 Then
MessageBox.Show("يجب كتابة اسم للملف", Text)
Return
End If
Try
FileStream = New System.IO.FileStream(DataFile.Text, System.IO.FileMode.Open, System.IO.FileAccess.Read)
Reader = New System.IO.BinaryReader(FileStream) ' تعريف القارئ
FileData = Nothing 'تفريغ البيانات
FileData = Reader.ReadBytes(CType(FileStream.Length, Integer)) 'قراءة الملف
FileSize = FileData.Length 'حجم الملف
FileStream.Close()
Pathf = Dlg.FileName.ToLower 'اسم الملف
FileInfo = GetFileDescription(Pathf) ' Registryقراءة بينات الملف من
If FileInfo = "" Then FileInfo = " "
Stop_All() 'اجراء لوقف أي برنامج الان
PreviewFile(FileType, Me.Panel2, Pathf) ' عمل مشاهدة للملف سنكتبه لاحقا
Catch ex As Exception
MessageBox.Show(Err.Description, "خطأ في جلب الملف")
Finally
MessageBox.Show("تم جلب الملف", "File ( Load )", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
End Try
End Sub

هنا نكون قد قرأنا الملف ووضعناه في المتغير FileData ويمكننا مشاهدته حسب نوعه المعرف عندنا والآن بعد قراءته
يمكننا تخزين الملف في DataBase.

الإجراء الثاني :
نضغط على زر حفظ الملف في DataBase ونكتب الإجراء التالي : وهنا وضعت التخزين والتعديل بنفس الإجراء فإذا
لم يكون الملف موجود فيقوم بتخزينه في SqlNew وأما إذا كان نفس اسم الملف ونوعيته (Extension) نفسها موجود
فيقوم بتعديل الملف في SqlUpd

 كود

Private Sub SaveFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveFile.Click

Dim SqlNew As String = "INSERT INTO FileStore (Filename,FileType,FileData,FileSize,FileInfo) VALUES (?,?,?,?,?)"
Dim SqlUpd As String = "UPDATE FileStore SET FileData = ?, FileSize = ?, Fileinfo = ? WHERE (Filename = ?) AND (FileType = ?)"
Try
Dim cmdNew As New System.Data.OleDb.OleDbCommand(SqlNew, conn)

cmdNew.Parameters.Add("@Filename", System.Data.OleDb.OleDbType.VarChar).Value = FileName
cmdNew.Parameters.Add("@FileType", System.Data.OleDb.OleDbType.VarChar).Value = FileType
cmdNew.Parameters.Add("@FileData", System.Data.OleDb.OleDbType.Binary).Value = FileData
cmdNew.Parameters.Add("@FileSize", System.Data.OleDb.OleDbType.Double).Value = FileSize
cmdNew.Parameters.Add("@FileInfo", System.Data.OleDb.OleDbType.VarChar).Value = FileInfo
conn.Open()
cmdNew.ExecuteNonQuery() 'هذا الامر لتنفيظ الحفظ
Catch ex As Exception
If Err.Number = 5 Then ' هذا الخطأ يعطينا ان الملف موجود
Try
If conn.State = ConnectionState.Open Then
conn.Close()
End If
Dim cmdUpd As New System.Data.OleDb.OleDbCommand(SqlUpd, conn)

cmdUpd.Parameters.Add("@Filename", System.Data.OleDb.OleDbType.VarChar).Value = FileName
cmdUpd.Parameters.Add("@FileType", System.Data.OleDb.OleDbType.VarChar).Value = FileType
cmdUpd.Parameters.Add("@FileData", System.Data.OleDb.OleDbType.Binary).Value = FileData
cmdUpd.Parameters.Add("@FileSize", System.Data.OleDb.OleDbType.Double).Value = FileSize
cmdUpd.Parameters.Add("@FileInfo", System.Data.OleDb.OleDbType.VarChar).Value = FileInfo
conn.Open()
cmdUpd.ExecuteNonQuery() ' لحفظ التعديلات
Catch exx As Exception
MessageBox.Show(Err.Number.ToString & Chr(13) & exx.Message, "خطأ في تعديل الملف ")
End Try
Else
MessageBox.Show(Err.Number.ToString & Chr(13) & Err.Description, "خطأ في تخزين الملف ")
End If
Finally
MessageBox.Show("تم تخزين/تعديل الملف", "File ( Save )", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
Me.FileStoreTableAdapter.ClearBeforeFill = True
Me.FileStoreTableAdapter.Fill(Me.DBDataSet.FileStore) 'لاعادة ملء dataset (Refresh)
DataGridView1.Refresh()
End Try
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End Sub


الإجراء الثالث :
بعد قراءة الملف وتخزينه نأتي الآن إلى كيفية إلغائه نضغط بالماوس على اسم الملف في DataGridView
وعندها يجب أن نكتب هذا الإجراء أولا حتى نضع اسم الملف ونوعه في label2,label3 كلما انتقلنا بالماوس أو
الأسهم في DataGridView
 كود

Private Sub DataGridView1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.CurrentCellChanged
Try
Label2.Text = Me.DataGridView1.CurrentRow.Cells.Item(0).Value
Label3.Text = Me.DataGridView1.CurrentRow.Cells.Item(1).Value
Catch ex As Exception
End Try
End Sub


وهنا نكون قد أسندنا اسم الملف ونوعه إلى Label2,label3 والتي سنعتمد عليها بإلغاء الملف أو في مشاهدة الملف

الإجراء الرابع :
وهو لإلغاء الملف من DataBase ، ونضغط على زر إلغاء مرتين ونكتب الكود التالي :

 كود

Private Sub DeleteFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteFile.Click
Dim y As Byte
Try
y = MessageBox.Show(" هل ترغب بالغاء هذا الملف", Label2.Text & Label3.Text, MessageBoxButtons.YesNo)
If y = 6 Then
Dim sql As String = "DELETE FROM FileStore WHERE FileName='" & Label2.Text & "' And FileType='" & Label3.Text & "'"
conn.Open()
Dim cmd As OleDbCommand = New OleDbCommand(sql, conn)
cmd.ExecuteNonQuery() 'تنفيذ امر الالغاء
End If
Catch ex As Exception
MessageBox.Show(Err.Description, "حدث خطأ في الغاء الملف")
Finally
If y = 6 Then
MessageBox.Show("تم الغاء الملف !", "File (Delete)", MessageBoxButtons.OK, MessageBoxIcon.Information)
Me.FileStoreTableAdapter.ClearBeforeFill = True
Me.FileStoreTableAdapter.Fill(Me.DBDataSet.FileStore)
End If
DataGridView1.Refresh()
End Try
conn.Close()
End Sub


حتى الآن قمنا بعمل (فتح ، حفظ أو تعديل ، وإلغاء) والخطوة التالية لجلب الملف وهي قراءته من DataBase وهنا بما
أننا نقرأ الملف Binary فلا يمكن لنا تشغيله إلا إذا قمنا بتخزينه على الهارد ديسك مرة أخرى حتى يأخذ نوعية الملف
المرتبط به للتشغيل في Registry وهنا سنستعمل Temporary Files المعرفة بالجهاز وعادة تكون في
C:\Documents and Settings\Administrator\Local Settings\Temp

الإجراء الخامس :
سننشأ فولدر خاص بنا في Temp حيث سنقوم بتفريغه عند الخروج من البرنامج وهنا سنختارها بشكل تلقائي بأمر
GetTempPath ، نضغط على زر جلب مرتين ونكتب الكود :

 كود

Private Sub loadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles loadFile.Click
Try
Dim sqlLod As String = "SELECT FileData FROM FileStore WHERE FileName='" & Label2.Text & "' And FileType='" & Label3.Text & "'"
conn.Open()

Dim cmdF As OleDbCommand = New OleDbCommand(sqlLod, Conn)

Dim b() As Byte
b = cmdF.ExecuteScalar()

If (b.Length > 0) Then
Dim stream As New MemoryStream(b, True)
stream.Write(b, 0, b.Length)

If Label3.Text.Length > 0 Then
If Not System.IO.Directory.Exists(System.IO.Path.GetTempPath() & "Jbsa\") Then
System.IO.Directory.CreateDirectory(System.IO.Path.GetTempPath() & "Jbsa\")
End If
End If

Pathf = System.IO.Path.GetTempPath() & "Jbsa\" & System.IO.Path.GetRandomFileName + Label3.Text 'لاختيار اسم عشوائي

If File.Exists(Pathf) Then
File.Delete(Pathf) ' اذا نفس الاسم موجود نقوم بالغائة
End If

FileStream = File.Create(Pathf)
Dim info As Byte() = b
FileStream.Write(info, 0, info.Length)
FileStream.Close()
stream.Close()
Stop_All()
MsgBox( " تم تخزين الملف باسم "& Pathf)
PreviewFile(Label3.Text, Me.Panel2, Pathf)
End If
Catch ex As Exception
MessageBox.Show(Err.Description, "خطأ في جلب الملف")
End Try
conn.Close()
End Sub


الإجراء السادس :
لتخزين الملف في فولدر معين يعني كأن نعمل له (Extract) من DataBase إلى الهارد ديسك نقوم أولا بوضع
SaveFileDialog من ToolBox على الفورم ثم بعد ذلك نضغط على زر تخزين الملف على HardDisk ، وهنا نضع
احتمالية أن يكون اسم الملف موجود فنختار هل نخزن فوقه أم لا وإذا لم يكن موجود فيخزنه , ونكتب الكود التالي :

 كود

Private Sub SaveTo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveTo.Click
Try
Dim sqlF As String = "SELECT FileData FROM FileStore WHERE FileName='" & Label2.Text & "' And FileType='" & Label3.Text & "'"
conn.Open()

Dim cmdF As OleDbCommand = New OleDbCommand(sqlF, conn)

Dim b() As Byte
b = cmdF.ExecuteScalar()

If (b.Length > 0) Then
Dim stream As New MemoryStream(b, True)
stream.Write(b, 0, b.Length)

Me.SaveFileDialog1.ShowDialog() 'فتحها حتى نختار الفولدر واسم الملف
If Me.SaveFileDialog1.FileName.Length > 0 Then
pathf = Me.SaveFileDialog1.FileName + Label3.Text
If File.Exists(pathf) Then
If MessageBox.Show("يوجد ملف بهذا الاسهم ... سيتم التخزين فوقة", "Save File To.... ", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
'Create the file.
fileStream = File.Create(pathf)
Dim info As Byte() = b
fileStream.Write(info, 0, info.Length)
fileStream.Close()
stream.Close()
Stop_All()
PreviewFile(Label3.Text, Me.Panel2, pathf)
MsgBox("تم تخزين الملف " & Chr(13) & Chr(13) & pathf)
End If
Else
fileStream = File.Create(pathf)
Dim info As Byte() = b
fileStream.Write(info, 0, info.Length)
fileStream.Close()
stream.Close()
Stop_All()
PreviewFile(Label3.Text, Me.Panel2, pathf)
MsgBox("تم تخزين الملف " & Chr(13) & Chr(13) & pathf)
End If
End If
End If
Catch ex As Exception
MessageBox.Show(Err.Description, "خطأ في جلب الملف")
End Try
conn.Close()
End Sub


الإجراء السابع :
سنكتب كود الخروج من البرنامج وهنا يوجد طريقتين للخروج وهي إما الضغط على زر خروج أو الضغط على X ،
وعمل تفريغ للملفات من Temp التي قمنا بإنشائها في كلى الحالتين، نضغط على زر خروج مرتين ونكتب الكود التالي :
 كود

Private Sub Exit1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Exit1.Click
Stop_All()
Empty_Temp()
End
End Sub

و في حالة الضغط على X
 كود

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Stop_All()
Empty_Temp()
End Sub

ولتفريغ الملفات قبل الخروج
 كود

Private Sub Empty_Temp()
Try
If MsgBox("هل تريد تفريغ Temprary Files", MsgBoxStyle.YesNo, "Delete Temp Files") = MsgBoxResult.Yes Then
If System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(System.IO.Path.GetTempPath() & "Jbsa\")) Then
System.IO.Directory.Delete(System.IO.Path.GetDirectoryName(System.IO.Path.GetTempPath() & "Jbsa\"), True)
MsgBox("تم التفريغ")
End If
End If
Catch ex As Exception
MsgBox("حدث خطأ في التفريغ " & Chr(13) & Err.Number & " " & ex.Message)
End Try
End Sub


الإجراء الثامن :
لمشاهدة الملف (وهنا يمكن الاستغناء عنه) لأني قمت بعمل مشاهدة له بعد كل عملية (فتح,حفظ،تخزين،وجلب) ولكن
وضعته في حال حصول خطأ معين فيمكن الضغط علية ليقوم بعمل المشاهدة مرة أخرى ، نضغط على زر مشاهدة
مرتين ونكتب الكود التالي :
 كود

Private Sub Preview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Preview.Click
Stop_All()
Try
FileType = System.IO.Path.GetExtension(pathf).ToLower
Catch ex As Exception
MsgBox("يجب عمل جلب للملف اولاً .....")
Finally
PreviewFile(FileType, Panel2, pathf)
End Try
End Sub




هنا نكتفي هذا اليوم حتى يتسنى لكم عمل وتنسيق ما ذكر سابقا ، فتابعونا حتى يكتمل المشروع

تحياتي للجميع
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,20/ربيع الأول/1429 هـ,07:00 صباحاً
المشاركة #4

مشرف سابق لمنتدى VB.NET ADO.NET
الرتبة في المنتدى:لواء

أيقونة المجموعة

المجموعة: المشرفين القدامى
المشاركات: 1592
سجل في:الثلاثاء,26/شعبان/1427 هـ,09:40 صباحاً
الدولة:الأردن
رقم العضوية: 13584



والله يا اخي الغالي jbsa تعجز الكلمات عن شكرك و ما اقدر اوصفك الا بالمدع الفنان سوف اثبت الموضوع و جزاك الله كل خير
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,20/ربيع الأول/1429 هـ,08:31 صباحاً
المشاركة #5

خبيرتحليل نظم و دوت نت
الرتبة في المنتدى:عماد

أيقونة المجموعة

المجموعة: مشرفي الموقع
المشاركات: 3849
سجل في:الأحد,17/محرم/1428 هـ,05:57 صباحاً
الدولة:الأردن
رقم العضوية: 19244





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

اخي ومشرفنا ITPROGRAMMER شكرا لك على تثبيت الموضوع ولا شكر على واجب .

والان ناتي الى اكمال المشروع بشكله النهائي .

الإجراء التاسع :
وهو الإجراء قبل الأخير Stop_All وهو لإيقاف أي عملية مشاهدة سابقة مهما كان نوعها هذا الإجراء سنضيف إلية
الأوامر حسب النوع الذي سنشرحه أولا وهو PictureBox1
 كود

Private Sub Stop_All()
Me.PictureBox1.Visible = False
Me.PictureBox1.Image = Nothing
'هنا سنضيف باقي الاوامر

End Sub


الإجراء العاشر :
أما الإجراء الرئيس والأخير في مشروعنا هو Function المشاهدة وسنبدأ بإضافة أول نوع يمكن مشاهدته وهو :

1- الصور: نقوم بإضافة من ToolBox ال PictureBox1 ونضعه على الفورم ونجعله صغير الحجم (50×50)
و نجعل Visible له False و SizeMode = StretchImage ويجب عدم استخدام imag.fromfile هنا
وذلك لان الملف يبقى مؤمن ولا يمكن إلغائه من Temp عند الخروج وسنستخدم طريقة أخرى في قراءة الصورة.
 كود

Function PreviewFile(ByVal typ As String, ByVal pan As Panel, ByVal pa As String) As Boolean
Select Case typ
Case ".jpg", ".bmp", ".png", ".jpe", ".tif"
Try
PictureBox1.Visible = True
Dim fs As System.IO.FileStream
fs = New System.IO.FileStream(pa, IO.FileMode.Open, IO.FileAccess.Read)
PictureBox1.Image = System.Drawing.Image.FromStream(fs)
fs.Close()
Me.PictureBox1.Parent = pan
PictureBox1.Dock = DockStyle.Fill
PictureBox1.Refresh()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
End Function


2- ملفات Txt,RichText : نذهب الى ToolBox ونختار RichTextBox1 ونضعه على الفورم ونجعله صغير
الحجم (50×30) و نجعل Visible له False ونضيف الكود التالي إلى إجراء stop_all :
 كود

Me.RichTextBox1.Visible = False

ونضيف الكود التالي إلى Function PreviewFile في جملة Case
 كود

Case ".txt", ".rtf"
Try
Me.RichTextBox1.Visible = True
Me.RichTextBox1.Clear() 'لتفريغه
Me.RichTextBox1.Parent = pan
Me.RichTextBox1.Dock = DockStyle.Fill
If typ = ".rtf" Then
Me.RichTextBox1.LoadFile(pa, RichTextBoxStreamType.RichText)
Else
Me.RichTextBox1.LoadFile(pa, RichTextBoxStreamType.PlainText)
End If
Me.RichTextBox1.Refresh()


3- والآن لعرض صفحة web : وهنا لن يقوم بتخزين الملفات المرفقة في صفحة Web ولكنها ستعمل جميع
اللنكات الموجودة بها ويمكن دخول إلى أي صفحة أخرى عن طريقها أو عمل Refresh لها ولن يقوم بتخزين
الصفة المفتوحة الى في حالة كانت مخزنه على الهارد دسك وقمنا بعمل فتح لها من زر فتح عندها فقط يمكن
تخزينها وهنا لأنني اقرأ صفحة htm,html .
نذهب الى ToolBox ونختار WebBrowser1 ونضعها على الفورم ونجعلها صغير الحجم (50×30) و
نجعل Visible لها False ونضيف الكود التالي إلى إجراء stop_all
 كود

Me.WebBrowser1.Visible = False

ونضيف الكود التالي إلى Function PreviewFile في جملة Case
 كود

Case ".html", ".htm"
Try
Me.WebBrowser1.Parent = pan
Me.WebBrowser1.Visible = True
Me.WebBrowser1.Dock = DockStyle.Fill
Me.WebBrowser1.Navigate(pa)
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try


الآن سنبدأ بإضافة الأدوات التي سنحتاجه في هذا البرنامج وعددها 6 أدوات أربع أدوات منها اعتقد أنها موجودة على كل
جهاز وهي RealPlayer,MediaPlayer,FlashPlayer, Acrobat Reader أما الأدوات التي اعتقد أنها غير
موجودة على كل جهاز فهي :
أ‌- أداة مجانية من Microsoft للمطورين وحجمها (100KB) فقط وهي لعرض ملفات Office داخل برنامجك (Form ) واسمها DSOFramer.OCX ويمكنكم تحميلها من هذا الرابط (أو من المرفقات).

اداة DSOFramer.OCX

وعمل install لها ويفضل نسخ DSOFramer.OCX إلى C:\winxp\system32

ب‌- الأداة الثانية وهي AniGif.OCX ويمكنك تحميها من المرفقات ويفضل نسخها إلى
C:\winxp\system32 ويمكنك أن تبحث عنها في جهازك فمن الممكن أن تجدها.

ولإضافتها إلى مشروعنا فنذهب إلى ToolBox نضغط Click يمين ثم نختار Add Tab وسميها ما
تشاء ثم نضع الماوس عليها و نضغط Click يمين ثم نختار Choose Itemsونقوم بإضافة الأدوات
ونختارها حسب المسار الموجود في الصورة التي عادة ما تكون مخزنه فيه وكما في الصورة التالية




بعد إضافة جميع الأدوات اذهب إلى ToolBox وقم بسحبها واحدة تلو الأخرى إلى الفورم ونجعلها صغير
الحجم (50×50) و نجعل Visible لها False ونقوم بإضافة الكود لها في Stop_all ويكون هنا قد اكتمل هذا
الإجراء ويكون على الشكل التالي :
 كود

Private Sub Stop_All()
Me.PictureBox1.Visible = False
Me.RichTextBox1.Visible = False
Me.WebBrowser1.Visible = False
Me.AxAcroPDF1.Visible = False
Me.AniGIF1.Stop()
Me.AniGIF1.Visible = False
Me.FlashObj.StopPlay()
Me.FlashObj.Visible = False
Me.RAL1.DoStop()
Me.RAL1.Visible = False
Me.WMP1.Ctlcontrols.stop()
Me.WMP1.Visible = False
Me.AxFramerControl1.Close()
Me.AxFramerControl1.Hide()
End Sub


4- لعرض ملفات AcroPDF : نضيف الكود التالي إلى Function PreviewFile في جملة Case
 كود

Case ".pdf"
Try
Me.AxAcroPDF1.LoadFile(pa)
Me.AxAcroPDF1.Visible = True
Me.AxAcroPDF1.Parent = pan
Me.AxAcroPDF1.Dock = DockStyle.Fill
Me.AxAcroPDF1.setShowToolbar(False)
Me.AxAcroPDF1.setView("fit width")
Me.AxAcroPDF1.setLayoutMode("continuous")
Me.AxAcroPDF1.Show()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try


5- لعرض وتشغيل ملفات GifAnimation : نضيف الكود التالي إلى Function PreviewFile في جملة Case
 كود

Case ".gif"
Try
AniGIF1.Visible = True
AniGIF1.ReadGIF(pa)
AniGIF1.Parent = pan
AniGIF1.Dock = DockStyle.Fill
AniGIF1.Play()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try


6- ولعرض وتشغيل ملفات FlashPlayer : نضيف الكود التالي إلى Function PreviewFile في جملة Case
 كود

Case ".swf"
Try
FlashObj.Visible = True
FlashObj.Parent = pan
FlashObj.Dock = DockStyle.Fill
FlashObj.Refresh()
FlashObj.Stop()
FlashObj.Movie = pa
FlashObj.Play()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try


7- ولعرض وتشغيل ملفات RealPlayer : نضيف الكود التالي إلى Function PreviewFile في جملة Case

 كود

Case ".wav", ".mpa", ".mp2", ".mp3", ".au", ".aif", ".aiff", ".snd", ".wma", ".rmi", ".rm", ".amr", ".3gp", ".amr", ".ram"
Try
RAL1.Visible = True
RAL1.Parent = pan
RAL1.Dock = DockStyle.Fill
RAL1.Refresh()
RAL1.Source = pa
RAL1.DoPlay()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try

وهنا نختار Extension حسب ما نريد تشغيله على Real أو على Media ويجب عدم وضعها في الاثنتين ، فقط يجب
وضعها في واحدة منهم

8- ولعرض وتشغيل ملفات MediaPlayer : نضيف الكود التالي إلى Function PreviewFile في جملة Case
 كود

Case ".avi", ".qt", ".mov", ".mpg", ".mpeg", ".m1v", ".wmv", ".asf", ".mid", ".midi"
Try
WMP1.Visible = True
WMP1.Parent = pan
WMP1.Dock = DockStyle.Fill
WMP1.Refresh()
WMP1.URL = pa
WMP1.Ctlcontrols.play()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try


9- ولعرض ملفات Microsoft Office : عن طريق الأداة DSOFramer وهذه الأداة هي مخصصة
للمطورين وهي وحدها يمكن عمل مشروع كامل بها و تحتوي على أوامر عديدة حيث تستطيع أن تقوم
بعمل معظم أوامر Office برمجيا وإجراء التخزين والتعديل والمعادلات وتشغيل Micros تحكم كامل
فيها ولم أقم بصراحة بتجربة كامل الأوامر لها واكتفيت بعرض الملفات وهي موضوع مشروعنا هذا
ولعمل ذلك نضيف الكود التالي إلى Function PreviewFile في جملة Case
 كود

Case ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pptm", ".xlsm", "docm", "xlsb"
Try
Me.AxFramerControl1.Parent = pan
Me.AxFramerControl1.Visible = True
Me.AxFramerControl1.Dock = DockStyle.Fill
Me.AxFramerControl1.Refresh()
Me.AxFramerControl1.Open(pa)
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try

10- وهي الأخيرة وإذا لم يكن Extension للملف مذكور أعلاه ولكن يمكن تشغيله في برامج موجودة على
الجهاز فمثلا يمكن تخزين ملف Database.mdb في مشروعنا أي أننا نخزن ملف .mdb في ملف
.mdb ويمكننا تشغيله عن طريق برنامج Microsoft Access ولا يمكننا دمجه بالفورم ويعمل بالفورم
الخاص به وكذلك يوجد ملفات أخرى مثلا .EXE وغيرها الكثير والتي تكون معرفة في Registry
الجهاز فيمكن تشغيلها. وذلك بإضافة الكود التالي إلى Function PreviewFile في جملة Case

 كود

Case Else
Try
Process.Start(pa)
Catch ex As Exception
MsgBox("نوع غير معروف, لا يمكن عرضه .....")
Return False
End Try


وفي مشروعنا نخزن جميع الملفات بغض النظر انه يمكن تشغيلها أو لا يعطي البرنامج أن الملف نوعه
غير معروف ولا يمكن تشغيله. ولكن يمكن أن نقوم بعمل له تخزين على الهارد دسك واستعماله في
برامج أخرى وعلى سبيل المثال يمكن تخزين الأدوات .OCX أو .DLL وغيرها.

وهنا يصبح Function PreviewFile كاملا كما في الكود التالي :
 كود

Function PreviewFile(ByVal typ As String, ByVal pan As Panel, ByVal pa As String) As Boolean
Select Case typ
Case ".jpg", ".bmp", ".png", ".jpe", ".tif"
Try
PictureBox1.Visible = True
PictureBox1.Image = Image.FromFile(pa)
Me.PictureBox1.Parent = pan
PictureBox1.Dock = DockStyle.Fill
PictureBox1.Refresh()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".txt", ".rtf"
Try
Me.RichTextBox1.Visible = True
Me.RichTextBox1.Clear()
Me.RichTextBox1.Parent = pan
Me.RichTextBox1.Dock = DockStyle.Fill
If typ = ".rtf" Then
Me.RichTextBox1.LoadFile(pa, RichTextBoxStreamType.RichText)
Else
Me.RichTextBox1.LoadFile(pa, RichTextBoxStreamType.PlainText)
End If
Me.RichTextBox1.Refresh()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".html", ".htm"
Try
Me.WebBrowser1.Parent = pan
Me.WebBrowser1.Visible = True
Me.WebBrowser1.Dock = DockStyle.Fill
Me.WebBrowser1.Navigate(pa)
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".pdf"
Try
Me.AxAcroPDF1.LoadFile(pa)
Me.AxAcroPDF1.Visible = True
Me.AxAcroPDF1.Parent = pan
Me.AxAcroPDF1.Dock = DockStyle.Fill
Me.AxAcroPDF1.setShowToolbar(False)
Me.AxAcroPDF1.setView("fit width")
Me.AxAcroPDF1.setLayoutMode("continuous")
Me.AxAcroPDF1.Show()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".gif"
Try
AniGIF1.Visible = True
AniGIF1.ReadGIF(pa)
AniGIF1.Parent = pan
AniGIF1.Dock = DockStyle.Fill
AniGIF1.Play()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".swf"
Try
FlashObj.Visible = True
FlashObj.Parent = pan
FlashObj.Dock = DockStyle.Fill
FlashObj.Refresh()
FlashObj.Stop()
FlashObj.Movie = pa
FlashObj.Play()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".wav", ".mpa", ".mp2", ".mp3", ".au", ".aif", ".aiff", ".snd", ".wma", ".rmi", ".rm", ".amr", ".3gp", ".amr", ".ram"
Try
RAL1.Visible = True
RAL1.Parent = pan
RAL1.Dock = DockStyle.Fill
RAL1.Refresh()
RAL1.Source = pa
RAL1.DoPlay()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".avi", ".qt", ".mov", ".mpg", ".mpeg", ".m1v", ".wmv", ".asf", ".mid", ".midi"
Try
WMP1.Visible = True
WMP1.Parent = pan
WMP1.Dock = DockStyle.Fill
WMP1.Refresh()
WMP1.URL = pa
WMP1.Ctlcontrols.play()
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pptm", ".xlsm", "docm", "xlsb"
Try
Me.AxFramerControl1.Parent = pan
Me.AxFramerControl1.Visible = True
Me.AxFramerControl1.Dock = DockStyle.Fill
Me.AxFramerControl1.Refresh()
Me.AxFramerControl1.Open(pa)
Catch ex As Exception
MsgBox("لا استطيع فتح الملف")
End Try
Case Else
Try
Process.Start(pa)
Catch ex As Exception
MsgBox("نوع غير معروف, لا يمكن عرضه .....")
Return False
End Try
End Select
Return True

End Function


تم بحمد الله وعونه البرنامج ويكون قد اكتمل وآمل أن أكون قد وفقت في طريقة عرضه وشرحه وان يكون قد استفاد منه
الجميع وأي استفسار أنا في الخدمة إنشاء الله ، وارجوا من جميع من جرب عمل هذا المشروع أن يذكر لي أي خطأ
يحدث فيه حتى أقوم بمعالجته أو أي اقتراح لتطويره.

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

تحياتي للجمع.

للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,20/ربيع الأول/1429 هـ,08:41 صباحاً
المشاركة #6

خبيرتحليل نظم و دوت نت
الرتبة في المنتدى:عماد

أيقونة المجموعة

المجموعة: مشرفي الموقع
المشاركات: 3849
سجل في:الأحد,17/محرم/1428 هـ,05:57 صباحاً
الدولة:الأردن
رقم العضوية: 19244





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

ويمكن تحميل الادوات وشرح البرنامج كاملا PDF من المرفقات





الملفات المرفقة
 الادوات وشرح البرنامج.rar ( 1827.43ك ) عدد مرات التنزيل: 5006
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,20/ربيع الأول/1429 هـ,08:50 مساءً
المشاركة #7

مشرف سابق لمنتدى VB.NET ADO.NET
الرتبة في المنتدى:لواء

أيقونة المجموعة

المجموعة: المشرفين القدامى
المشاركات: 1592
سجل في:الثلاثاء,26/شعبان/1427 هـ,09:40 صباحاً
الدولة:الأردن
رقم العضوية: 13584



السلام عليكم
اخي الغالي jbsa يعطيك الف عافيه والله شرح جميل كافي ووافي الله يعطيك الصحة و يجزيك كل خير

اما بالنسبة للمرفقات رح اوصل المعلومة للادارة ولا يهمك يا غالي
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالسبت,13/ربيع الثاني/1429 هـ,11:53 صباحاً
المشاركة #8

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 13
سجل في:الاثنين,17/ربيع الأول/1429 هـ,06:42 صباحاً
الدولة:مصر
رقم العضوية: 49320



الاخ الفاضل JBSA
فعلا كما وصفك الجميع
فنان ومتميز
فــ للابداع ناسه
بارك الله فى عملك هذا


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,29/ربيع الثاني/1429 هـ,02:05 مساءً
المشاركة #9

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 95
سجل في:الخميس,28/شوال/1428 هـ,12:57 مساءً
الدولة:السعودية
رقم العضوية: 36957



راااااااااااااااااااائع رااااااااااائع
وأكثر من رائع الله يارب يعطيك ألف عاااااااااافية يارب
بجد شرحك جميل يا أخي
الله يجعله في ميزان حسناتك


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,07/جمادى الأولى/1429 هـ,06:08 مساءً
المشاركة #10

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 40
سجل في:الأحد,20/شعبان/1428 هـ,03:48 مساءً
الدولة:السعودية
رقم العضوية: 33591



والله قليله كلمه مبدع عليك
انت مطور وومفكر بجد جعله الله في مووازين حسناتك

صراحه يعجز اللسان عن وصفك ياخ الشكر لله اولا ثم لك على هذا العمل

اللذي اسال الله جل وعلا ان يجعله سبب في دخولك الجنه يارب

تقبل تحياتي


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

عدد الصفحات : 15  1  2  3  4  5   > » إضافة رد جديد إضافة موضوع جديد



 
الوقت الأن:اليوم,04:19 مساءً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)