Fantasy-Reality
09-03-2006, 03:49 PM
بسم الله الرحمن الرحيم
طبعاً أنا اليوم بدي أعطيكم درس راااااااائع جداً وبنفس الوقت سهل جداً ...
بس الأمر محتاج شوية إنتباه ...
طبعاً أول شي اللوازم ...:::...
1- برنامج الفيجوال بيسك 6 VB6
2- أن تكون على علم بالفيجوال بيسك و أدواته
3- أن لا تكون مبتدأ فيجوال بيسك يعني تكون متوسط في البرنامج
4- وما تكون بتحب النسخ واللصق بس
ملاحظة هامة :: أنا بنصح الجميع إنهم ما يحاولوا النسخ و اللصق بس
كتير منكم بس بنسخ الأكواد و بلصقها وبقول أنا عملت برنامج ...
في الحقيقة هو ما بكون عمل برنامج ولا شي , هو عمل عمل أي طفل بعمله
يعني لو أي واحد بعرف حاجات قليلة على الكمبيوتر يقدر يعمل مثله ...
وبتمنى يا شباب ما حد ينقل الموضوع إلا بعد ما يحط الحقوق
لإنه الموضوع تعبني كتيير ...
جميع الحقوق محفوظة لTHE_MAN ©
THE_MAN_MTM@hotmail.com
_________________________________________________________________THE_MAN --------->THE_MAN_MTM@hotmail.com
_________________________________________________________________
--((العميل))--
بسم الله الرحمن الرحيم
نبدأ باسم الله ...
أنا رح أبدأ أول شي بالعميل ...
أول شي كائنات العميل ....
مثل الصورة ...
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image001.gif
طبعاً عارفين من وين بنجيب الأدوات ..
أما الوينسوك فهادي بنجيبها بنكبس على Ctrl + T
بتظهر قائمة بنختارها منها ولو مش موجودة بالقئمة بنكبس Browse
بنلاقيها بمجلد System32
هيك كل شي تمام الحمدلله ...
الآن لازم نضبط خصائص الكائنات ....
أول شي مربعين النص نختارهم ونحط الخاصية
Alignment = Center
لتوسيط النص في مربع النص ...
مثل الصورة هادي ...
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image002.gif
الآن خصائص مربعين النص للرسائل المرسلة و المستقبلة لازم يكونوا نقدر نضيفلهم
شريط تمرير .. علشان كده بنعمل مثل الصورة
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image003.gif
وكمان المربع إللي فوق لازم نعملله خاصية Lock = True
علشان ما حد يقدر يمسح او يضيف فيه ...
الآن بدنا نغير التسميات إللي بتظهر للمستخدم ..
لتغيير الاسماء ل Labels من الخاصية Caption
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image004.gif
لتغيير الاسماء ل Frames من الخاصية Caption
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image005.gif
لتغير الاسماء لTextBoxes من الخاصية Text
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image006.gif
لتغيير الاسماء ل CommandBottons من الخاصية Caption
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image007.gif
الآن غيروا التسميات مثل الصورة هادي ....
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image008.gif
طبعاً كله سهل للآن الحمدلله ......
نسيت أقوللكم تغيير خصائص ال Form
غيروا مثل الصورة ...
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image009.gif
.............................................................................................
__________________________________________________________
الآن لازم نغير الاسم البرمجي للكائنات ...
الاسم البرمجي لا يظهر للمستخدمين ...
لتغيير الاسم البرمجي من الخاصية Name
مثل الصورة
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image010.gif
وغيروا التسميات مثل كده ...
علشان الأكواد تكون صحيحة وشغالة 100% ....
مربع الآي بي
txtIP
مربع البورت
txtPort
زر الإتصال
CmdConnect
زر قطع الإتصال
CmdDisC
زر الإرسال
CmdSend
مربع نص الرسائل المستلمة والورادة
txtList
مربع نص الرسائل التي سوف ترسل
txtMsg
ليبل الحالة غير متصل
IPstat
أداة الوينسوك
WskClient
مربع نص الاسم
txtName
باقي الحاجات مش مهم تغيير اسمها لإنها مش داخلة بالأكواد ...
الآن إنتهينا من كائنات العميل ...
_______________________________________________________________
------------------------------------------------------------------------------------------------------------------
_______________________________________________________________
بسم الله الرحمن الرحيم
................................
نبدأ بالأكواد ....
_________________________________________________
أول شي كود زر الإتصال ...
If WskClient.State <> 7 Then 'جملة شرطية تعني أنه إذا كانت حالة الوينسوك غير متصلة
WskClient.Close 'قطع الإتصالات القائمة بالوينسوك
WskClient.RemoteHost = txtIP.Text 'رقم الآي بي الذي سوف يتم الإتصال به
WskClient.RemotePort = txtPort.Text 'رقم البورت الذي سوف يتم استخدامه للإتصال بالسيرفر
WskClient.Connect 'أمر الوينسوك بالإتصال
End If 'إنهاء الشرط
_________________________________________________
ثاني شي كود زر قطع الإتصال ...
WskClient.Close 'قطع الإتصال مع الوينسوك
CmdConnect.Enabled = True 'تفعيل زر الإتصال
CmdDisC.Enabled = False 'إلغاء تفعيل زر الإتصال
_________________________________________________
الآن زر أرسل ....
If WskClient.State = 7 Then 'جملة شرطية تعني إذا كانت الوينسوك متصلة
WskClient.SendData txtName + ":" & vbNewLine + txtMsg 'أمرالوينسوك بإرسال
txtList = txtList & vbNewLine & vbNewLine & txtName & ":" & vbNewLine & txtMsg 'محتوى الليست التي سوف يكون بها الرسائل المرسلة و المستقبلة
DoEvents
txtMsg.Text = "" 'تفريغ محتوى مربع الإرسال
End If 'إنهاء الجملة الشرطية
__________________________________________________
مربع النص للإرسال txtMsg
في الإجراء KeyPress
If KeyAscii = 13 Then CmdSend = True 'لكي يتم الضغط على الزر CmdSend عند الضغط على Enter من لوحة المفاتيح
___________________________________________________
كود التايمر Tmr
Select Case WskClient.State 'إختيار حالة الليبل من معرفة حالة الوينسوك
Case 0: IPstat.Caption = "تم قطع الإتصال"
Case 1: IPstat.Caption = "الإتصال مفتوح"
Case 2: IPstat.Caption = "جاري إنتظار الإتصال"
Case 3: IPstat.Caption = "الإتصال مغلق الآن"
Case 4: IPstat.Caption = "الطرف الآخر يعالج البيانات"
Case 5: IPstat.Caption = "الطرف الآخر أنهى معالجة البيانات"
Case 6: IPstat.Caption = "جاري الإتصال الآن"
Case 7: IPstat.Caption = "متصل"
Case 8: IPstat.Caption = "قام الطرف الآخر بقطع الإتصال"
Case 9: IPstat.Caption = "خطأ"
End Select
طبعاً علشان يشتغل التايمر غيروا خاصية الإنترفال ل 1
وخلاص من التايمر ...
___________________________________________________
الآن الوينسوك ...
في الإجراء Close...
WskClient.Close 'قطع الإتصالات القائمة بالوينسوك
CmdConnect.Enabled = True
CmdDisC.Enabled = False
--------------------------------------------
في الإجراء Connect ....
CmdConnect.Enabled = False 'إلغاء تفعيل زر الإتصال
CmdDisC.Enabled = True 'تفعيل زر قطع الإتصال
MsgBox "تم الإتصال تستطيع الآن بدء المحادثة"
-----------------------------------------------
في الإجراءDataArrival ....
Dim Msg As String 'تعريف متغير
WskClient.GetData Msg 'إحضار البيانات Msg
txtList = txtList & vbNewLine + vbNewLine + Msg 'محتوى الtxtList
txtList.SelStart = Len(txtList) 'لجعل النص المرسل أو المستقبل حالياً هو الظاهر يعني يتم تحريك مؤشر التمرير تلقائياً لإظهار النص الحديث
_________________________________________________
إنتهينا الآن من العميل ... إن شاء الله المرة الجاي بحطلكم السيرفر ...
وكمان رح أرفقلكم مشروع ....
إن شاء الله يكون عجبكم الشرح وبسيط وسهل للجميع ...
طبعاً أنا اليوم بدي أعطيكم درس راااااااائع جداً وبنفس الوقت سهل جداً ...
بس الأمر محتاج شوية إنتباه ...
طبعاً أول شي اللوازم ...:::...
1- برنامج الفيجوال بيسك 6 VB6
2- أن تكون على علم بالفيجوال بيسك و أدواته
3- أن لا تكون مبتدأ فيجوال بيسك يعني تكون متوسط في البرنامج
4- وما تكون بتحب النسخ واللصق بس
ملاحظة هامة :: أنا بنصح الجميع إنهم ما يحاولوا النسخ و اللصق بس
كتير منكم بس بنسخ الأكواد و بلصقها وبقول أنا عملت برنامج ...
في الحقيقة هو ما بكون عمل برنامج ولا شي , هو عمل عمل أي طفل بعمله
يعني لو أي واحد بعرف حاجات قليلة على الكمبيوتر يقدر يعمل مثله ...
وبتمنى يا شباب ما حد ينقل الموضوع إلا بعد ما يحط الحقوق
لإنه الموضوع تعبني كتيير ...
جميع الحقوق محفوظة لTHE_MAN ©
THE_MAN_MTM@hotmail.com
_________________________________________________________________THE_MAN --------->THE_MAN_MTM@hotmail.com
_________________________________________________________________
--((العميل))--
بسم الله الرحمن الرحيم
نبدأ باسم الله ...
أنا رح أبدأ أول شي بالعميل ...
أول شي كائنات العميل ....
مثل الصورة ...
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image001.gif
طبعاً عارفين من وين بنجيب الأدوات ..
أما الوينسوك فهادي بنجيبها بنكبس على Ctrl + T
بتظهر قائمة بنختارها منها ولو مش موجودة بالقئمة بنكبس Browse
بنلاقيها بمجلد System32
هيك كل شي تمام الحمدلله ...
الآن لازم نضبط خصائص الكائنات ....
أول شي مربعين النص نختارهم ونحط الخاصية
Alignment = Center
لتوسيط النص في مربع النص ...
مثل الصورة هادي ...
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image002.gif
الآن خصائص مربعين النص للرسائل المرسلة و المستقبلة لازم يكونوا نقدر نضيفلهم
شريط تمرير .. علشان كده بنعمل مثل الصورة
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image003.gif
وكمان المربع إللي فوق لازم نعملله خاصية Lock = True
علشان ما حد يقدر يمسح او يضيف فيه ...
الآن بدنا نغير التسميات إللي بتظهر للمستخدم ..
لتغيير الاسماء ل Labels من الخاصية Caption
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image004.gif
لتغيير الاسماء ل Frames من الخاصية Caption
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image005.gif
لتغير الاسماء لTextBoxes من الخاصية Text
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image006.gif
لتغيير الاسماء ل CommandBottons من الخاصية Caption
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image007.gif
الآن غيروا التسميات مثل الصورة هادي ....
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image008.gif
طبعاً كله سهل للآن الحمدلله ......
نسيت أقوللكم تغيير خصائص ال Form
غيروا مثل الصورة ...
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image009.gif
.............................................................................................
__________________________________________________________
الآن لازم نغير الاسم البرمجي للكائنات ...
الاسم البرمجي لا يظهر للمستخدمين ...
لتغيير الاسم البرمجي من الخاصية Name
مثل الصورة
http://members.lycos.co.uk/msnman/VB6/LFiles/7_files/image010.gif
وغيروا التسميات مثل كده ...
علشان الأكواد تكون صحيحة وشغالة 100% ....
مربع الآي بي
txtIP
مربع البورت
txtPort
زر الإتصال
CmdConnect
زر قطع الإتصال
CmdDisC
زر الإرسال
CmdSend
مربع نص الرسائل المستلمة والورادة
txtList
مربع نص الرسائل التي سوف ترسل
txtMsg
ليبل الحالة غير متصل
IPstat
أداة الوينسوك
WskClient
مربع نص الاسم
txtName
باقي الحاجات مش مهم تغيير اسمها لإنها مش داخلة بالأكواد ...
الآن إنتهينا من كائنات العميل ...
_______________________________________________________________
------------------------------------------------------------------------------------------------------------------
_______________________________________________________________
بسم الله الرحمن الرحيم
................................
نبدأ بالأكواد ....
_________________________________________________
أول شي كود زر الإتصال ...
If WskClient.State <> 7 Then 'جملة شرطية تعني أنه إذا كانت حالة الوينسوك غير متصلة
WskClient.Close 'قطع الإتصالات القائمة بالوينسوك
WskClient.RemoteHost = txtIP.Text 'رقم الآي بي الذي سوف يتم الإتصال به
WskClient.RemotePort = txtPort.Text 'رقم البورت الذي سوف يتم استخدامه للإتصال بالسيرفر
WskClient.Connect 'أمر الوينسوك بالإتصال
End If 'إنهاء الشرط
_________________________________________________
ثاني شي كود زر قطع الإتصال ...
WskClient.Close 'قطع الإتصال مع الوينسوك
CmdConnect.Enabled = True 'تفعيل زر الإتصال
CmdDisC.Enabled = False 'إلغاء تفعيل زر الإتصال
_________________________________________________
الآن زر أرسل ....
If WskClient.State = 7 Then 'جملة شرطية تعني إذا كانت الوينسوك متصلة
WskClient.SendData txtName + ":" & vbNewLine + txtMsg 'أمرالوينسوك بإرسال
txtList = txtList & vbNewLine & vbNewLine & txtName & ":" & vbNewLine & txtMsg 'محتوى الليست التي سوف يكون بها الرسائل المرسلة و المستقبلة
DoEvents
txtMsg.Text = "" 'تفريغ محتوى مربع الإرسال
End If 'إنهاء الجملة الشرطية
__________________________________________________
مربع النص للإرسال txtMsg
في الإجراء KeyPress
If KeyAscii = 13 Then CmdSend = True 'لكي يتم الضغط على الزر CmdSend عند الضغط على Enter من لوحة المفاتيح
___________________________________________________
كود التايمر Tmr
Select Case WskClient.State 'إختيار حالة الليبل من معرفة حالة الوينسوك
Case 0: IPstat.Caption = "تم قطع الإتصال"
Case 1: IPstat.Caption = "الإتصال مفتوح"
Case 2: IPstat.Caption = "جاري إنتظار الإتصال"
Case 3: IPstat.Caption = "الإتصال مغلق الآن"
Case 4: IPstat.Caption = "الطرف الآخر يعالج البيانات"
Case 5: IPstat.Caption = "الطرف الآخر أنهى معالجة البيانات"
Case 6: IPstat.Caption = "جاري الإتصال الآن"
Case 7: IPstat.Caption = "متصل"
Case 8: IPstat.Caption = "قام الطرف الآخر بقطع الإتصال"
Case 9: IPstat.Caption = "خطأ"
End Select
طبعاً علشان يشتغل التايمر غيروا خاصية الإنترفال ل 1
وخلاص من التايمر ...
___________________________________________________
الآن الوينسوك ...
في الإجراء Close...
WskClient.Close 'قطع الإتصالات القائمة بالوينسوك
CmdConnect.Enabled = True
CmdDisC.Enabled = False
--------------------------------------------
في الإجراء Connect ....
CmdConnect.Enabled = False 'إلغاء تفعيل زر الإتصال
CmdDisC.Enabled = True 'تفعيل زر قطع الإتصال
MsgBox "تم الإتصال تستطيع الآن بدء المحادثة"
-----------------------------------------------
في الإجراءDataArrival ....
Dim Msg As String 'تعريف متغير
WskClient.GetData Msg 'إحضار البيانات Msg
txtList = txtList & vbNewLine + vbNewLine + Msg 'محتوى الtxtList
txtList.SelStart = Len(txtList) 'لجعل النص المرسل أو المستقبل حالياً هو الظاهر يعني يتم تحريك مؤشر التمرير تلقائياً لإظهار النص الحديث
_________________________________________________
إنتهينا الآن من العميل ... إن شاء الله المرة الجاي بحطلكم السيرفر ...
وكمان رح أرفقلكم مشروع ....
إن شاء الله يكون عجبكم الشرح وبسيط وسهل للجميع ...