السلام عليكم
إستخدمت 2 Function فى تطبيق على فيجوال بيسك 2010
لكن ظهر به تلك العلامات الدالة على وجود أخطاء
ما المكتبات التى يجب إضافتها لهذا التطبيق ، وما احتاج إليه من Imports
PHP كود :
Friend Shared Function GetProcessorId() As String
Dim str2 As String = String.Empty
Dim searcher As New ManagementObjectSearcher(New SelectQuery("Win32_processor"))
Dim obj2 As ManagementObject
For Each obj2 In searcher.Get
str2 = obj2("processorId").ToString
Next
Return str2
End Function
Public Shared Function GetVolumeSerial(ByVal ltr As Object) As String
Dim obj2 As New ManagementObject($"win32_logicaldisk.deviceid="{ltr}:"")
obj2.Get()
Return obj2("VolumeSerialNumber").ToString
End Function
وعليكم السلام ورحمة الله وبركاته
- في البداية عليك اضافة المكتبة من الـ المراجع (Project >> Add Reference)
من قسم الـ (Assemblies) قم بإَافة المرجع (System.Management)
- ثم قإم باستيراد المرجع (System.Management).
وسلامتك..
أشكرك جداً على اهتمامك وردك
عملت كما أشرت واختفت مشاكل الـ Function الأول
وأريد مساعدتك للتغلب على مشاكل الـ Function الثانى
مع مزيد شكرى وتقديرى
رجاء التعديل على الملف بما يلزم وإعادة رفعه ليعمل بدون أخطاء
جرب المثال ربما يكون المقصود
(21-10-23, 01:03 PM)bidaya كتب : [ -> ]جرب المثال ربما يكون المقصود
شكراً لك ،
للأسف أخى الفاضل
ليس هو
أرغب فقط فى تعديل الملف الخاص بى لإصلاح رسالة الخطأ التى تظهر
تمام أخى عبدالله
يبدو أن السبب فعلاً فى عدم التوافق هو استخدامى لـ Visual Basic 2010
لأن كلا الكودين السابقين لم ينجحا على هذا الإصدار ، والثانى بالتحديد أعطى الرسالة
Argument 'Number' cannot be converted to a numeric value
الوحيد الذى توافق هى تعليمة الأخ Ahmed5
Dim obj2 As New ManagementObject(string.format("win32_logicaldisk.deviceid=""{0}:""",ltr))
لكن ما زلت أتمنى أن يقوم أحد الإخوان بالتعديل على الملف الذى رفعته أعلاه
(21-10-23, 07:22 PM)عبدالله الدوسري كتب : [ -> ]
Visual Basic 2010
لا يدعم خاصية ( Interpolated Strings ) وهي علامة الدولار
هذة الميزة ، تسمى ( Interpolated Strings ) ، بالعربي يعني ميزة تسمح للنص أن يكون مجزء على عدة اسطر، وتسمح بكتابة المتغيرات داخل النص بوضع متغيرات داخل قوسين من هذا النوع {}، مثل المتغير {ltr} كتب داخل قوسين ضمن السلسلة النصية
متوفرة فقط في Visual Basic 2015 فما فوق
إذا كنت لا تستطيع إستخدام هذة الخاصية ، استبل الكود التالي : ( الموجود لديك )
كود :
Public Shared Function GetVolumeSerial(ByVal ltr As Object) As String
Dim obj2 As New ManagementObject($"win32_logicaldisk.deviceid="{ltr}:"")
obj2.Get()
Return obj2("VolumeSerialNumber").ToString
End Function
بهذا الكود : طريقة 1
كود :
Public Shared Function GetVolumeSerial(ByVal ltr As Object) As String
Dim Path As String = "win32_logicaldisk.deviceid="" & ltr & :"""
Dim obj2 As New ManagementObject(Path)
obj2.Get()
Return obj2("VolumeSerialNumber").ToString
End Function
طريقة 2
كود :
Public Shared Function GetVolumeSerial(ByVal ltr As Object) As String
Dim obj2 As New ManagementObject(Str("win32_logicaldisk.deviceid="" & ltr & :"""))
obj2.Get()
Return obj2("VolumeSerialNumber").ToString
End Function
ممتاز
تم التقييم
+1
(21-10-23, 10:01 PM)AhmedEissa كتب : [ -> ]تمام أخى عبدالله
يبدو أن السبب فعلاً فى عدم التوافق هو استخدامى لـ Visual Basic 2010
لأن كلا الكودين السابقين لم ينجحا على هذا الإصدار ، والثانى بالتحديد أعطى الرسالة
Argument 'Number' cannot be converted to a numeric value
الوحيد الذى توافق هى تعليمة الأخ Ahmed5
Dim obj2 As New ManagementObject(string.format("win32_logicaldisk.deviceid=""{0}:""",ltr))
لكن ما زلت أتمنى أن يقوم أحد الإخوان بالتعديل على الملف الذى رفعته أعلاه
واضح ان الملف المرفوع تم تحويله من #C إلى VB
الرجاء وضع الملف الأصلي بلغة #C
لآن التحويل في الملف المرفق غير صحيح