منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : هل انتم مهتمون ببرنامج يكتب عنكم الكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
السلام عليكم و رحمة الله و بركاته
اخي الكريم ,
الموضوع ليس بتلك البساطة لعدة اسباب ...؟
السبب الاول و الاهم لي هو عدم توفر الوقت الكافي للدخول بهكذا موضوع.
السبب الثاني من جهة المستوى الموجود لدى بعض الاخوة (مستوى التعمق البرمجي).
اذ ان الموضوع يرتبط بمفاهيم كبيرة بالاسم و المعنى (ليس المقصود صعوبتها) .
انت اشرت سابقاً الى ان جل مشاكل الاعضاء تتعلق بامور بسيطة (جمل استعلام عادية و نسيان نقطة او فاصلة ...الخ)
فكيف لك او لي ان ادخل بموضوع يتعلق بالبرمجة الكائنية و الوراثة و التغليف ... الخ هذه الامور , اذا لم التمس لدى عدد مقبول امكانية فهم هذه الامور و المناقشة بها .
الكثير من الاعضاء لديه معلومات عن المصطلحات السابقة و قرأ عنها او فهمها من شرح ما او دورة ما (اذ انها من الاساسيات)
لكن الجانب العملي لديه صفر (لم يقم بعمل اي برنامج او مكتبة يعتمد فيها على هذه التقنيات)

و على الجانب الاخر يوجد عدد جيد من الخبراء في المنتدى , ممن هم على مستوى عالي في هذه التقنيات و قاموا بتوظيفها في مشاريعم و اعمالهم .
هذه الفئة اغلبها هاجرت من المنتدى , لعدة اسباب (طبعاً بعيداً عن مشاغلهم و ارزاقهم) , مستوى الاسئلة و النقاشات تجدها دون المستوى المطلوب و مكررة و مجاب عنها في عشرات المواضيع.
و ربما يمر شهر او سنه لتجد موضوع او نقاش يستحق المتابعة و التعلم منه و الابحار فيه.
اذ ان مستوى الطلبات و المواضيع يجبرك اما على التنازل و التواضع لتقنيات بائدة , او الى الارتقاء و التطوير و بالتالي اكتساب خبرة كبيرة, بمعنى من يكن بين الخراف فمصيره الذبح و من يكن بين السباع سينتصر.
لم ارد ان اتحدث عن هذا الجانب تحديداً , لانه يبعث على اليأس لكنه واقع تمثل امامنا في هجرة الكثير من المنتدى.
و على الجميع ممن يريد الارتقاء ان يحاول تطوير اسلوبه وفق التقنيات الكبيرة السابق ذكرها , فلا معنى من اعادة كتابة كود استخدمه في كل مرة بنفس الطريقة.
------------------------------------------------
بالنسبة لي حاولت فتح الموضوع في اكثر من مشاركة و لكن بشكل تعليمي مبسط مرتبط بحاجة ما , و ليس الغاية منه الدخول في شرح هذا المنطق , اذ انه موجود في كثير من الكتب و الشروحات سواء كان كتاب او دورات مرئية.
مثال تعليمي فيه بعض النقاط السابقة   مثال للتعامل مع الجداول المرتبطة - عن طريق الكلاسات
صمم الكلاس الخاص بك
-----------------------------------
حتى المنطق السابق في بعض التقنيات مثل تقنية التغليف (Encapsulation) و خصوصاً فيما يتعلق بتقنية Ado.Net
ترى العديد من الخبراء يتحدثون عن وضع متصل و وضع منفصل و لن تجد منهم من يكشف لك الفرق و ما هو سر التسمية , و هل فعلاً نحن اما تقنيات موصولة او مقطوعة ؟؟؟
خلال تعمقي في دراسة هذه التقنية منذ انطلاقها و الدخول في تشعباتها (فالكلام غير مقنع بعض الشيئ)
تلاحظ انك عندما تستخدم كائن مثل DataAdapter يقوم هذا الكائن بتغليف كائنات بداخله تتكفل هذه الكائنات بعملية فتح واغلاق الاتصال و تنفيذ الاكواد دون ان تكون بحاجة لكتابة الكود يدوياً , و على هذا الاساس فلا فرق ان كتبتها انت او قام الكائن بتنفيذها 
تم تسميته بكائن منفصل لانه يقوم بهذه العمليات بعيدأ عنك .
بينما لو انا استخدمت كائنات Command و قمت بالعمل يدوي و فتحت الاتصال و اغلقته , سموها متصل.
ليس هذا و حسب يوجد الكثير من الكلام في ما يخص هذه الامور و شبيهاتها ...؟
----------------------------
بالعودة الى منطق التصميم الجيد بالاعتماد على التقنيات الكبيرة اثناء انشاء فئاتك .
كان لي تجربة جداً ناجحة في توظيف التقنيات التالية (Inhertance,Encapsulation,Generic,Reflection) في قواعد البيانات
تم اختصار الكثير الكثير من الوقت و الجهد لاحقاً في عمليات التعديل و حتى في اختصار عدد الكلاسات المسؤولة عن كل فئة , تحديداً مع تقنيتي Generic,Reflection  , اذ اصبح مفهوم الفئات المشتركة مطبق بقوة , و اصبح مفهوم (سميته التعاضد) موجود بين كل الفئات لتحقيق هدف مشترك.

---------------------------------------------------------
بالنسبة لطرح الموضوع في هذا الوقت , ليس لدي مانع اذا توفر الوقت (لدي اعمال اكون بها مسافر, و قد يطول السفر)
لا تحرم احد من الفائدة اذا توفر لديك الوقت و الهمة , و ستجد الكثر من الاخوة سيشارك بهذا الموضوع , خصوصاً انه موضوع في العمق و يهم الكثيرين (تشارك الخبرات يفضي في النهاية الى فائدة للجميع).
-------------------------------------------------------------
انشاء الفئات يكون على منصة اللغة و ليس في برامج تقوم بهذا العمل , لان طبيعة تخريج الملفات (الملفات الناتجة) ستكون ملفات ربط (ملفات Dll) يمكن لاي عضو ادراجها و الاستفادة منها , او حتى يكون المشروع متاح للجميع للتعديل عليه.
------------------------------------------------------------
بالنسبة للغة يفضل ان تكون Vb.Net  أو  #C  كونها تتوفر لدى الغالبية العظمى.
------------------------------------------------------------
بالتوفيق للجميع
وعليكم السلام  و رحمة الله و بركاته

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


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

طبعا كان في بدايات فيجوال 2005 .
ومن وقتها تركت الدوت نت ، وما يعيبه انه لا يعطي برمجة في شكل فئات
على العموم اردت فقط فكرة البرمجة بشكل فئات ، نثل الدرس السابق لانتج برنامج يقدم كلاسات للبرمجة وليس كود فقط
(09-05-18, 04:42 PM)viv كتب : [ -> ]وعليكم السلام  و رحمة الله و بركاته

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


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

طبعا كان في بدايات فيجوال 2005 .
ومن وقتها تركت الدوت نت ، وما يعيبه انه لا يعطي برمجة في شكل فئات
على العموم اردت فقط فكرة البرمجة بشكل فئات ، نثل الدرس السابق لانتج برنامج يقدم كلاسات للبرمجة وليس كود فقط
الله يبارك اخي ارجو ان لا تتردد في اكماله   وشكرا
إقتباس :او من الممكن ان يكون الغرض منه تعليمي فقط وليس للاتكال علبه لصنع برامج ومنظومات حقيقية

يعني المبتدئين في التعلم يلجئون له لتوليد الكود واستخدامه ودراسته



فعلا والله كلامك مظبوط جدا  
جزاك الله خيرا وبارك فيك 
(09-05-18, 01:51 PM)ابو ليلى كتب : [ -> ]السلام عليكم و رحمة الله و بركاته.

صراحة انا لا احب هذا النوع من البرامج , لانه يخلق مبرمج اتكالي و كسول , الا في بعض النقاط (مثل توليد اكود استعلام معتادة) , سبب الرفض مرده ان البرنامج سيستخدم من مبرمجين لم يقوموا بتصميم البرنامج او المشاركة فيه , و بالتالي لا يحتاج الشخص الا الى ضغط زر لتوليد الكود و نسخه الى المكان المطلوب ليؤدي عمله , و عندما يحتاج لكود لا يستطبع البرنامج توليده ستجده حائراً و لا يعرف كيف سيكتبه لانه تعود على اخذ كود جاهز .
الافضل من وجهة نظري ان يتم مناقشة الفكرة و شرحها و البدء بعملها في موضوع مستقل و شرح كل نقطة بالتفصيل للوصول الى البرنامج , كل عضو سيشارك بما لديه و يتعلم مما لدى الاخرين و يقوم بتصميم برنامجه بنفسه , و بالتالي اذا اراد ان يطور مستقبلاً على البرنامج سيطور بنفسه و تتوسع مداركه في هذا المجال (تماماً مثل فكرة فريق العمل) , عندها سنجد اكثر من نسخة للبرنامج و كل نسخة ستجد فيها ميزات و تطويرات جديدة ....الخ

في نفس السياق انا افضل فكرة تطوير الفئات فهي اقوى و اعمق و تستمر معك و تجعلك دائماً تحاول التحسين فيها و التوسع في اكثر من اتجاه , و بالتالي مع زيادة الخبرة ستكون قادراً على انشاء اطار عمل يلبي كافة احتياجاتك (يكفي ان اللغة تعتمد في جلها على اطار العمل و الفئات التي بداخله).
------------------------------------------------
في قواعد البيانات انا احبذ حكمة (ما لله لله و ما لقيصر لقيصر).
بمعنى امور التعامل مع القاعدة تترك للسيرفر , و امور التعامل مع الواجهات تترك للبرنامج.


بالتوفيق.


بارك الله فيك ولك أخي أبو ليلى

أتفق معك 100% ( يخلق مبرمج اتكالي و كسول )
خطوه موفقة جداً

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

ابدأ العمل و لك منا الدعاء بالتوفيق والسداد و اسأل الله أن لا يحرمك الأجر
المشكلة ان الخبراء يرون ان هذا ليس في صالحكم
(09-05-18, 02:11 PM)viv كتب : [ -> ]من ناحية انه يختصر الوقت أجل هو يختصر الوقت .

تصور هذا الكود انا مثلا عندي منظومة فيها 63 حقل لو اردت فقط في الاضافة سوف اكتب شيئا مثلا

PHP كود :
Try
With    QryEmplye Do
begin
  
.Close;
 
 .SQL.Clear;
 
 .SQL.Add('Insert Into Emplye(ID,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address) Values (:ID,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address,:FirstNmame,:LastName,:Age,:City,:Phone,:Address)');
// Add Parameters to Query Control
 
 .ParamByName('ID').Value:= Int;
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text);
 
 .ParamByName('LastName').Value:= Trim(TxtLastName.Text);
 
 .ParamByName('Age').Value:= Trim(TxtAge.Text);
 
 .ParamByName('City').Value:= Trim(TxtCity.Text);
 
 .ParamByName('Phone').Value:= Trim(TxtPhone.Text);
 
 .ParamByName('Address').Value:= Trim(TxtAddress.Text);
 
 .ExecSQL;
 
 ShowMessage('Ok File is Added');
except on EException do
 
 ShowMessage('Error');
end;
end

طبعا كتابة هذا الكود يدويا مرهقة ، ومكررة فقط .

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

او من الممكن ان يكون الغرض منه تعليمي فقط وليس للاتكال علبه لصنع برامج ومنظومات حقيقية
يعني المبتدئين في التعلم يلجئون له لتوليد الكود واستخدامه ودراسته

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

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















أولاً شكراً أخي viv على هذة المبادرة الجميلة


لدي مداخلة وهي بخصوص الـ DataSet



كل الأمور التي تحدثتوا عنها موجودة أصلاً في  الـ DataSet ( كلها تعتمد على الكائنات والفئات وهي عبارة عن فئات متوارثة في الـ NET.)

لا تحتاج إلى كتابة كل هذا الكود في حال إستخدمة  الـ DataSet عن طريق الـ Wizard

حتى عملية الـ Add Parameters للـ 63 حقل ليس أنت من تقوم بها

أنت لا تقوم بكتابة شيء أصلاً 

كل ما عليك هو تصميم الإستعلام من خلال نافذة تبني لك جملة الإستعلام

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



لماذا لا يتحول الدرس إلى الـ DataSet وكيفية إنشائها والتعامل معها



السؤال هنا لماذا لا نستخدم التقنيات الموجودة أصلاً 



أغلب الأعضاء في المنتدى يكتبون الأكواد بأنفسهم بنفس هذة الطريقة

كود :
Insert Into Emplye(ID,FirstNmame,LastName,Age,City,Phone,Address,FirstNmame,LastName,Age,City,Phone,Address
.ParamByName('LastName').Value:= Trim(TxtLastName.Text)
.ParamByName('Age').Value:= Trim(TxtAge.Text)
.ParamByName('City').Value:= Trim(TxtCity.Text)
.ParamByName('Phone').Value:= Trim(TxtPhone.Text)
.ParamByName('Address').Value:= Trim(TxtAddress.Text)
.ParamByName('FirstNmame').Value:= Trim(TxtFirstNmame.Text)
.ParamByName('LastName').Value:= Trim(TxtLastName.Text)
.ParamByName('Age').Value:= Trim(TxtAge.Text)
.ParamByName('City').Value:= Trim(TxtCity.Text)
.ParamByName('Phone').Value:= Trim(TxtPhone.Text)






لماذا كل هذا بينما أنت لا تحتاج إلى التعامل معها أصلاً 



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

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





ثلاث عناصر أنا حزين عليهم وبشدة : وبالأخص ( الـ DataSet )  من 13 سنة تقريباً وهذة العناصر موجودة ( منذ إصدارة 2005 ) 

الـ DataSet

الـ BindingSource

الـ TableAdapter





المسألة ليسة في قلت الشروحات أو المواضيع التي تتحدث عن هذة العناصر 

المشكلة في أغلب المبرمجين المبتدئين : لا يريد أصلاً هذة الطريقة ، مرفوضة بالنسة له ـ والسبب أنه لا يستطيع أن يفهمها وربما لا يريد أصلاً أن يفهمها 
[b]والبعض يقول أكرهها من كل قلبي[/b]




بارك الله فيك أخي viv على طرح هذا الموضوع 
السلام عليكم و رحمة الله و بركاته
من البداية و الى النهاية الاخ Viv ابدأ و الكل معك , المهم في الموضوع هو فائدة الاخوة الاعضاء .
يعلم الله لكم احب ان ارى هذا المنتدى يعود للحياة مرة اخرى و بقوة و من افضل ابوابه .
لكي لا يفهمنى احد فهماً خاطئاً ان لا اريد تحبيط العزائم , كل ما طلبته و اشرت اليه هو ما لمسته من واقع الطلبات و المناقشات في المنتدى و على مدى اعوام , دائماً يكون هناك جواب لكل سؤال و تم اعادة الاجابة على معظم الاسئلة .
و لو تكلف السائل بالبحث قليلاً لوجد بدل الجواب الف جواب و بطرق مختلفة .
الشيئ الثاني الذي يجعلك تضرب اخماس باسداس عندما تجد احد الاخوة يريد منك ان تعدل له في مشروع هو قام بتصميمه .
عندها ستجد نفسك ضائع بين اكواده و تجبر على قراءة كامل الكود لتصل الى جزئية محددة هي سبب المشكلة لديه , كان المطلوب ان تدخل في رأسه و تعمل بدل من دماغه. الكثير و الكثير من الامور .... ليس الوقت لذكرها.
لو انهم راجعو امثلة او اجوبة عضو واحد فقط لوجدوا الاجابة عن كل اسئلتهم اقصد هنا (الاخ سعود)
يبدو انني شذيت عن الموضوع  Big Grin
بالعودة للموضوع اخي الكريم , لاحظ عندما بدأت المناقشة تشتد اصبحت ترى بعض الاخوة يطلب ذلك و انا معهم و اولهم.
لان الارتقاء بالاسلوب هو مطلب الجميع و الشغل النظيف يرضي الجميع.
اذا كنت ستفتح الموضوع فاقترح عليك ان تاخذ تطبيق للشرح من الاخوة المشاركين بهذا تكون حققت هدفاً و الا ما الفائدة من الشرح (اذا كان لمجرد القراءة , فهناك مئات الكتب و الدورات تملئ الشبكة)

و نصيحة اذا كان لديك شيئ تستطيع تقديمه , فقدمه ولا تنتظر الاجر من احد فاجرك على الله و هو صدقة لك و لعلمك.

و انا بدوري ساكون موجودأ ان شاء الله و غيري من الاخوة باذن الله سيشاركون .
----------------------------------
و في هذا الباب انا افتقد فعلياً  الاخ ابو جاسم (الشاكي لله) , و كذلك الاخ ابو عمر  و الاخ ابو ايهاب, و الاخ الكاتب , لقد طال غيابهم عن المنتدى .
تحياتي لجميع الاخوة الاعضاء .
والله نحن او انا وعن نفسي ما اعمله انكم اكثر خبرة منا جميعا ، وانت اعلم بما يفيدنا وما يفيذ الاعضاء .
يبدوا ان الاتكال هو ميزة في مجتمعنا فمنذ سنة 2004 تقريبا برمجت مكتبة لا تكتب فيها سطر برمجي واحد .
تعرض البيانات في الادوات والصور في Pictue وتربط الجداول ببعضها وكله من نافذة الخصائص .
كنت وقتها انتقلت من vb6 ولم يقتنع اخي بالانتقال وقال ان الدوت نت معقدة .
فجلست لاسبوع وخرجت بمكتبة اسميتها FreeEasy .
تصور اضافة وتعديل وحفظ وعرض صورة الموظف او الطالب وحتى الازار يتم عمل Enable لها او Disable اتوماتيكا من الاجراءات .
اذكر ان الصورة وعند جلبها كانت تحتاج الى سطر برمجي


PHP كود :
Dim open as new Open FileDialoge 
 
وذلك لجلب صورة من الكمبيوتر
يعني الاداة احتاجت سطر برمجي او سطرين بالضبط ، فقمت بوراثة الاداة واضفت لها ما تحتاج ، المهم أخي ان يقتنع ان الامر بغاية السهولة

المهم بالنهاية لازال على vb6  Big Grin

بالنسبة الى الداتاسيت انا الان محتار ، الاخ ابو ليلي يقول اسلوب قديم ، والاخ الدوسري يقول امكانياتها رائعة .
الصفحات : 1 2 3