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

UnOfficial ArabTeam2000 XML Web Services

مغلق
بدأه معتز شمس في 22 أكتوبر 2005 · 4 رد · 591 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته.

بعد ما توليت الاشراف على منتدى السي شارب وأصبح من واجبي فتح كل موضوع ورؤية كل رد وكل مشاركه .. أتت الى فكرة عمل برنامج يجلب ويفتح لي كل المشاركات الجديده وينبهني عند وجود ردود جديده والخ , ولكن نظرا لانشغالي الشديد والجديد لم أقم بتنفيذ أى شئ.

ولكن منذ عدة أيام فكرت بأن انفذ شئ من تلك الفكره ... فقمت والحمد لله وكبدايه بعمل XML Web Service لتجلب آخر مواضيع المنتدى وسميتها ArabTeamTopTopics واختصارها ATTT أو A3T :D

أنا للأسف حتى الآن لا أمتلك خبره اطلاقا في ذلك الوجه الآخر في الدوت نت المسمى Web Applications ولكن وجدت عمل Web Service بسيطه كهذه لا يتطلب معلومات كبيره.

عموما على كل حال ... خدمة الـ ATTT ( كل ماأقولها أضحك :) ) تحتوي على Method واحده حتى الآن اسمها GetTop وهى تأخذ عدد Integer وهو عدد المواضيع التي تريد استرجاعها و الداله ترجع DataSet تحتوي على جدولين بينهما علاقه ::

- جدول Forums ويتكون من ID , Name و الـ ID هو PrimaryKey.

ويحتوي هذا الجدول على بعض من أسماء المنتديات و الـ ID الخاص بهم.

- جدول TopicsAndLinks ويتكون من Topic , Link , ForumID و Link هو Unique.

ويحتوي هذا الجدول على المواضيع الجديده ووصلاتها المباشره ورقم المنتدى ... وطبعا العلاقه بين الجدولين اتضحت الآن فهناك علاقه بين Forums.ID and TopicsAndLinks.ForumID وهى العلاقه الوحيده الموجوده في الـ DataSet التي ترجعها الداله GetTop.

عموما استخدام الخدمه سهل .. افتح الـ Visual Studio .net واعمل مشروع جديد وسمه ArabTeamWSTest مثلا.

من الـ Solution Explorer اضغط Right Click بالماوس على اسم مشروعك أو على References واختار Add Web Reference ... سيطلب منك ادخال عنوان الخدمه فقم بادخال هذا العنوان ::

http://www40.brinkster.com/myxmlservices/A...mTopTopics.asmx

واضغط Enter ... انتظر التحميل ... ثم اكتب للخدمه اسما وليكن ArabTeamWS واضغط OK.

بعد ذلك يمكنك استخدامها من خلال عمل Object عادي ::

ArabTeamWS.ArabTeamTopTopics A3T = new ArabTeamWSTest.ArabTeamWS.ArabTeamTopTopics();

ArabTeamWS هو الاسم الذي أسنداه للخدمه و ArabTeamWSTest هو اسم المشروع.

بعد ذلك استدعي دالة GetTop ومرر لها عدد المواضيع التي تريد أن تجلبها لك الخدمه بشرط أن لا يزيد عن 20 , واجعل الداله ترجع ما تريده في DataSet.

DataSet myDataSet = A3T.GetTop(20);

بعد ذلك اعمل ما تريده بـ myDataSet فهى تحتوي على الجدولين بالفعل الآن .. ممكن مثلا تعمل Bind لـ DataGrid عندك ::

dataGrid1.DataSource = myDataSet;

21_10_05_06_37_15_1129945035ArabTeamWSDG.GIF

عموما افعل ما تريده بها واستفيد من العلاقه الموجوده بين الجدولين في معرفة اسم المنتدى الذي ينتمي اليه كل الموضوع لأن هذه خاصيه غير موجوده في المنتدى :P

أنا قمت بعمل برنامج يستخدم هذه الخدمه موجود في المرفقات كعرض لها ... يقوم بعرض آخر المواضيع في ListBox وعندما تقف على أى موضوع يكتب اسم المنتدى الذي ينتمي اليه في ComboBox :

21_10_05_06_35_37_1129944937ArabTeamWSAll.GIF

كما يمكنك استخدام الـ ComboBox في فلترة المواضيع على حسب المنتدى الذي تريده وفي الصوره التاليه أقوم بفلترة المواضيع على أساس مواضيع منتدى Visual Basic فقط :

21_10_05_06_37_45_1129945065ArabTeamWSFilter.GIF

وطبعا عندما تضغط Double Click على اسم الموضوع يقوم البرنامج بفتحه لك بنافذه جديد في الـ Internet Explorer.

ولكن أتوقع أن يقوم اخواننا في قسم السي شارب أوالفيجوال بيسيك بعمل برامج أفضل من ذلك.

هام :: هذه الخدمه غير رسميه من المنتدى هنا ولذلك ان لم تعمل لديك لا تراسل الاداره ... أيضا ان توفر لي الوقت سأقوم بعمل أكثر من نسخه من دالة GetTop لتجلب آخر 10 مواضيع مثلا من منتدى معين قد مرر اسمه اليها.

أيضا أنا لم أضف كل أسماء المنتديات لكثرتهم وسأضيف البقيه قريبا ان شاء الله.

أنا كتبتها على أكثر من مره وكانت تجربه والآن اتضحت لي الصوره ويمكنني كتابتها بشكل أفضل ولكن لا أمتلك وقت لذا يمكن أن تجدها بطيئه قليلا وأى Bugs تلائيها ابأه قولي عليها :D.

ArabTeamWSTest.rar

تم تعديل هذه المشاركة بواسطة معتز شمس في 22 أكتوبر 2005 في 05:37

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#2

معذرة يا معتز و لكن لدى سؤال غبى (بالمناسبة لم انزل الملف)

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

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#3

بالطبع يا أخ طارق ولكني آسف نسيت أن أكتب أنني استطعت اختراق قاعدة البيانات وهذا لأني من أذكى الأذكياء وهذا يبرر اللقب الذي لقبت به سنة 1960 بـ معتز الذكي طحن :P

:lol: طبعا لا ... فأنا أقرأ من الملف ibflposts فأنا لا أعرف أين قاعدة بيانات المنتدى أصلا.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#4

فكره حلوه يا معتز بس هى عايزه تظبيط و كمان احنا ممكن نطورها و نعمله برنامج خاص للمنتدى و يعتبر البرنامج Arabteam Guideوانا شغال معك لو فى نيتك تطوره :D بس 10/10

365159135_b0fcd2be76_o.jpg

365163463_a76592857a.jpg
#5

يااااااه .. نفس الفكر يا TANNA ... أنا من فتره كنت أريد عمل برنامج اسمه Lazy Developers Guide :D يخدم المطورين الكسالى أو المشغولين بأن يجلب لهم آخر الدروس والمواضيع هنا من منتدانا وأيضا من منتديات أخرى خصوصا Microsoft Communities ويقوم البرنامج بعمل Filter على حسب اهتمامات المطور .. وذلك كله يكون بواسطة XML Web Services حتى يستطيع كل مطور أن يبرمج الـ Lazy Developers Guide بتاعه كما يريد وبأى لغه يحبها :)

اقتباس
شغال معك لو فى نيتك تطوره  بس 10/10

ماهو احنا في 22/10 أهوه !!!! قول كدا أفكار وخلينا نعمل حاجات حلوه.

بالمناسبه أنا لم أستطع ترجمة اسم منتدى " التحكم الصناعي وربط الحاسب بالعالم الخارجي " ولذلك تجدوه بعنوان That Forum I Couldn't Translate , فهل يخبرني أحد بترجمه قصيره مناسبه (h) ؟

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

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

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