بسم الله الرحمن الرحيم
طبعاً أنا اليوم بدي أعطيكم درس راااااااائع جداً وبنفس الوقت سهل جداً ...
بس الأمر محتاج شوية إنتباه ...
طبعاً أول شي اللوازم ...:::...
1- برنامج الفيجوال بيسك 6 VB6
2- أن تكون على علم بالفيجوال بيسك و أدواته
3- أن لا تكون مبتدأ فيجوال بيسك يعني تكون متوسط في البرنامج
4- وما تكون بتحب النسخ واللصق بس
ملاحظة هامة :: أنا بنصح الجميع إنهم ما يحاولوا النسخ و اللصق بس
كتير منكم بس بنسخ الأكواد و بلصقها وبقول أنا عملت برنامج ...
في الحقيقة هو ما بكون عمل برنامج ولا شي , هو عمل عمل أي طفل بعمله
يعني لو أي واحد بعرف حاجات قليلة على الكمبيوتر يقدر يعمل مثله ...
وبتمنى يا شباب ما حد ينقل الموضوع إلا بعد ما يحط الحقوق
لإنه الموضوع تعبني كتيير ...
جميع الحقوق محفوظة لTHE_MAN ©
THE_MAN_MTM@hotmail.com
_________________________________________________________________THE_MAN --------->THE_MAN_MTM@hotmail.com
_________________________________________________________________
--((العميل))--
بسم الله الرحمن الرحيم
نبدأ باسم الله ...
أنا رح أبدأ أول شي بالعميل ...
أول شي كائنات العميل ....
مثل الصورة ...
طبعاً عارفين من وين بنجيب الأدوات ..
أما الوينسوك فهادي بنجيبها بنكبس على Ctrl + T
بتظهر قائمة بنختارها منها ولو مش موجودة بالقئمة بنكبس Browse
بنلاقيها بمجلد System32
هيك كل شي تمام الحمدلله ...
الآن لازم نضبط خصائص الكائنات ....
أول شي مربعين النص نختارهم ونحط الخاصية
Alignment = Center
لتوسيط النص في مربع النص ...
مثل الصورة هادي ...
الآن خصائص مربعين النص للرسائل المرسلة و المستقبلة لازم يكونوا نقدر نضيفلهم
شريط تمرير .. علشان كده بنعمل مثل الصورة
وكمان المربع إللي فوق لازم نعملله خاصية Lock = True
علشان ما حد يقدر يمسح او يضيف فيه ...
الآن بدنا نغير التسميات إللي بتظهر للمستخدم ..
لتغيير الاسماء ل Labels من الخاصية Caption
لتغيير الاسماء ل Frames من الخاصية Caption
لتغير الاسماء لTextBoxes من الخاصية Text
لتغيير الاسماء ل CommandBottons من الخاصية Caption
الآن غيروا التسميات مثل الصورة هادي ....
طبعاً كله سهل للآن الحمدلله ......
نسيت أقوللكم تغيير خصائص ال Form
غيروا مثل الصورة ...
.............................................................................................
__________________________________________________________
الآن لازم نغير الاسم البرمجي للكائنات ...
الاسم البرمجي لا يظهر للمستخدمين ...
لتغيير الاسم البرمجي من الخاصية Name
مثل الصورة
وغيروا التسميات مثل كده ...
علشان الأكواد تكون صحيحة وشغالة 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) 'لجعل النص المرسل أو المستقبل حالياً هو الظاهر يعني يتم تحريك مؤشر التمرير تلقائياً لإظهار النص الحديث
_________________________________________________
إنتهينا الآن من العميل ... إن شاء الله المرة الجاي بحطلكم السيرفر ...
وكمان رح أرفقلكم مشروع ....
إن شاء الله يكون عجبكم الشرح وبسيط وسهل للجميع ...