ارسآل رسآئل الى اكثر من غرفة الى الكلينتس عن طريق الإندي ؟
#18
AL-MOB4RM3G كتب :السلام عليكم من جديد,

طيب الا يمكن الإستفآدة من اكثر من = في القآئمة ؟ بارك الله لكم,

يعني مثلا شئ من هذا ؟ (ملآحظة, لم تنجح معي العمليّة في الأسفل)

كود :
List.Add(Edit1.Text+ '=' +Edit2.Text+ '=' +Edit3.Text);

يتم عمل حآجز وآحد فقط, يعني يحسب ال = الؤلى فقط,

وعند استدعآء الثآنية يتم استدعآء الثآنية و الثآلثة,

ما الحلّ بارك الله لكم,

لا يمكن الاستفادة أكثر من ذلك من ال TStringList

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

نقوم بإنشاء كلاس يحوي الأشاء الأساسية التي نريدها

كود :
type TClient = Class // Create Class Of Client Public IP: String; Port: String; Name: String; Connected: Boolean; end;

ثم عند اتصال الكلاينت نقوم بتعريف متغير و ليكن CT

كود :
CT : TClient ;

و عند الاتصال نضيف معلومات الكلاينت التي نريدها

كود :
CT := TClient.Create ; CT.IP := AContext.Binding.PeerIP ; CT.Port := IntToStr(AContext.Binding.PeerPort) ; CT.Name := 'Something you want' ; CT.Connected := True ;

و عند الاستدعاء نقوم بالبحث و المطابقة حسب قيمة معينة مثل الأي بي (بحالتي) أو الاسم أو ال Mac Addres أو قيمة تحددها أنت

طبعا هنا ال Clients هي عبارة عن TList نقوم بتعريفها عند انشاء البرنامج و نقوم باضافة الكلاينت الجديد لها طبعا

كود :
Clients.Add(CT) ;

كود :
for I := 0 to Clients.Count - 1 do begin if TClient(Clients[i]).IP = AContext.Binding.PeerIP then begin //do something like TClient(Clients[i]).Connected := True ; end; end;

حلول أخرى لم اجرببها بعد Record و TThreadList . و جاري تطويرها (لأن هناك مشكلة تشغل بالي)
الرد


الردود في هذا الموضوع
ارسآل رسآئل الى اكثر من غرفة الى الكلينتس عن طريق الإندي ؟ - بواسطة o15s19 - 12-01-2010, 11:51 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم