الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التحدي الكبير

مغلقرائج
بدأه ANSI في 3 يوليو 2005 · 178 رد · 15,970 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#126

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

اعتمادا على الـ Divsion By Zero Error نستطيع كتابة شيء مثل:

Private Sub Command1_Click()
    Dim I As Integer, myPass() As Byte, yourPass() As Byte, X
    On Error GoTo Bye
    myPass = StrConv("somepassword", vbFromUnicode)
    yourPass = StrConv(Text1.Text, vbFromUnicode)
    X = 1 \ Not CBool(UBound(myPass) - UBound(yourPass))
    For I = LBound(myPass) To UBound(myPass)
        X = 1 \ Not CBool(myPass(I) - yourPass(I))
    Next
    MsgBox "Correct Password"
    Exit Sub
Bye:
    MsgBox "Worng Password"
End Sub

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

تم تعديل هذه المشاركة بواسطة رغيد الطيب في 19 يوليو 2005 في 14:59

مواضيع برمجية تقنية جديدة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

مواضيع برمجية تقنية قديمة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

#127

ممتاز حلين جيدين

بالنسبة للحل الذي كان عندي فهو نفس حل الأخ بلال حمدي

فلننتقل الى سؤال آخر و بما أنك يا بلال أول من وضع الحل فاليك شرف تقديم سؤال هذا بعد اذن المشاركين طبعا :)

#128

أوكي

كل منا يعرف دالة ShellExecute

والسؤال

نريد الإستغناء عنها وتصميم نفس الدالة تقريبا بالإعتماد على الدالة العادية Shell

سؤال بسيط :(

أنتظر الردووووووود

#129

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

ازاي الغي لوحة التحكم الخاصة بالجهاز يعني

لما افتح لوحة التحكم في الجهاز الاقيها فاااااضيه

#130

أخي Crazy-Man

أنا زعلان منك جدا..

ولهذا قلت لك ما هي الأوامر الشرطية التي لا تريد لنا استخدامها ..

أذكر حينما كنت أدرس لغة البيسيك القديمة ..

كنت أدرس (أولا) في الأوامر الشرطية والتفرع جملة On ..GOTO

=====

بالنسبة للأسئلة الجديدة... فسأستعير جملة أخي بلال

please Wait...

#131

بالنسبة لسؤال الاخ بلال

ممكن نستخدم الامر Shell لفتح البرنامج الذى يشغل الملف الذى نريد فتحه ثم نمرر اسم الملف للبرنامج بهذه الطريقة

Shell "NotePad C:\AutoExec.Bat"

طبعاً ده المبدأ لكن ممكن التطوير بعمل دالة تعود بامتداد الملف وعن طريق الامتداد نحدد البرنامج

اتمنى ان يكون هذا هو الحل الصحيح :rolleyes:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#132
اقتباس
لكن ممكن التطوير بعمل دالة تعود بامتداد الملف وعن طريق الامتداد نحدد البرنامج

هذا هو المطلووووووووووب يامحمد

أنتظر ذلك

تم تعديل هذه المشاركة بواسطة بلال حمدي في 20 يوليو 2005 في 01:23

#134

أخي Crazy-Man ..

يعني شايفني زعلان بجد .. أنا بس بأهزر معاك..

ومنتظر المزيد من أسئلتك المشوقة...

وبالنسبة لسؤال أخي بلال .. والذي أطلب منه بعد ذلك أن يرحمنا ويضع أسئلة لا تتطلب كتابة أسطر كثيرة..

فلا تتصور المعاناة للتعامل مع معاملات المحرر الرئيسي ل mailto

ولكن المهم.. أنني أتمني أن تجد في المرفقات ما يشفي غليلك..

فقد قمت بعمل دالة تشبه - من بعيد طبعا - عمل الدالة ShellExecute..

الدالة التي قمت بكتابتها تحمل نفس الأسم ShellExecute ولها ثلاث معاملات

Public Function ShellExecute(FilePath As String, DirPath As String, Mode As VbAppWinStyle) As Boolean

أول معامل وهو مسار ((أي ملف)) لتقوم الدالة بتشغيله, ولاحظ أنه إذا لم يكن لأمتداد الملف إرتباط ببرنامج فلن تعمل الدالة وهذا هو الطبيعي , وإذا لم تريد أن تشغل ملف وأردت أن تشغل مجلد فضع قيمة المعامل ب vbNullString , وإذا أردت أن ترسل بريد باستخدام المحرر الرئيسي ل mailto: قم بكتابته هكذا.

mailto:thensync@hotmail.com

ثاني معامل وهو مسار المجلد الذي تريد تشغيله, وإذا لم تريد تشغيل مجلد فضع قيمته ب VbNullString .

ثالث معامل وهو Window Style وبه ليسته بالاستايلات التي تريدها للنافذة التي ستقوم بتشغيلها.. مثل vbHide , vbmax,vbmin,focus وهكذا..

وإذا لم تريد أن تضع للنافذة ستايل ..فقم بوضع False في هذا المعامل وسيكون ال Default للاستايل Normal Focus .

تلك الدالة فقط توضح الفكرة ... وقد حاولت تفادي أي أخطاء يمكن حدوثها .. لكن أكيد فيه أخطاء أخري لم أخذ بالي منها..

================================================

وبالنسبة لسؤال الأخ ae_amr

فيمكن أن نحذف Delete او نعيد تسمية Rename ملفات لوحة التحكم CPL والتي تكون موجودة في مجلد النظام %System%, علي أنظمة 9x أو System32 علي XP .

فمثلا برنامج System والموجود في لوحة التحكم .. الملف المتحكم به هو SYSDM.CPL

إذا حذفت هذا الملف فسيتم حذف البرنامج من لوحة التحكم.

وإذا أردنا منع لوحة التحكم بالكامل وإخفائها .. فيمكننا إضافة تصريح NoControlPanel وقيمته بواحد سواء Hex أو Dec ونوعها DWord تحت المفتاح الفرعي Explorer

في المفتاح

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies

=================================================

الآن أعتقد أنه حان دوري في إلقاء سؤال..

سؤالي في الواقع عملي جدا..وللمبرمجين الجامدين..

مثلا حينما نستخدم أي برنامج AntiVirus ,فأثناء تنقلنا بين الفولدرات يقوم برنامج الAnti virus بتسجيل مسار الفولدر وعمل فحص علي الملفات الموجودة داخله..

==============

سؤالي هو : كيف يمكننا تسجيل مسار الفولدرات التي يقوم المستخدم بالدخول إليها.تماما مثل أي برنامج AntiVirus ؟؟؟؟؟؟؟؟؟؟

ShellExecute.zip

تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 20 يوليو 2005 في 03:19

#135

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

فقط آسف أخي بلال كنت أود أن أرى حل بدون شرط لان on error ممكن نصنفها مثل أدوات الشرط

بالنسبة لسؤالك فأظننا يمكننا انشاء دالة تقرأ من الريجيستري البرنامج الخاص بتشغيل الملف وذلك بسيط

اذا علمنا ان كل الامتدادات موجودة تحت HKCR ومن ثم نقرأ اسم البرنامج من المجلد OpenWithList وبذلك نصل الى المراد

بالتوفيق للجميع

#136

أخي الفرعوني على حسب ما فهمت من سؤالك فأنت تريد منا عمل برنامج يسجل مسار كل فولدر يدخله المستعمل

اذا كان هذا هو طلبك فاليك هذا الكود ... و اذا كان في أي خطأ فانا موجود

Explorer.rar

#137

فعلا أخي Crazy-Man .. هذا هو المطلوب..

ولقد جئت بالمفيد وبدون لف ودوران.. فقمت بعمل ِOLE Automation مع مكتبة المتصفح SHDocVw ..

واستخلاص النوافذ التي يقوم المتصفح بفتحها.. وهذا هو أفضل حل ..

وما دام جاوبت السؤال.. يبقي ده دورك في إلقاء سؤال..

#138

بسم الله الرحمن الرحيم

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

حتى يجهز لنا الاخ العزيز Crazy السؤال التالي يمكن التسلية بأمر بسيط للغاية وهو عمل زر يقوم بإخراج و ادخال السيدي الروم فنحن نعرف ان عملية ادخال و اخراج السيدي روم هي عملية سهلة للغاية .. و لكن دعونا نعملها في زر واحد يعني اذا ضغط عليه ينفتح السيدي و اذا ضغطت عليه اخرى ينغلق!.

حبذا لو لم تكن عملية الادخال و الاخراج عشوائية اي انه يقوم الزر بمعرفة حالة السيدي اولا ثم يستخدم الامر المناسب ( فتح او اغلاق ) على ان يكون اقصر و اسهل كود ممكن من اجل السرعة.

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

مواضيع برمجية تقنية جديدة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

مواضيع برمجية تقنية قديمة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

#139

Option Explicit

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub command1_Click()

mciSendString "set cdaudio door open", 0, 0, 0

End Sub

Private Sub command2_Click()

mciSendString "set cdaudio door closed", 0, 0, 0

End Sub

في هذا الكود بعرف الدالةmciSendStringA

ولها اربع معاملات

الاول وهو الامر الموحه للسي دي روم في صورة نصيه

اما امعاملات من الثاني وحتي الرابع يمكن تجاهلهم بان نضع قيم فارغه في المعاملات النصية او حتي نضع اصفار

المشكله في الكود الحالي

1- لا يتمكن الا من التعامل مع اول سي دي روم يعني لو عندك 2 سي دي روم سيتعامل مع الاوله فقط

2- مش عارف بصراحه ازاي اقرا الوضع الحالي للاسطوانه علشان تفتح اذا كانت مغلقه او تغلق اذا كانت مفتوحه

#140

بسم الله الرحمن الرحيم

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

اخي العزيز بالفعل هذا ما قصدته وهو كيفية جعله ذكي بحيث يعمل تبديل للوضع الحالي ... حيث انك اذا جربت النقر بالزر الايمن على رمز السيدي في جهاز الكمبيوتر ثم من القائمة ستجد امر ينجح فقط في إخراج السيدي

اما في جهازي فقد اضفت امر بسيط يقوم بإخراج و ادخال السيدي .. اذا لم اجد اجابة على السؤال اضعه هنا بإذن الله تعالى على الرغم من ااني اكيد ان الاخوة سيضعون له الحل بإذن له فهو لا يتجاوز عدد اصابع اليد في سطوره البرمجية.

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

مواضيع برمجية تقنية جديدة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

مواضيع برمجية تقنية قديمة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

#141
اقتباس
اخي العزيز بالفعل هذا ما قصدته وهو كيفية جعله ذكي بحيث يعمل تبديل للوضع الحالي

بسيطة جرب هذه

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Sub command1_Click()
If Command1.Caption = "Insert" Then
mciSendString "set cdaudio door closed", 0, 0, 0
Command1.Caption = "Eject"
Else
mciSendString "set cdaudio door open", 0, 0, 0
Command1.Caption = "Insert"
End If
End Sub
#142

وإلى أن يضع crazy-man سؤاله المنتظر إليكم هذا السؤال

طبعا كلنا يعرف كيف يخفي الملفات من Folder Options

20_07_05_07_39_01_11219135411_.gif

كيف أجعل هذه الخاصية غير مسموح بها أو بمعنى أخر كيف أخفي هذه القائمة

أنتظر الرد

سلااااااااام

تم تعديل هذه المشاركة بواسطة بلال حمدي في 21 يوليو 2005 في 05:36

#143

بسم الله الرحمن الرحيم

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

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

و ما قصدته هي كيفية معرفتك ( بالكود ) بأن السيدي روم مفتوح او مغلق و من ثم استخدام الامر المناسب.

بالنسبة لسؤالك اخي الحبيب فلم افهم هل ما تقصده بكلمة ( الخاصية ) و هي اخفاء خيارات المجلد كلياً.

اذا كان هذا ما قصدته فيكفي ان تكتب سطرا برمجيا يغيير لك القيمة التالية في الريجستري لتصبح 1 بدلا من صفر :

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFolderOptions

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

مواضيع برمجية تقنية جديدة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

مواضيع برمجية تقنية قديمة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

#144

أهلا أخي الكريم رغيد

فكرة الحل أظن تكمن في حساب الفرق بين وقت الأمر وتنفيذه فاذا كان الفرق يختلف عن الصفر نعكس الأمر

Dim t1 As Variant
Dim t2 As Variant
t1 = Time
 mciSendString "set cdaudio door closed", 0, 0, 0
t2 = Time
If t2 - t1 = 0 Then mciSendString "set cdaudio door open", 0, 0, 0
#145

السلام عليكم..

بالنسبة بسؤال أخي رغيد الطيب ..

فيمكننا عمل ذلك بالأعتماد علي القيمة المعادة Return Value من الدالة mciSendString

أعتقد وعلي ما أتذكر أنها إذا كانت بصفر فهذا يعني أن الباب مفتوح وبالتالي نقوم بغلقه..

أما إذا لم تساوي صفر فهذا يعني أن الباب مغلق .. وبالتالي نقوم بفتحه..

========================================

وبالنسبة لسؤال أخ بلال حمدي ..

فيمكننا إلغاء اختياري hide,show

من مفتاحي

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explore

r\Advanced\Folder\Hidden\NOHIDDEN

و

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL

وذلك بتغيير القيمة Type من Radio إلي أي اسم أخر وليكن ArabTeam

ونفس الموضوع للقيمة Hide Extension , يمكننا إلغاها من المفتاح:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt

وذلك بتحويل القيمة type من CheckBox إلي أي اسم أخر..

====================================

وما زلنا في انتظار أخي Crazy-Man .. وأرجو أن يكون بخير..

تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 21 يوليو 2005 في 23:32

#146

بسم الله الرحمن الرحيم

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

اخي العزيز جهبذ (DreamNet) افتقدك و الله كثيرا اخي منذ ايام منتدى الفيجوال للعرب كما افتقد جميع اخوتي هناك و الله المستعان.

إجابتك تعتبر صحيحة و ستفي بالغرض بإذن الله تعالى و قد كنت استخدمها كأسلوب وقائي عندما اكتشفت ان هناك بعض انواع سواقات السيدي روم لا تعيد قيم حقيقية عن حالتها.

حيث ان الامر يتم بطلب حالة السواقة عن طريق الدالة mciSendString بالشكل التالي :

mciSendString "status cdaudio mode", strVar, 100, 0

وهو سيعيد حالة السيدي روم open, stoped .... الخ ، و ذلك اعتمادا على لغة الكمبيوتر لديك.

و منها يمكن ان نستخدم القيمة الراجعة في تحديد ما اذا كانت السواقة مفتوحة فنقوم بإغلاقها او العكس.

غير ان هناك بعض السواقات تعيد قيمة خاطئة ( open ) دائما حتى و إن كانت السواقة مغلقة و هو ما تفاجئت به عندما كنت استخدم سواقة قديمة نوعا ما ... و هناك لجئت إلى حساب الوقت المستغرق في عملية الاغلاق او الفتح فلو ان عملية الاغلاق او الفتح تمت فإن ذلك لابد و أن يأخد وقتا اما اذا فشلت العملية في حالت مثل ارسال امر اغلاق و السواقة مغلقة اصلا فغن ذلك سوف يستغرق وقت ضئيل للغاية لا يقترب من الثانية الواحدة و يمكن اعتباره صفرا لهذا نقوم بعكس الامر مباشرة.

الشفرة السليمة للإجابة في حالة كون سواقة السيدي روم لديك تعمل بشكل جيد هي :

Private Sub Command1_Click()
    Dim Mode As String * 4
    
    mciSendString "status cdaudio mode", Mode, 5, 0
    
    If Mode = "open" Then
        mciSendString "SET CDAudio DOOR CLOSED", vbNullString, 0, 0
    Else
        mciSendString "SET CDAudio DOOR OPEN", vbNullString, 0, 0
    End If
End Sub

ولتفادي اي اخطاء او عيوب في القيمة المعادة من السواقة ( واذا كانت سواقتة الاقراص لديك رديئة كحالتي ) فيمكن الاعتماد على الشفرة التي استخدمها انا و تعمل لدي بشكل سليم و الحمد لله و هي نفس اجابة الاخ DreamNet :

Private Sub Command1_Click()
    Dim Mode As String * 4

    mciSendString "status cdaudio mode", Mode, 5, 0

    If Mode = "open" Then
        Dim Start: Start = Now
        mciSendString "SET CDAudio DOOR CLOSED", vbNullString, 0, 0
        If (Now - Start) = 0 Then
            mciSendString "SET CDAudio DOOR OPEN", vbNullString, 0, 0
        End If
    Else
        mciSendString "SET CDAudio DOOR OPEN", vbNullString, 0, 0
    End If
End Sub

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

مواضيع برمجية تقنية جديدة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

مواضيع برمجية تقنية قديمة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

#147

اوكي بعد أن تم حل سؤال الأخ رغيد سأطرح سؤال بسيط رغم أني لم أكن اود طرح أي سؤال لفتح المجال اما المشاركين الآخرين لكن امري لله

أريد منكم : القيام بفتح ملف نصي و الكتابة فيه ثم حفظ ما كتبتموه دون اللجوء الى الدالة Open و لا أي دالة مباشرة لفتح الملفات و الكتابة عليها

أعرف أنه جد بسيط لكن هذا هو الموجود :)

#148

فعلا Pharaonic_Guy هذا هو الحل الذي أقصده لكن أحب أن أذكر أن هناك مميزات أخرى في المفتاح Folder

راجعوها بنفسكم

جاري قراءة باقي المشاركات

سلااااااااااااام

#149

موضوع جميل جدا و حقيقي يجعلنا جميعا نرجع للكتب و القراءة للوصول للاجابةالصحيحة

و لكن لدي اقتراح بان لا ياتي زميل باي سؤال حتى يتم حل السؤال الذي قبله ....حتى لا يحدث تضارب :)

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#150

هيا يا أخوة أجيبوا على سؤالي حتى ننتقل لسؤال آخر

اقتباس
              أريد منكم : القيام بفتح ملف نصي و الكتابة فيه ثم حفظ ما كتبتموه دون اللجوء الى الدالة Open و لا أي دالة مباشرة لفتح الملفات و الكتابة عليها

أعرف أنه جد بسيط لكن هذا هو الموجود

             

هذا الموضوع مغلق.

مواضيع مشابهة