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

مشروع (مشاركة) ملفات على الشبكة

رائج
بدأه rober في 24 يونيو 2009 · 74 رد · 6,946 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

سنبدأ فيه من الصفر أي سنبدأ من شكل المشروع و الأدوات التي سوف تستخدم حتى نصل إلى نهاية المشورع

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

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

كفكرة مبدأية للمشروع :

يقوم الطرف الأول بتحديد و أضافة الملفات التي يريد أن يضعها على المشاركة

يقوم الطرف الثاني بالأتصال بالطرف الأول لرؤية الملفات المشاركة و أختيار الملف المطلوب و تحميله

الخطوة الأولى : الشكل

أقترح أن يكون الشكل كما هو موضح في الصورة الأولى و الثانية

أي سنستخدم الأداة Page Control التي تتألف من عنصرين Tab Sheet

في الـ Tab Sheet الأول سنضع label و edit و ثلاث أزرار Button و StringGrid

في الـ Tab Sheet الثاني سنضع زرين Button و StringGridل

و سنستخدم العنصر StatusBar لعرض الأحداث

ستتكون الـ StringGrid الأولى من 5 أعمدة و صفين

ستتكون الـ StringGrid الثانية من عامودين و صفين

ستكون العناصر متوضعة على الشكل التالي

post-143282-1245848261_thumb.jpg

post-143282-1245848289_thumb.jpg

بإنتظار أرائكم و أقتراحاتكم لننهي الخطوة الأولى و ننتقل للخطوة الثانية

تم تعديل هذه المشاركة بواسطة rober في 24 يونيو 2009 في 16:19

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#2

السلام عليكم

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

زيد لديه ملفات يريد مشاركتها

عمر يريد ملف او اكثر من زيد

عمر يتصل بزبد (طريقة الاتصال ليس مهمة الان)

هل:

1- مباشرة باتصالة تظهر له قائمة الملفات المتوفرة عند زيد

2- يكتب في Edit اسم الملف الذي يريده والنتيجة تظهر بعد ذلك

d4baa0.gif
#3

1- يقوم عمر بالأتصال بزيد بطريقة لن يتم ذكرها الأن

2- بعد الأتصال يقوم زيد بإرسال قائمة بأسماء الملفات التي قام بمشاركتها سابقاً (دون تدخل يدوي من زيد)

3- تعرض أسماء الملفات عند عمر

4- يقوم عمر بطلب الملف المطلوب (إن وجد في القائمة)

5- يقوم زيد بإرسال الملف إلى عمر (دون تدخل يدوي من زيد)

أرجو أن أكون قد تمكنت من التوضيح .. :happy:

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#4

ذن كنت تقصد 1

اقتراح،بالنسبة لطلب الملف : يمكن الاكتفاء بالقائمة وعند الضغط عليه بالزر الايمن يظهر خيار الطلب بقائمة PopUp

استفسار اخر :D

ماذا نستعمل ؟

1- مكونات Socket العريقة

2- مكونات INDY

3- مكونات اخرى ؟

d4baa0.gif
#5
اقتباس
اقتراح،بالنسبة لطلب الملف : يمكن الاكتفاء بالقائمة وعند الضغط عليه بالزر الايمن يظهر خيار الطلب بقائمة PopUp

هذا ما أفكر به لكني لم أذكر شيء عنها لنذكرها حين الوصول إلى هذه المرحلة

اقتباس
ماذا نستعمل ؟

أنا أستخدمت Clien&Server Socket لأني لم أتعلم غيرها :blush:

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

على العكس أفضل كي لاتظهر الخربشات التي قمت بإستخدامها :happy:

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#6

كنت تقصد 1 ايضا

استفسار اخر :wink:

بعد الأتصال يقوم زيد بإرسال قائمة بأسماء الملفات التي قام بمشاركتها

هل اسم الملف

1- الاسم / الحجم / التاريخ (مثل FTP او المتصفح)

2- الاسم+اللاحقة

3- شيئ اخر !

تم تعديل هذه المشاركة بواسطة B.M.AbdelAziZ في 24 يونيو 2009 في 18:59

d4baa0.gif
#7

أفكر في أرسال الأسم مع اللاحقة + الحجم فقط

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#8

أخر سؤال (لليوم)

هل

1- برنامج واحد يعمل Client/Server بنفس الوقت حسب الاستخدام

2- برنامجين: Server مهمته فقط مشاركة الملفات + ِClient مهمته فقط اقتناء الملفات

ملاحظة: يمكن ل2 ان يصبح 1

تم تعديل هذه المشاركة بواسطة B.M.AbdelAziZ في 24 يونيو 2009 في 19:25

d4baa0.gif
#9

1

برنامج واحد يعمل Client&Server

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#10

اولا لابد لن اقول انه مشروع جيد بشرط المواصلة فيه .

ثانيا ان شخصيا احبذ استعمال مكونات ال ICSفهي تعتبر قوية جدا زيادة على ذلك خاصية ال Thread-Safe

والله المستعان

تم تعديل هذه المشاركة بواسطة mohfa في 24 يونيو 2009 في 21:05

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#11

ICS لم اسمع بها من قبل هل لا شرحت لنا اخي محمد الفرق بينها و indy

#12
اقتباس
ICS لم اسمع بها من قبل هل لا شرحت لنا اخي محمد الفرق بينها و indy

+1

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#13
اقتباس
ICS لم اسمع بها من قبل هل لا شرحت لنا اخي محمد الفرق بينها و indy

مكونات ال ICS من برمجة François Piette تعتبر من المكونات القوية هي تشبه الى حد كبير مكونات ال WinSock المضمنة مع دلفي و لكن تكمن قوة ال ICS باظافة الى الخصائص الاخرى في ال Thread-Safe في النسخ الاخيرة اظاف François Piette ال Binary-Tree

للمزيد اخي عبد العالي حول هاته المكونات زر

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#14

اريد ان انوه فقط ان الامر في الاخير يرجع لاخي Rober

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#15

بارك الله فيك اخي محمد وزادك الله علم على علم

#16

اذا اعجبتك مكونات ال ICS اخي عبد العالي .

مبرمج المكونات اظنه جارك اليس كذلك .... :wink:

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#17

mohfa وزكيري عبد العالي

كفاكم كلام :D

النقطة 1 واضحة الان وقت Code

d4baa0.gif
#18
اقتباس
بعد الأتصال يقوم زيد بإرسال قائمة بأسماء الملفات التي قام بمشاركتها

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

شكرا

#19

ارسال - send مثل ارسال "hello" عبر برنامج المحادثة

زيد لديه Socket تتنصت

لديه قائمة بالملفات المشتركة

يمكنه اضافتها يدويا

عندما يتصل عمر بزيد، ترسل له تلقائيا قائمة الملفات المشتركة وتظهر عنده

d4baa0.gif
#20

همم مفهوم شكرا

#21

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

والله المستعان .

تم تعديل هذه المشاركة بواسطة mohfa في 25 يونيو 2009 في 20:38

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#22

انا لا احب المكوناة المستوردة الى الدلفي بل استعمل غالبا دلفي فقط الا في حالة الاممكن ارجوا استعمال indy

بالتوفيق

#23

أقترح الأخ زكيري استخدام الـ Indy و الأخ mohfa بإستخدام ICS و بالنسبة للأثنين فأنا لا أعرف كيفية العمل عليها

ولا أعرف الفرق بينها و بين الـ Client&Server Socket (أرجو من الأخوة زكيري و mohfa) ذكر نقاط الشبه و الأختلاف و المميزات

و إن كنا سنعتمد أحد الطريقتين هل سيساعدنا الأخوة ( زكري - mohfa) في كتابة الكود ؟؟ :happy:

بكل الأحوال دعونا ننتهي من الخطوة 1 لكي لا نتوه :wacko:

هل نعتمد الشكل الذي ذكر في المشاركة الأولى ؟؟ إن كان كذلك سننتقل لكتابة الكود الخاص بالطرف الأول (Server)

الشكل وضع في المرفق هل نكمل أم هناك أقتراحات أخرى ؟؟

شكرا للجميع على المتابعة :wub:

File_Sharing.rar

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#24

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

أرجو أن تقبلوا مشاركتي!

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

بالنسبة إلى المكونات أؤيد اقتراح الأخ زكيري عبد العالي (Indy أو Client and Server Sockets) رغم أني لم أستعمل مكونات Indy سابقاً. و إذا اكتمل و نجح المشروع يمكن إصدار نسخة أخرى بمكونات ICS.

أتمنى أن أتمكن من الاستمرار في المشاركة.

و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#25
اقتباس
أرجو أن تقبلوا مشاركتي!

نقبل ؟؟

أنا من أرجو منك أن تشاركنا أخ ناجي فكلما زادت الخبرات في المشروع حصلنا على فائدة أكبر

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

أقراح ممتاز يفيد الـ Client في معرفة إن تم التعديل على الملف

اقتباس
بالنسبة إلى المكونات

بإنتظار الأخوة زكيري و mohfa لتقديم رأيهم بمشاركتي السابقة :wink:

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

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