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

ممكن حدا يعلمني شبكات

مغلق
بدأه delphi team في 3 يونيو 2004 · 24 رد · 3,400 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم شباب

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

بين جهازين أو أكثر.....

أريد ان أطور برنامجي ليصبح على أكثر من جهاز لثلاث مستخدمين يتم تبادل المعلومات بينهم (في اطار قواعد البيانات)

يعني أنا مشروع كان عن شركة سيارات

فمثلا يختار الزيون سيارة معين تعجبه فيقوم العارض بضغط على زر مثلا (الموافقه على السيارة أو ما نسمي زر البيع)

فيستلم المحاسب معلومات غن السيارة التي تم اختيارها (المواصفات من اسم ,رقم محرك , سعرها الخخ) ويكمل عملية الشراء إلى أخرها

وطبعا المستخدم الثالث وهو المدير يستطيع البيع والشراء.....فمثلا عند شراء المدير لسيارة معينة يجب ان ترسل كافة المعلومات التي

يفترض ان يراه العارض لكي يقوم بشرحها لأي زبون يأتي ليشتري سيارة ما (مثل صورة السيارة والمعلومات العامة عنها)

إضافة إلى ذلك يستطيع المدير التحكم الكامل بصلاحيات كل من المستخدمين الأخرين ......

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

أرجو الأفادة

عفوا على الأطالة أخواني

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#2

اخي delphi_team انا عملت برنامج chat من قبل بالدلفي لاني كنت زهقان :P

على كل انا استخدمت ادوات ال ClientSocket و ServerSocket

وهذا رابط على درس لاستخدامهما

Exchanging Data over the Network using Delphi

عندما تنتهي من قراءة الدرس يمكن ان تحدد طريقة المحاكاة بين البرنامجين بحيث يكون هناك امر معين يرسله ال Client الى ال server للتنفيذ... هذا اسمه ال Protocol

مثال: لاضافة اسم جديد في ال Database يجب على ال client ارسال امر كهذا:

ADD Rakan

حيث ان الاسم "Rakan" مسمى Command Parameter ومعناه ان هذا الاسم هو معلومات كافية لل server بتنفيذ الامر ADD

ارجو ان اكون قد اعطيتك معلومات كافية عن الموضوع

تم تعديل هذه المشاركة بواسطة راكان الحنيطي في 4 يونيو 2004 في 12:47

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#3

شكرا أخي العزيز ركان على مساعدك

لقد وجد فقط صفحتين شرح (الصفحة الاولى + صفحة Part 2) فهل هو كامل

لم أقرأه بعد :)

أخوك

تم تعديل هذه المشاركة بواسطة delphi team في 4 يونيو 2004 في 22:39

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#4

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

تم تعديل هذه المشاركة بواسطة راكان الحنيطي في 5 يونيو 2004 في 00:20

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#5

الله يعطيك العافية أخوي سأجمع الموقع برمته (الأشياء التي تحدث عن الINDY) وسأدرسها واذا كان في شي صعب سوف ارجعلك

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#6

مرحبا

أخي ركان نفذت الدرس الأول بخصوص ارسال عبارة إلى SERVER ولكن تظهر لي رسالة خطأ عند تشغيل برنامج CLIENT فورا مع أني

نفذ المثال كما هو مطلوب تماما!!!! في الرابط الرسالة التي تظهرلي(انظر إلى الصورة)

وبالمناسبة الكمبيونت TServersocket و ClientSocket غير موجودين عند على الدلفى7 (على الأغلب من النسخة)

ولكن لحسن حظي يوجد عندي دلفى 6 يوجد به الكمبيوننت (نفذت المثال عليه)

والسؤال كيف استطيع تنزيل الكمبونتين إلى دلفى 7 حاولت شتي الطرق ولكن لم تنجح لأن الدلفى يظهر لي رسالة تفيد أن الكمبونتتين

موجودين فعلا ولكن لا يظهران فما الحل(جربت ان اظهرهما بدون فائدة)

post-15-1086393337_thumb.jpg

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#7

لاضافة الادوات الى الدلفي 7

Solution: You will need to add the dclsockets package to the IDE. To do this go to Component | Install Packages | Add (/bin/dclsockets70.bpl).

اما عن الخطأ فممكن ان تضع الكود هنا لاطلع عليه؟

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#9

اهه لقد بحثت عن الكود و انت يا اخي بتحاول تشبك مع سيرفر غير شغال .... حاول ان تعمل Connect لل IP : 127.0.0.1

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#10

أوكي بجرب...

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#11

مشي الحال عزيزي راكان

بس لو كان في عندك أكثر من Client غلى أكثر من جهاز انا اريد ان يكتب اسم الLocalhost لا أريد رقم الIP ADDress

Yours

تم تعديل هذه المشاركة بواسطة delphi team في 6 يونيو 2004 في 11:26

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#12

الClient يحتاج الى ال IP address للسيرفر من اجل ان يشبك معه... وبصراحة لم احرب كيفية جعل السيرفر ياخذ اكثر من connection واحدة...

ما هو سؤالك عن ال local host لاني لم افهم علاقة السؤال باكثر من CLient واحد

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#14

خلص الامتحانات ورايح ابلش بتحليل النظام من أول

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#15

اخي وجدت بعض الدالات التي تساعد بطريقة مش معقولة بمعالجة النص المستقبل و المرسل مثل ال Visual basic

Instr => StrPos

Split

function SplitStrings(const str: string; const separator: string;                        Strings: TStrings): TStrings; 
 // Fills a string list with the parts of "str" separated by  // "separator". If Nil is passed instead of a string list,  
// the function creates a TStringList object which has to  // be freed by the caller  var    n: integer;    p, q, s: PChar;    item: string;  
begin
    if Strings = nil then
      Result := TStringList.Create
    else 
     Result := Strings;
    try
      p := PChar(str);
      s := PChar(separator);
      n := Length(separator); 
     repeat 
       q := StrPos(p, s); 
       if q = nil then q := StrScan(p, #0); 
       SetString(item, p, q - p); 
       Result.Add(item);
        p := q + n; 
     until q^ = #0; 
   except
      item := ''; 
     if Strings = nil then
 Result.Free;
      raise;
    end;
  end;

Left هي في الدلفي LeftStr

Right => Rightstr

ماذا عن اول اثنين؟

تم تعديل هذه المشاركة بواسطة راكان الحنيطي في 29 يونيو 2004 في 12:45

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#16

مثال على استخدامات هذه الدالات

//code by Maverick
Var Text:String;
var i:integer;
Var Parts: TStrings;
begin
	Text := 'My Name is Rakan';
	i := pos(Text,'Rakan');
	if i = 0 then
  begin
 	 ShowMessage('String Rakan cannot be found')
  End;
	else
  Begin
 	 ShowMessage('String Rakan was found');
  End;
	ShowMessage(LeftStr(Text, 2));
	ShowMessage(RightStr(Text, 5));
	Parts := nil;
  try
        Parts := SplitStrings(Text, ' ');  //split by a space
       ShowMessage('First part is "' + Parts[0] + '"');  //should be 'My'
  finally
        Parts.Free; 
  end;
End;

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#17

شكرا أخي العزيز ركان لكن فعليا لم أفهم ما سوف تفيدني هذي الدالات في نقل البيانات

بسبب انني لم أفهمهم جيدا ممكن تشرحلي أكثر معلش صاحبك هل الايام فهمو تقيل :(

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#18

من عيوني اخي :)

هذه الدالات ستفيد بتقسيم اجزاء ال Protocol التي ستعمل معها

مثال

اذا اردت نقل معلومة من العميل الى الخادم لتقول له انك تريد اضافة Record جديد عن زبون

ترسل الامر

ADD Rakan 65456456465 London

حيث ان المعلومة بعد ADD هي الاسم الاول و الى بعدها هي ال Credit card number و الي بعدها هو مكان الاقامة

ستحتاج في هذه الحالة الى الدالة LeftStr هكذا

var Command:string;
Begin

Command := LeftStr(ReceievedInformation,3);

End;

وهذا سيعطيك الاحرف الثلاث الاولى من المعلومة و بالتالي باستخدام If Statement ممكن تشوف ما هي الCommand

If Command = 'ADD' then
begin
//add the customer
end;

وهنا ستحتاج بعدها الىاستخدام SplitString لاخذ المعلومات التي تريد ان تضعها في ال Database لدى الخادم

if Command = 'ADD' then
	var FirstName:string, CreditCaredno:Double, Address:string;
	var sql:string;
	Var Info:TStrings;
	begin
  Info := splitstrings(ReceievedInformation, ' ');
  FirstName := Info[0]; //first parameter is 1st name
  CreditCardNo := info[1];
  Address := info[2];
  //then here you have to add the sql statement
  sql := 'insert into TableOfCustomers(FirstName, CreditCardNo, Address) values(' + quotedstr(FirstName) + ',' + quotedstr(DoubleToStr(CreditCardNo)) + ',' + quotedstr(address) + ')';
  AdoQuery1.Sql.Clear;
  Adoquery1.Sql.Add(sql);
  AdoQuery1.ExecSQL;
  //DONE !!!!!!!!!!!!!!! :D
	End;

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#19

تسلم عيونك :)

حاليا قبل البدأ في البرمجة انا محتار في اي قاعدة بيانات اختار من أجل البرنامج؟؟؟

حاولت استعمل DBExperss ولكن الي فهمتو انها لا تقبل غبر الDB2 والMSSQL و Oracle و الMySql والInterbase

زو الInfomix ولكن الاولى لأريد ان استعملها و الOracle و MySql اريد تعلمهما فإذا حدى عندو روابط او حدى من الأخوة

عندو شوية شرح عنها بكون ممنون........

في مشكلة كيف سوف انشاء مجلد مشاركة في الMy Network Place لكي يأخذ المسار؟؟؟؟

بانتظار ردودكم

أخوكم

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#20

والله اذا ال Client و ال Server مكتوبات في الدلفي فانصح باستخدام ال Access لانها سهلة او MySQL اذا كن لديك MySQL Server

http://www.mysql.com/

تم تعديل هذه المشاركة بواسطة راكان الحنيطي في 2 يوليو 2004 في 00:04

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#21

في مشكلة كيف سوف انشاء مجلد مشاركة في الMy Network Place لكي يأخذ المسار؟؟؟؟

في ال Connection String

تبع الADO

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#22

اما هذه فهي ليست برمجة :P ويمكنك السؤال عنها في منتدى الدعم الفني

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#23

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

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#24

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

وس هلا صار الموضوع في المنتديين شغالين .... شو بدي اساوي :(

كلو خير وكل المنتديات خير وبركه :)

ومنرجع لموضوع الاساسي رايح اروح اضرح مشكلة الشبكة في قسم الشبكــات ومن شوف شو بيصير .......

أخوكم

تم تعديل هذه المشاركة بواسطة delphi team في 2 يوليو 2004 في 22:52

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#25

الله معكم والى الامام هنا او فى اى منتدى المهم انه لا يكون فى ضرر والمصبحة تكون للعرب والمسلمين

{ربى زدنى علما}

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

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