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

3rd party components

مغلقرائج
بدأه محمد خليل أبو صلاح في 10 أبريل 2007 · 64 رد · 8,615 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم أولا

ثانيا مممممممم أنا مليت من الرد على المواضيع و قلت خلينا نبدأ نخربش سوى مع بعض في أفكار مفيدة عمليا..

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

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

Custom Development

و

Product based projects

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

ولكن عندما يدخل مجال ال Business سيعرف تماما معنى الجملة التالية:

Time is MONEY

وهذا ما يهم مدراء المشاريع .....

اعتقد انتهيت من المقدمة العامة .. صح.؟ اوكي نبدأ المقدمة الخاصة

س. ما الفرق بين عمل كود من الصفر او اللجوء ل 3rd party؟

طبعا توفير الوقت و أحيانا بعض اللمسات التي تخص ال User Interface UI

مثلا للرسوميات هناك أداة ImageGlue الخاصة بشركة WebSuperGoo و هي تؤثر فقط على الاكواد ولا تأثير ظاهري لها على ال UI ولكن مثلا

اداة RadControls الخاصة بشركة Telerik يمكنك التأثير على ال UI من خلال الادوات التي تتيحها لك الأداة.

س. هل هناك خلفية معينة احتاج لتعلمها عندما استخدم ال 3rd party components؟

تحتاج احيانا للمعرفة بالأسمبلي الخاص بالدوت نت او تعديل ملف Machine.Config و إضافة مكتبات و ملفات DLL او Com+ او تعديل ال project configurations

س. هل سندفع لهذه المكونات؟ او بمعنى آخر هل يلزمنا الحصول على رخصة لاستخدام هذه المكونات؟

بالأغلب نعم رغم وجود البعض مجاني ولكن أكيد ما في شي ببلاش الا العمى و الطراش .. مثل فلسطيني معليش

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

شركة اعلانات تود أن تقوم بعمل نظام Standard Ads لها به التالي:

-1 شعار الوكيل Dealer Logo

شعار للوكيل يوضع في مكان معين داخل الاعلان.

2-صورة المنتج

أيضا توضع في مكان معين

3. معلومات ككتابة نصية تكتب في مكان معين داخل الصورة طبعا تخص المنتج

4.أشكال بيضاوية مختلفة درجات الدوران يعني اشكال بيضاوية نقوم بعمل Rotation لها

5. عمل Cropping لبعض الصور

6. القدرة على تغيير احجام الصور و غيرها من الخصائص الدارجة

7. اخراج الاعلان على شكل صورة JPEG و ملف PDF

تكفي؟ اوكي خلص بيكفي هيك ..

ماذا سنفعل؟؟؟

دعوني أولا انتظر مشاركاتكم تعليقا على ما ورد و نرى مدى الاستعداد للتفاعل و بعدها سنبدأ خطوة بخطوة.

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

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

ما رأيكم؟

You can fly while you can touch the sky

#2

أخ محمد خليل أبو صلاح شكرا لك على جهودك

" سيستفيد من لا خبرة سابقة له لانه سيتعلم كيف و كيف و كيف يستخدم هذه المكونات و سيتعلم بعض ميزات ال OOP"

بإنتظار التكملة...

#3

بسم الله الرحمن الرحيم

مقدمة جميلة

استمر وبارك الله بك

اللهم لا سهل الا ماجعلته سهلا، وانت تجعل الصعب ان شئت سهلا

83_45a7168be2ddb.jpg

#4

سلام ..

:huh:

أنا لم افهم القصة ...

لكني سـ أتابع ....!

، تحياتي.

#5

شو اللي ما فهمتيه بالضبط؟

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

You can fly while you can touch the sky

#6

سلام ...

:) قبل كل شيء ، انتقالك من تقديم الاستشارات ، الى تقديم الدروس ... هو خطوه مهمه لنا كمبرمجين مبتدئين ..لنستفيد من خبراتكم .

شيءٌ جيد أن يكون لديك متسعُ من الوقت لذلك ، و أرجو أن يتسع بالك في المقابل لكثرة اسئلة و خاصة الغبيه منها . ;)

حسنا ..

سوف أشير الى النقاط التي سببت لي بعضا من الغموض .. و هي :

اقتباس
هناك أداة ImageGlue الخاصة بشركة WebSuperGoo و هي تؤثر فقط على الاكواد ولا تأثير ظاهري لها على ال UI

ولكن مثلا

اداة RadControls الخاصة بشركة Telerik يمكنك التأثير على ال UI من خلال الادوات التي تتيحها لك الأداة

:unsure: هل يمكن مثلا أن نرى صور عمليه أو توضيحه لذلك ؟؟

اقتباس
تحتاج احيانا للمعرفة بالأسمبلي الخاص بالدوت نت او تعديل ملف Machine.Config و إضافة مكتبات و ملفات DLL او Com+ او تعديل ال project configurations

:wacko: تلك المفاهيم غامضه جدا علينا ... هل هناك فكرة بسيطة تستطيع تقديمها لنا ، مع بعض الأمثله الصغيرة لكيفية التحكم بها ..

، هذا ما لدي حتى الآن .

، أرجو أن لا أكون اثقلت عليكم .

، تحياتي و شكري لك.

#7

والله تمور لم اسمع بها من قبل خصوصا الأداتين

اعلم ان الشركات البرمجية الكبيرة يهمها العمل الجاد الدؤوب لتحقيق اهدافها

نموت وتحيا ...................فلسطين .

#8

سلام .. بعد ويكند حلو نرجع للصداع

اولا حبيت اعرفكم محمد الهباش كان زميلي بالجامعة "الله يرحم ايامها" و من سنة افترقنا بس ان شاء الله بنتقابل بالصومال..

ثانيا جوليا انا اعتقدت انك مبرمجة في شركة من خلال مشاركاتك السابقة و يبدو أنك طالبة جامعة .. لا أعلم تحديدا !!

اه نسيت .. الصداع

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

مجموعة ادوات Telerik رح تلاقوا المزيد على هالوصلة www.Telerik .com

اولا لتنزيل اداة ImageGlue أكيد في موقع رسمي لذلك

http://www.websupergoo.com

و أكيد رح نلاقي كمان مجموعة أدوات لنفس الشركة

نذهب لصفحة ال Download و نقوم بإنزال فقط ImageGlue.NET وليست ال ImageGlue و التي هي فقط لل Classic ASP

مممممممم نزلنا كل شي؟ تمام .. بنعمل Setup للملف و طبعا سهل جدا تنصيب البرنامج

لو رحنا على

Start -> All Programs -> ImageGlue.NET 6.1

رح نلاقي مجموعة اختصارات أهم واحد فيهم هو Manual لان فيه كتير معلومات و أمثلة ..

نرجع لجوليا .. بخصوص الاسبملي و مكتبات ال DLL وال COM+ خلينا نتجاهلها حاليا إلى حين أن يقع فيها احد الأعضاء كي تتم مناقشتها

حتى لا نخرج عن موضوعنا الرئيسي ..

كيف نعرف إن الاداة اشتغلت؟

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

مممممممم ولا شي .. بهالحالات بنروح على StarBucks و متلي أطلبو Americano و ارجعوا بنلاقي الكلام واضح

لانو قررت اروح عالفوتوشوب و ازيد الصداع و اعمل مثال على شكل صورة حتى نفهم المطلوب ....

راجع المرفقات BackGroundImg.gif

معليش الصورة تخبيص بس حبيت انو اوضح فيها النقاط المطلوبة.. يا ترى ممكن نعمل هالصورة بدون فوتوشوب؟

ممكن واحد يسألني قبل ما أكمل و يقلي طيب شو الفايدة ؟ بنروح عالفوتوشوب و بنريح راسنا ..

كلامك صح لكن لنفرض ان شركة مستحضرات التجميل طلبت ان المنتجين اللي بالصورة قابلين للتغيير و النص كمان قابل للتغير

حسب بيانات معينة موجودة داخل قاعدة البيانات .. مممممم وقتها بيلزمنا تطبيق برمجي .. و لنفرض ان المستخدمين او الموظفين

موجودين بأكتر من مكان وقتها ممكن يطلبوا ان التطبيق يكون ASP.NET

أنا رح أرفق الصور اللازمة بس في نقاط لازم ننتبه الها ..

الشفافية ... يعني شعار الشركة مثلا رح يكون Transparent Image و كذلك المنتجين يعني لما نضيف الصور

لازم نراعي ان الصور تكون شفافة يعني بيظهر اللي تحتها و تكون حواف الصورة Smooth و بالتالي لما نعمل الصور اللي بدنا

نضيفها ما ننسى نخليها من نوع PNG-24 اوكي؟

ايضا الاشكال البيضاوية بعضها شفاف و متداخلة لازم ما ننسى هالشي..

نرجع للسؤال السابق وهو كيف نعرف ان الاداة اشتغلت؟

بسيطة .. بنروح عال VS.NET و بنعمل مشروع جديد خلونا نسميه IG

بعدين بنعمل مجلد باسم Classes .. طبعا اللي بيستخدم ال VS.NET2005 ينتبه انه لازم يضيف من خلال ال Solution Explorer

مجلد App_Code و بداخله بيعمل مجلد Classes و ثم ننشيء كلاس جديد بإسم ImageGlue.cs

نذهب مرة أخرى لل Solution Explorer و نقوم بإضافة Reference من نوع DLL خاص بال ImageGlue.NET كالتالي:

أولا كما في الصورة:

راجع المرفقات addRef.gif

ثانيا : نختار ال ImageGlue و نضغط موافق

راجع المرفقات AddDll.gif

الان نفتح الملف ImageGlue.cs سنجد بعد ال Namespaces التقليدية و يمكننا بعدها إضافة اثنين لل ImageGlue

كما هو موضح بالصورة و أيضا قد نحتاج بعض كلاسات ال GDI+

راجع المرفقات classes.gif

إلى هنا نقف ..... دعونا نرى ماذا يحصل معك و بيهمني إن الكل يمشي صح من البداية ..

أي تعليق؟ اي مشاكل؟ عادي اسألوا

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

post-2041-1176554817_thumb.gif

post-2041-1176554830_thumb.png

post-2041-1176554841_thumb.png

post-2041-1176554853_thumb.png

post-2041-1176554862_thumb.png

post-2041-1176554874_thumb.gif

post-2041-1176554881_thumb.gif

post-2041-1176554888_thumb.gif

post-2041-1176554894_thumb.gif

You can fly while you can touch the sky

#9

أرفقت الصور مرة اخرى في ملف مضغوط لاني اكتشفت وجود صور ناقصة خاصة الخلفية قبل اضافة الشعار و المنتجات والكتابة

ImageGlueImgs.rar

You can fly while you can touch the sky

#10

انا فكرتها مزحة ههههههههههههه

راح اشوف الأداة شو تأثيرها وارد عليكم

نموت وتحيا ...................فلسطين .

#11

مممم وين راحوا المشاركين؟ من اولها خفنا؟ الموضوع بسيط بالعكس نحنا خلصنا اصعب جزء

You can fly while you can touch the sky

#12

انا معك للنهاية <<<< نهاية الكود :) حسب ما فهمت من الموقع انه بإمكانك تعدل على الصورة من نفس الويب سايت ؟ بس عن جد عندهم ادوات ما بتخطر على بال حدا .

#13

يمكنك إضافة العديد من الاشكال كما يمكنك تنقيح الصورة و من الميزات الغير موجودة في ال GDI+ مثلا تصدير الصورة على هيئة PDF File والكثير

يمكنك أيضا تحويل الالوان من صيغة RGB إلى CMYK و غيرها و العكس صحيح ....... كما يمكنك عمل rotation و cropping للصورة و أيضا العديد موجود داخل ال GDI+ و لكن مع هذه الاداء سنجد اننا وفرنا العديد من الجهد و الوقت و الأكواد

مرحبا بك أخي ice4ever وبكل من يود المتابعة .. سانتظر قليلا حتى أرى تفاعل المزيد

You can fly while you can touch the sky

#14

الأخ محمد خليلي أتمنى الاستمرار من زمان عن هالأبداع وبالذات لقسم الـ asp.net بعد حالة السبات اللي اصابته

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#15

سلام ..

:blink:

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

يبدو أن الموضوع يتعلق بالـ Graphic ،،، و كالعادة مستوى الخبرة: 0 ..

اقتباس
جوليا انا اعتقدت انك مبرمجة في شركة

<_< من أوحى لك بهذه الفكرة !

حتى الآن أصنف كهاوية فقط .

----

حسنا ، رائع جدا ، حتى الآن قد حصلت على فرصة للإجابة على سؤالي الأول ...

و أقدر المجهود الذي تبذله ، ..

و الأكثر روعة من ذلك ، أننا نقوم بتطبيق عملي لهذه الأداة عوضا عن تحميلها و تخزينها بلا فائدة ..

و النقطة الأهم هنا ، إن العمل الذي نرتكز عليه يقوم على أساس العمل الجماعي .. و هو أساس الابداع و الابتكار ..

لكني لاحظت أن الأداة طبعا غير مجانية ، تدوم تقريبا لـ 30 يوميا ..

، لذا أرجوا أن نستغل الوقت قبل أن يفوت الآوان لذلك ...

فقد لا يحظى البعض منا الفرصة لشراء هذه الأداة ..

نحن نتابع !

، تحياتي.

#16

السلام عليكم

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

بعدين مزبوط استاذ صلاح انت بتاخر الموضوع لتخلص النسخة التجريبية من شان نشتري النسخة الكاملة ولا شو ؟؟ راح ادور على [حل] مناسب وإن شاء الله اجده

تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 17 أبريل 2007 في 08:49 — السبب: ممنوع إستخدام الكراك

#17

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

بس اشتغلوا .. مش لإلي .. إشتغلوا لأنفسكم رح تستفيدوا ..

بعدين لنفرض في شخص كسل .. "متلي لما بطفش من البرمجة و المبرمجين" و راحت عليه .. ما يخاف هو بالاخير رح يقدر يحصل عالكلاس

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

جوليا: بسبب نوعية مشاركاتك ظننت أنها أفكار لمشاريع شركات و ليست كمجهود شخصي.

ice4ever : سامحني على التعديل لكن في شروط بالمنتدى .. طبعا ممكن تساعد في تغير الستايل للاعضاء بس عملية غير مجدية من هذه الناحية لانه يفضل اللجوء

لل Themes و ال Styles

دعونا نتفق على ال Web Site Structure مع أنها ليست واضحة تماما معي ولكن اعتقد يلزمنا التالي:

صفحة Default.aspx

تحتوي على Form به عدة خيارات مثل:

- إسم الإعلان

-شعار الشركة

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

-عدد المنتجات التي سيتم إضافتها .. هل منتج أو اثنين .. وطبعا لو اخترنا واحد ستظهر قائشمة منسدلة واحدة و لو اخترنا 2 ستظهر قائمتين منسدلتين

- مربع للنص من أجل ادخال معلومات عن الحملة الترويجية مثلا

انا الان بالعمل لا أملك الفرصة للبحث عن مكونات الاعلان لكن الصور عندكم انظروا ماذا نحتاج أيضا.

نحتاج ايضا صفحة يتم إرسال البيانات لها من النموذج السابق و تقوم بعمل الإعلان .. لنتفق على إسمها:

GenerateAds.aspx

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

و ليكن إسمها Archive.aspx

هل من ملاحظات او إقتراحات؟

أنا بالويكند رح اشتغل كتير على هاد المشروع معكم أكتر من الايام الحالية بسبب ضغط العمل :)

موفقين

تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 17 أبريل 2007 في 09:01

You can fly while you can touch the sky

#18

نشكرك أستاذنا على هذة المواضيع المتميزة إن شاء الله سوف أتابع معكم ‘ بالنسبة للأداة RadControls

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

:)

سبحان الله وبحمده سبحان الله العظيم

#19

إن شاء الله ,., انا مش ناسيها و كنت حابب ندمجها مع هاد المشروع حتى نشوف إمكانيات و خفايا رائعة ..مثلا لما تعرض المنتجات في

DropDownList يمكنك عرضها على شكل صور ..... الكثير ولن أكشف عنها حالا ..

شكرا على مشاركتك معنا انت و الجميع بلا استثناء

You can fly while you can touch the sky

#20

بداية موفقه

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

وشاكر لك مرة أخرى

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#21

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

أستاذ محمد أنا فعلا قمت بإنشاء البروجكت و إنزال الـ dll و الحمد لله لم أجد أي مشاكل

الان حاولت أخذ الكلام الذي قلتة و البدء في تطبيقة و لكن بصراحة الفكرة لم تتوضح

في ذهني بالضبط ولدي استفسارات عن االكلام الذي قلته:

1-

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

نريدة و قت التنفيذ (يعني كما في المثال العملي الذي نزل مع الأداة)

2-

اقتباس
عدد المنتجات التي سيتم إضافتها .. هل منتج أو اثنين .. وطبعا لو اخترنا واحد ستظهر قائشمة منسدلة واحدة و لو اخترنا 2 ستظهر قائمتين منسدلتين

لم أفهمها

3-

هل سوف نطبق المثال مع قاعدة بيانات أم ماذا

و شكرا مقدما .

سبحان الله وبحمده سبحان الله العظيم

#22

عدد الأشكال البيضاوية ثابت

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

بس اللون تبع الاشكال البيضاوية بيختلف حسب اللون البارز في شعار الموزع

او الوكيل

ثاني سؤال رح اعطيك الاجابة .. ربما الوكيل حابب يعرض بس منتج واحد في الاعلان و ربما اثنين .. اذا اختار في الفورم بس اضافة منتج واحد

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

الاجابة على سؤالك الثالث هي: اكيد في قاعدة بيانات وانا رح اصممها وارفق السكريبت في الويكند ان شاء الله .....

انا كنت حابب الكل يكون متلك حاول يفكر و يجرب هالايام لحتى يجي الويكند و تكون الامور واضحة لان الشغل رح يكون سريع بعدين ..

موعد النوم .. تصبحوا على خير

You can fly while you can touch the sky

#23

شكرا لك أستاذ محمد و إن شاء الله بإنتظار المزيد .

سبحان الله وبحمده سبحان الله العظيم

#24

مرحبا من جديد .. سأتحدث الان عن نقاط أساسية كالتالي:

- قاعدة البيانات

- الكلاسات الأساسية

قاعدة البيانات:

سأرفق السكريبت .. طبعا هناك 3 جداول كالتالي:

- جدول للموزعين Dealers

- جدول للمنتجاتProducts

- جدول للإعلانات Ads

السكريبت :

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_tbl_Ads_tbl_Dealers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[tbl_Ads] DROP CONSTRAINT FK_tbl_Ads_tbl_Dealers
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbl_Ads]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tbl_Ads]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbl_Dealers]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tbl_Dealers]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbl_Products]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tbl_Products]
GO

CREATE TABLE [dbo].[tbl_Ads] (
	[id] [int] IDENTITY (1, 1) NOT NULL ,
	[AdName] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
	[CreationDate] [datetime] NULL ,
	[Width] [float] NULL ,
	[Height] [float] NULL ,
	[DealerId] [int] NULL ,
	[AdFileName] [varchar] (50) COLLATE Arabic_CI_AS NULL ,
	[AdPdfName] [varchar] (50) COLLATE Arabic_CI_AS NULL ,
	[AdBodyText] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
	[ProductsId] [char] (10) COLLATE Arabic_CI_AS NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[tbl_Dealers] (
	[id] [int] IDENTITY (1, 1) NOT NULL ,
	[DealerName] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
	[Email] [varchar] (50) COLLATE Arabic_CI_AS NULL ,
	[Logo] [varchar] (50) COLLATE Arabic_CI_AS NULL ,
	[Color] [varchar] (50) COLLATE Arabic_CI_AS NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[tbl_Products] (
	[id] [int] IDENTITY (1, 1) NOT NULL ,
	[ProductName] [nvarchar] (50) COLLATE Arabic_CI_AS NULL ,
	[ProductImg] [varchar] (50) COLLATE Arabic_CI_AS NULL 
) ON [PRIMARY]
GO

أما ال Diagram فهو موضح بالصورة الموجودة في المرفقات

طبعا قد يسألني البعض .. لماذا لا توجد علاقة بين جدول المنتجات و جدول الإعلانات؟

ممممممم المفروض في لكن مش بالطريقة اللي حابب أطرحها كفكرة برمجية .. هناك تكنيك جميل

سوف نتعرض له من خلال الإجرائيات المخزنة قد يكون جديدا على الكثير منا ...

إلى هنا يكفي بخصوص قاعدة البيانات ....

ساعود قريبا بعد بريك الغداء للعودة للكلاسات ...

سوف نقوم بإنشاء الكلاس ImageGlue.cs

post-2041-1177153885_thumb.gif

تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 21 أبريل 2007 في 14:11

You can fly while you can touch the sky

#25

أولا يلزمنا كلاسين أساسيين هما:

Database.Cs و هو خاص بقواعد البيانات .. به أغلب العمليات التي نحتاجها خلال تعاملنا مع قواعد البيانات و أنا حبيت أعطيكم إياه و أكشف سري حتى نستفيد منه جميعا و يمكنك إستخدامه في كل مشاريعنا

سيكون في المرفقات.

أيضا نحتاج لكلاس أخر بسيط نسميه

ًWeb.Cs

به وظائف أساسية مثل إعادة قيم من ملف Web.Config و إعادة عنوان الموقع URL و إسم التطبيق .. و قد نضيف إليه أيضا ما يلزمنا ك Methods أساسية قد نحتاجها ..

بداية الموجود به هو التالي :

using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Collections;
using System.Data;
using System.Web.UI;
using System.IO;

	public class Web
	{
		public static string GetSiteUrl()
		{
			System.Collections.Specialized.NameValueCollection nvc = HttpContext.Current.Request.ServerVariables;
			string s = nvc["server_protocol"].ToLower();
			string sProtocol = s.Substring(0, s.IndexOf('/'));
			string sName = nvc["server_name"];
			string sPort = nvc["server_port"];
			if(sPort == "80")
				sPort = "";
			else
				sPort = ":" + sPort;

			return sProtocol + "://" + sName + sPort + "/";
		}


		public static string GetApplicationPath()
		{
			HttpContext hc = HttpContext.Current;
			string url = hc.Request.ServerVariables["url"];
			url = url.Substring(0, hc.Request.ApplicationPath.Length + 0);

			return url;
		}

		public static string GetWebConfigValue(string key)
		{
			return System.Configuration.ConfigurationSettings.AppSettings[key];
		}

		public static void RedirectToCurrentPage()
		{
			string[] keys = HttpContext.Current.Request.QueryString.AllKeys;
			string newQueryString = "?";
			for (int i = 0; i < keys.Length; i++)
			{
				newQueryString += keys + "=" + HttpContext.Current.Request.QueryString + "&";

			}
			newQueryString = newQueryString.Substring(0, newQueryString.Length - 1);
			HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Path + newQueryString);
		}

	}

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

ثم يليه اسم الطريقة كالتالي

Web.AnyStaticMethodHere

سوف أعود لكلاس الرسم لنتابعه سويا...

IG.rar

You can fly while you can touch the sky

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

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