السلام عليكم
ممكن كود التاكد من حجم الاسطوانة الموجودة فى cdroom
مثلا لو حجم الاسطوانة 20k يعطى رسالة نجاح ولو غير كدة يقفل البرنامج
السلام عليكم
ممكن كود التاكد من حجم الاسطوانة الموجودة فى cdroom
مثلا لو حجم الاسطوانة 20k يعطى رسالة نجاح ولو غير كدة يقفل البرنامج
بإستعمال مكتبة Microsotf Scripting Runtime ..
وكيفية إستدعائها هي كالتالي ..


وكيفية إستخدامها هي كالتالي ..
أولاً تعريف متغير .. من نوع FileSystemObject ..
ثم نقوم بتعريف متغير من نوع Double .. وهو يقوم بجلب حجم القرص C كاملاً ثم إنقاصه من الحجم الغير مستخدم .. بذلك ينتج الحجم المستخدم ..
ولكن من نوع بايت .. إذا أردنا تحويله إلى جيجا بايت فيجب قسمه 3 مرات على 1024 ..
وهذا هو الكود كاملاً ..
Dim objFSO As New Scripting.FileSystemObject
Dim D As Double
D = objFSO.Drives.Item("D").TotalSize - objFSO.Drives.Item("D").AvailableSpace
Text1.Text = D / 1024 / 1024 / 1024ولكن قد يكون السيدي ليس بحجم الجيجا بايت .. فيجب قسمه مرتين على 1024 .. ولكن هذا للميجا بايت وأقل شئ مستخدم الأن الميجا بايت ..
وإذا هناك أي خلل أرجوا إخباري ..
تحياتي :happy:
لم افهم اخى الكريم
الكود دة بيجيب حجم القرص السى
وانا عايزة حجم cd ممكن توضيح اكثر
اسفه لتعبك
آسف بل هو يوجد قرص الD ..
المهم انتي إستبدلي حرف D بالحرف الخاص بالسيدي مثلاً أنا عندي F وكلاً يختلف ..
لذلك أدع لك المجال للتفكري وإذا حاولتي ولم تصلي للنتيجة سأتدخل في الموضوع ..
ولكي أسهل عليك ..
الكود يجب عليه أن يبحث عن جميع الأقراص الموجودة ..
ثم يقوم بإختبار هل هو سيدي أم لا !!
وإذا كان سيدي فكم عدد السيديات الموجودة ..
ثم يقوم بإختيار السيدي الذي يكون عنوانه (العنوان الذي تريدينه) .. فإذا كان الحجم المستخدم 20 كيلو بايت ... إذا يقوم بتشغيل ..
البرنامج وإلا فسيقوم بإغلاقه
تحياتي :happy:
شكرا ليك جدا بس بجد الفكرة عجبتنى
اقتباسلمهم انتي إستبدلي حرف D بالحرف الخاص بالسيدي مثلاً أنا عندي F وكلاً يختلف ..لذلك أدع لك المجال للتفكري وإذا حاولتي ولم تصلي للنتيجة سأتدخل في الموضوع ..
ولكي أسهل عليك ..
الكود يجب عليه أن يبحث عن جميع الأقراص الموجودة ..
ثم يقوم بإختبار هل هو سيدي أم لا !!
وإذا كان سيدي فكم عدد السيديات الموجودة ..
ثم يقوم بإختيار السيدي الذي يكون عنوانه (العنوان الذي تريدينه) .. فإذا كان الحجم المستخدم 20 كيلو بايت ... إذا يقوم بتشغيل ..
البرنامج وإلا فسيقوم بإغلاقه
انا هفكر فيها ...بس مش هتأخر ان شاء الله ولو موصلتش لحاجة :cry: اكيد حضرتك هتساعدنى
موصلتش لحل :cry:
لا بأس المهم أنك حاولتي .. المهم هذا هو الكود الازم مع الشرح إن شاء الله ..
أي شرح غير مفهوم أخبريني ..
On Error GoTo DriveError Dim objFSO As New FileSystemObject Dim fso As New FileSystemObject 'äÞæã ÈÊÚÑíÝ ãÊÛíÑ ááãÚÑÝÉ ÇáÏÑÇíÝÇÊ ÇáãæÌæÏÉ Dim S As String ' äÞæã ÈÊÚÑíÝ ãÊÛíÑ ãä äæÚ äÕ áÅÓÊÞÈÇá ÇáÍÑÝ ÇáÎÇÕ ÈÇáÓíÏí Dim Drv As drive ' äÞæã ÈÊÚÑíÞ ãÊÛíÑ Úáì ÃÓÇÓ Ãäå ÏÑÇíÝ áäÚÑÝ ÇáãÚáæãÇÊ ÇáÎÇÕÉ ÈÇáÏÑÇíÝÇÊ For Each Drv In fso.Drives ' äÞæã ÈÚãáíÉ ÊßÑÇÑ áÅíÌÇÏ ÌãíÚ ÇáÏÑÇíÝÇÊ S = Drv.DriveLetter ' äÍÕá ÇáÂä Úáì ÍÑÝ ÇáÏÑÇíÝ Next Text1.Text = S ' äØÈÚ ÇáÍÑÝ Ýí ÃÏÇÉ ÇáäÕ Dim D As Double D = objFSO.Drives.Item(S).TotalSize - objFSO.Drives.Item(S).AvailableSpace S = D / 1024 / 1024 / 1024 Text1.Text = S Exit Sub DriveError: MsgBox "ÇáÓíÏí ÛíÑ ãæÌæÏ"
أنا لا تظهر لي الحروف العربية لذلك أرفقت لكي صورة ..
تحياتي :happy:
اخى عاجزة عن الشكر
بس لو تسمح هل يمكن ان يبحث الكود عن السى دى روم الاساسى فقط يعنى لو فى اسطوانتين يشوف
السى دى الاول يعنى لو فى 2cdroom e,f يستعلم عن الحجم فى e
ولو مش ممكن عادى جزاك الله خيرا على الكود دة :clapping: