13-06-19, 12:28 AM
(آخر تعديل لهذه المشاركة : 19-08-19, 06:09 PM {2} بواسطة asemshahen5.)
أولا نقوم بعمل ملف XML نضع به المعلومات الازمة كالسيريال الخاص بالفلاشة و اسم البرنامج و اسم المشتري و هاتف المشتري و نحفظه .
ثانيا نقوم بعمل أبلود لملف XML على الاستضافة او على http://www.Dropbox.com .
ثالثا نقوم بعمل ميديول لعرض السيريال الخاص بالفلاشة :
نقوم بوضع كود تحميل الفورم في الميديول :
ثم نقوم بتعديل الكود الموجود في ملف Application.Designer.vb من :
الى :
و نحفظ الملف .
نقوم بعمل فورم باسم ActivateFrm و فورم اخر باسم CloseFrm و فورم اخر باسم MainForm .
في الفورم ActivateFrm نضع زر باسم BtnActivateProgram
نكتب فيه :
و في حدث اللود نضع الكود التالي :
طبعا xmlFile هو موقع الملف في الدروب بوكس .
في الفورم CloseFrm نضع فيه ليبل نكتب فيه "يرجى وضع الفلاش الخاصة بالبرنامج او الاتصال بالمبرمج على الهاتف : 00000000000"
و نضع زر اغلاق لاغلاق الفورم .
في الفورم MainForm نضع به ما نشاء لانه سيكون هو النافذة الرئيسية للبرنامج .
يوجد بالمرفقات ملفان ملف لانشاء ملف الاكس ام ال فايل في مسار البرنامج يرجى وضع فلاشة قبل تجربته و الضغط على زر Create Xml File
ثم عمل ابلود لملف الاكس ام ال الى الدروب بوكس و اخذ عنوان المشاركة من الدروب بوكس ووضعه في CheckBox1_CheckedChanged في نافذة مثال XMLCreate
ووضعه في المثال الثني الخاص بتجربة التأكد من الفلاش سيريال TestFlashSerials
صور النوافذ بالترتيب :
ثانيا نقوم بعمل أبلود لملف XML على الاستضافة او على http://www.Dropbox.com .
ثالثا نقوم بعمل ميديول لعرض السيريال الخاص بالفلاشة :
PHP كود :
#Region "Get Flash SN"
Function GetSerialNumber1(ByVal Num As Integer) As String
Try
FlashName.Clear()
For Each drv In My.Computer.FileSystem.Drives
If drv.DriveType = IO.DriveType.Removable Then
FlashName.Add(drv.Name)
End If
Next
Dim wmi_ld, wmi_dp, wmi_dd As ManagementObject
Dim temp, parts(), ans As String
ans = ""
'get the Logical Disk for that drive letter'
wmi_ld = New ManagementObject("Win32_LogicalDisk.DeviceID='" & FlashName(Num).ToString.TrimEnd("\"c) & "'") '
'get the associated DiskPartition '
For Each wmi_dp In wmi_ld.GetRelated("Win32_DiskPartition")
'get the associated DiskDrive'
For Each wmi_dd In wmi_dp.GetRelated("Win32_DiskDrive")
'a USB disk. Oh well... so we have go thru this extra step'
Dim wmi As New ManagementClass("Win32_DiskDrive")
'have to loop thru them all, when we know which one we want.'
For Each obj As ManagementObject In wmi.GetInstances
'Do the DeviceID fields match?'
If obj("DeviceID").ToString = wmi_dd("DeviceID").ToString Then
'The serial number is embedded in the PnPDeviceID'
temp = obj("PnPDeviceID").ToString
If Not temp.StartsWith("USBSTOR") Then
Throw New ApplicationException(FlashName(Num).ToString & " doesn't appear to be USB Device")
End If
parts = temp.Split("\&".ToCharArray)
'The serial number should be the next to the last element'
ans = parts(parts.Length - 2)
End If
Next
Next
Next
Return ans
Catch ex As Exception
MsgBox("Error : " & ex.Message, MsgBoxStyle.Critical, "Error")
Return Nothing
End Try
End Function
#End Region
نقوم بوضع كود تحميل الفورم في الميديول :
PHP كود :
#Region "Activate Program Startup"
Dim FSNum As String
Dim Arr As New ArrayList
Dim xmlFile As String="https://dl.dropbox.com/s/pja3m2z8l9jjjn9/CompanyBuyer.xml?dl=0"
Dim ds As New DataSet
Friend Function main() As Form
Dim Frm As New ActivateFrm
Dim Fmain As New MainForm
Arr.Clear()
For Each flstr As String In GetFlashDrive()
Arr.Add(flstr)
Next
ds.ReadXml(xmlFile)
Dim DataView1 As New DataView()
DataView1 = ds.Tables("ProgramInfo").DefaultView
For i = 0 To Arr.Count - 1
DataView1.RowFilter = "FlashMemorySerial Like'%" & GetSerialNumber1(i).ToString & "%'"
If My.Settings.FNumXT = GetSerialNumber1(i) Then
Return Fmain
Exit Function
End If
If DataView1(0)("FlashMemorySerial").ToString() = GetSerialNumber1(i).ToString Then
Return Frm
Exit Function
End If
Next
Return CloseFrm
End Function
Dim FlashName As New ArrayList
Function GetFlashDrive() As ArrayList
FlashName.Clear()
For Each drv In My.Computer.FileSystem.Drives
If drv.DriveType = IO.DriveType.Removable Then
FlashName.Add(drv.Name)
End If
Next
Return FlashName
End Function
#End Region
ثم نقوم بتعديل الكود الموجود في ملف Application.Designer.vb من :
PHP كود :
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.TestFlashSerials.Form1
End Sub
الى :
PHP كود :
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.TestFlashSerials.Module1.main
End Sub
و نحفظ الملف .
نقوم بعمل فورم باسم ActivateFrm و فورم اخر باسم CloseFrm و فورم اخر باسم MainForm .
في الفورم ActivateFrm نضع زر باسم BtnActivateProgram
نكتب فيه :
PHP كود :
Private Sub BtnActivateProgram_Click(sender As Object, e As EventArgs) Handles BtnActivateProgram.Click
ds.Clear()
ds.ReadXml(xmlFile)
Dim DataView1 As New DataView()
DataView1 = ds.Tables("ProgramInfo").DefaultView
For i = 0 To Arr.Count - 1
DataView1.RowFilter = "FlashMemorySerial Like'%" & GetSerialNumber1(i).ToString & "%'"
If GetSerialNumber1(i).ToString = DataView1(0)("FlashMemorySerial").ToString() Then
My.Settings.FNumXT = FSNum
My.Settings.Save()
MsgBox("Log To Program")
Dim frm As New MainForm
frm.Show()
Close()
Exit Sub
End If
Next
End Sub
و في حدث اللود نضع الكود التالي :
PHP كود :
Dim FSNum As String
Dim xmlFile As String
Dim ds As New DataSet
Dim Arr, FlashName As New ArrayList
Private Sub ActivateFrm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Arr.Clear()
FlashName.Clear()
For Each drv In My.Computer.FileSystem.Drives
If drv.DriveType = IO.DriveType.Removable Then
FlashName.Add(drv.Name)
End If
Next
Dim i As Integer = 0
For i = 0 To FlashName.Count - 1
Arr.Add(FlashName(i))
Next
xmlFile = "https://dl.dropbox.com/s/pja3m2z8l9jjjn9/CompanyBuyer.xml?dl=0"
ds.ReadXml(xmlFile)
End Sub
طبعا xmlFile هو موقع الملف في الدروب بوكس .
في الفورم CloseFrm نضع فيه ليبل نكتب فيه "يرجى وضع الفلاش الخاصة بالبرنامج او الاتصال بالمبرمج على الهاتف : 00000000000"
و نضع زر اغلاق لاغلاق الفورم .
في الفورم MainForm نضع به ما نشاء لانه سيكون هو النافذة الرئيسية للبرنامج .
يوجد بالمرفقات ملفان ملف لانشاء ملف الاكس ام ال فايل في مسار البرنامج يرجى وضع فلاشة قبل تجربته و الضغط على زر Create Xml File
ثم عمل ابلود لملف الاكس ام ال الى الدروب بوكس و اخذ عنوان المشاركة من الدروب بوكس ووضعه في CheckBox1_CheckedChanged في نافذة مثال XMLCreate
ووضعه في المثال الثني الخاص بتجربة التأكد من الفلاش سيريال TestFlashSerials
صور النوافذ بالترتيب :
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر