بتاريخ: 2 فبراير 201412 سنة comment_246123 ابدعت ووفيت وكفيت نتمنى الان اكمال البرنامج بعمل شاشة رئيشة للدخول ..... وشاشة رئيسة للبرنامج .... ويا ريت لو تم تحويل هذه الدروس الى كتيب حتى نستفيد منه ...............شكرا وجزاك الله خيراً ،،،،،،،،،،، تقديم بلاغ
بتاريخ: 2 فبراير 201412 سنة كاتب الموضوع comment_246124 يعطيك العافيه اخوي سؤال عندي اذا كان التاب الاول لادخال بيانات مثل بيانات العميل والتاب الثاني لكتابة العقد وابغى يكون التاب الثاني موجوده فيه جميع بيانات التاب الاول كيف الطريقه بدون الاستعلام الله يعافيك اخي العزيز الموضوع بسيط اخي العزيز سنأخذ على سبيل المثال الاقسام والموظفين سيكون التاب الاول تاب الاقسام والتاب الثاني تاب الموظفين اريد عند تحديد رقم قسم في التاب الاول ان ياتي بالموظفين الموجودين في التاب الثاني اول ننشأ التاب الاول وهو تاب الاقسام ثم نقوم وننشأ التاب الثاني وهو تاب الموظفين يجب تحديد العلاقة بينهم عن طريق رقم القسم كالتالي ثم علينا الذهاب الى فورم ثم ترجير اسمه WHEN-NEW-FORM-INSTANCE وكتابة هذا الكود go_block('dept'); execute_query; وعند تنفيذ البرنامج نحدد رقم قسم على سبيل المثال حددنا رقم 10 كالتالي نذهب الى تاب الموظفين وتكون النتيجة كالتالي سنجرب رقم قسم ثاني على سبيل المثال كالتالي نذهب الى تاب الموظفين وتكون النتيجة كالتالي أتمنى ان اكون اوصلت الفكرة اخي العزيز تقديم بلاغ
بتاريخ: 2 فبراير 201412 سنة كاتب الموضوع comment_246125 ابدعت ووفيت وكفيت نتمنى الان اكمال البرنامج بعمل شاشة رئيشة للدخول ..... وشاشة رئيسة للبرنامج .... ويا ريت لو تم تحويل هذه الدروس الى كتيب حتى نستفيد منه ...............شكرا وجزاك الله خيراً ،،،،،،،،،،، اهلا باخي العزيز ان شاء الله الدرس بعد القادم ساقوم بعمل شاشة دخول عن طريق اسم المستخدم ورقم سري وفي نهاية الدروس ان شاء الله ساقوم بتجيعها في ملف PDF تقديم بلاغ
بتاريخ: 2 فبراير 201412 سنة comment_246161 يعطيك العافيه اخوي سؤال عندي اذا كان التاب الاول لادخال بيانات مثل بيانات العميل والتاب الثاني لكتابة العقد وابغى يكون التاب الثاني موجوده فيه جميع بيانات التاب الاول كيف الطريقه بدون الاستعلام الله يعافيك اخي العزيز الموضوع بسيط اخي العزيز سنأخذ على سبيل المثال الاقسام والموظفين سيكون التاب الاول تاب الاقسام والتاب الثاني تاب الموظفين اريد عند تحديد رقم قسم في التاب الاول ان ياتي بالموظفين الموجودين في التاب الثاني اول ننشأ التاب الاول وهو تاب الاقسام ثم نقوم وننشأ التاب الثاني وهو تاب الموظفين يجب تحديد العلاقة بينهم عن طريق رقم القسم كالتالي ثم علينا الذهاب الى فورم ثم ترجير اسمه WHEN-NEW-FORM-INSTANCE وكتابة هذا الكود go_block('dept'); execute_query; وعند تنفيذ البرنامج نحدد رقم قسم على سبيل المثال حددنا رقم 10 كالتالي نذهب الى تاب الموظفين وتكون النتيجة كالتالي سنجرب رقم قسم ثاني على سبيل المثال كالتالي نذهب الى تاب الموظفين وتكون النتيجة كالتالي أتمنى ان اكون اوصلت الفكرة اخي العزيز الفكره اللي عندي عندي جدول عملاء وجدول عقود يتم الادخال في جدول العلاء الرقم والاسم وباقي المعلومات جدول العقود رقم العقد ورقم العميل وباقي معلومات العقد اذا انتقلت الى جدول العقود ابي يكون رقم العميل موجود مباشره بدون تدخل من المستخدم حاولت وزبط معاي كل شي الا انه اذا جيت اخرج وانا ماعدلت او ما اضفت اي شي يطلب مني حفظ تقديم بلاغ
بتاريخ: 3 فبراير 201412 سنة كاتب الموضوع comment_246176 اخي العزيز اتبع الخطوات السابقة وان شاء الله تنحل المشكلة واذا لم تنحل المشكلة نريد نسخة من الفورم الموجود فيه المشكلة تقديم بلاغ
بتاريخ: 4 فبراير 201412 سنة comment_246215 اخي العزيز اتبع الخطوات السابقة وان شاء الله تنحل المشكلة واذا لم تنحل المشكلة نريد نسخة من الفورم الموجود فيه المشكلة ان شاء الله في اقرب فرصه بعد ما احاول كم محاوله اذا ماقدرت ارفع لكم الفورم والكود شكرا لك تقديم بلاغ
بتاريخ: 4 فبراير 201412 سنة كاتب الموضوع comment_246221 اخي العزيز اتبع الخطوات السابقة وان شاء الله تنحل المشكلة واذا لم تنحل المشكلة نريد نسخة من الفورم الموجود فيه المشكلة ان شاء الله في اقرب فرصه بعد ما احاول كم محاوله اذا ماقدرت ارفع لكم الفورم والكود شكرا لك بالتوفيق اخي العزيز وان شاء الله في الخدمة دائما تقديم بلاغ
بتاريخ: 4 فبراير 201412 سنة كاتب الموضوع comment_246228 السلام عليكم ورحمة الله وبركاته موضوع اليوم Dynamic List Item على فرض عندي بلوك خاص بالموظفين أذهب الى حقل رقم القسم الى خاصية Item Type ونغيرها الى خاصية List Item ثم نذهب الى خاصية Elements in List ونضع في List Elements صفر وفي List Item Value صفر ثم نذهب الى فورم وننشأ ترجير WHEN-NEW-FORM-INSTANCE ونتكب داخله هذا الكود declare v_id recordgroup; n_id number; begin v_id :=create_group_from_query('q1','select dname,to_char(deptno) from dept'); n_id:=populate_group('q1'); populate_list('emp.deptno','q1'); end; create_group_from_query نكتب داخلها جملة Select التي نريد ان تظهر في القائمة ونحدد اسم الــ Query populate_group تنفيذ جملة الــ Select populate_list وضع البيانات في القائمة طبعا يوجد شروط لكتابة جملة الــ Select 1 ) يجب ان ناتي بحقلين فقط لا اكثر ولا اقل 2 ) يجب ان تكون البيانات من نوع Char واذا لم تكن Char نحولها الى Char عن طريق To_Char 3 ) الترتيب مهم لانه هنالك قيمة تظهر على القائمة وقيمة تخزن في قاعدة البيانات وتكون النتيجة كالتالي تقديم بلاغ
بتاريخ: 4 فبراير 201412 سنة كاتب الموضوع comment_246231 أذا لم تكن هنالك اسئلة سنبدء غدا في موضوع مهم جدا وهو شاشة الدخول Login تقديم بلاغ
بتاريخ: 4 فبراير 201412 سنة comment_246233 الاخ الكريم نفعك الله واياك بالعلم الذى تنشرة واصل ونحن معك وجزاك الله خيرا تم تعديل 4 فبراير 201412 سنة بواسطة mohamed mustafa تقديم بلاغ
بتاريخ: 4 فبراير 201412 سنة كاتب الموضوع comment_246234 الاخ الكريم نفعك الله واياك بالعلم الذى تنشرة واصل ونحن معك وجزاك الله خيرا اهلا بك اخي العزيز وان شاء الله مستمرون تقديم بلاغ
بتاريخ: 5 فبراير 201412 سنة comment_246277 جزاك الله عنا كل خير ورضي الله عن والديك وعن ساير المسلمين تقديم بلاغ
بتاريخ: 6 فبراير 201412 سنة كاتب الموضوع comment_246303 الله يبارك فيك اخي العزيز حسام ولك بالمثل ان شاء الله تقديم بلاغ
بتاريخ: 6 فبراير 201412 سنة كاتب الموضوع comment_246306 السلام عليكم ورحمة الله وبركاته موضوع اليوم موضوع مهم جدا موضوع اليوم هو عن شاشة الدخول Login اول خطوات عمل شاشة الدخول هو عمل جدول خاص بشاشة الدخول وهذا الجدول يحتوي اسم المستخدم مع الرقم السري للهذا المستخدم كالتالي CREATE TABLE LOGIN ( ID NUMBER(5) PRIMARY KEY, USER_NAME VARCHAR2(20), USER_PASSWORD VARCHAR2(20) ); ثم نذهب ونعمل فورم خاص بتعبئة بيانات المستخدم من اسم ورقم سري ونضيف بيانات كالتالي كلام جميل الان نخزن هذه الشاشة ونخرج منها اريد الان ان اعمل شاشة دخول خاصة بفورم الموظفين عند عمل تنفيذ للبرنامج ادخل اسم ورقم السمتخدم اذا كان الاسم والرقم السري صحيحين يدخل على شاشة الموظفين واذا ادخل الاسم او الرقم خطأ نحسب كم مرة أخطأ واذا أخطأ ثلاث مرات يخرج من الشاشة وبعد كل محاولة خاطئة يعمل Clear للأسم والرقم السري ويرجع المؤشر الى حقل اسم المستخدم وأذا كبس على Exit يخرج من الشاشة خطوات العمل ... 1 ) افتح فورم جديد 2 ) أنشاء بلوك جديد خاص بالموظفين فيه 5 سجلات 3 ) اعد تسمية الــ Canvas الخاصة بالموظفين بأسم Emp_Can 4 ) اعد تسمية الــ Window الخاصة بالموظفين بأسم Emp_Win 5 ) قم بأنشاء بلوك جديد Manually خاص بشاشة الدخول طبعا مش تابع للقاعدة البيانات 6 ) قم بأضافة حقلين على شاشة الدخول ونغير فيهم بعض الخصلئص كالتالي 7 ) قم بأضافة كبستين على شاشة الدخول ونغير فيهم بعض الخصلئص كالتالي ويكون الشكل عند عمل تنفيذ للبرنامج كالتالي كلام جميل الان اريد متغير اضع فيه عدد المحاولات الخطا عند الادخال من خلال معرفتنا بالمتغيرات افضل متغير لهذه الحالة هو Global Variable احتاج الى Global Variable لكي اخزن فيه عدد المحاولات الخطأ اول ما يفتح الفورم اعرف متغير يأخذ قيمة صفر كالتالي اذهب الى فورم ثم انشاء ترجير اسمه WHEN-NEW-FORM-INSTANCE واكتب داخله :Global.cnt := 0; ثم اذهب الى كبسة Login وأنشاء ترجير اسمه WHEN-BUTTON-PRESSED اكتب داخله هذا الكود declare cursor c is select * from login where upper(USER_NAME)=upper(:USER) and upper(USER_PASSWORD)=upper(:PWD); v c%rowtype; n number; begin open c; fetch c into v; if c%found then go_block('emp'); execute_query; else n:= :Global.cnt; n:=n+1; :Global.cnt := n; if n >=3 then exit_form; else message('You Failed In Login '||n||' '||'Time'); message(' '); :USER :=null; :PWD :=null; go_item('user'); end if; end if; close c; end; ثم اذهب الى كبسة Exit وأنشاء ترجير اسمه WHEN-BUTTON-PRESSED اكتب داخله هذا الكود exit_form; الان نعمل تنفيذ وتكون النتيجة كالتالي سأقوم بكتابة الاسم صح والرقم السري خطأ وتكون النتيجة كالتالي ساقوم بكتابة الاسم خطأ والرقم السري صح وتكون النتيجة كالتالي سأقوم بكتابة الاسم خطأ والرقم السري خطأ والنتيجة خروجه من الفورم ساقوم بكتابة الاسم والرقم السري صح كالتالي وتكون النتيجة كالتالي تم المطلوب والحمدلله تقديم بلاغ
بتاريخ: 15 فبراير 201412 سنة كاتب الموضوع comment_246724 اعتذر عن التأخر في تكملة باقي الدروس ان شاء الله خلال أيام سأكمل باقي الدروس تقديم بلاغ
بتاريخ: 16 فبراير 201412 سنة comment_246804 لك كل الشكر والنفدير الاخ الكريم وعلى انتظار التكمله وجزاك الله خير تم تعديل 16 فبراير 201412 سنة بواسطة mohamed mustafa تقديم بلاغ
بتاريخ: 22 فبراير 201411 سنة كاتب الموضوع comment_246975 لك كل الشكر والنفدير الاخ الكريم وعلى انتظار التكمله وجزاك الله خير العفو اخي العزيز محمد تقديم بلاغ
بتاريخ: 22 فبراير 201411 سنة كاتب الموضوع comment_246976 مجهود متميز من انسان متميز. جزاك الله كل خير. الله يبارك فيك استاذ احمد تقديم بلاغ
بتاريخ: 22 فبراير 201411 سنة كاتب الموضوع comment_246986 ان شاء الله غدا سنشرح اخر موضوع في الفورم وهو Property Classes تقديم بلاغ
بتاريخ: 23 فبراير 201411 سنة كاتب الموضوع comment_247028 السلام عليكم ورحمة الله وبركاته موضوع اليوم عن Property Classes وهو من المواضيع المهمة في الفورم وكما قلنا سابقا تعريف Property Classes هي عبارة عن مجموعة من الخصائص النظرية وغير النظرية نقوم ببنائها بهدف توريثها لعناصر مختلفة توضيح فكرة Property Classes عند عمل مشروع معين للجهة معينة نأخذ مواصفات الفورم من المستخدم وهذه المواصفات تشمل اي شيئ في الفورم نوع او طول او عرض او لون او صفحة او اطار او مواصفات حقل او مواصفات بلوك او فورم ...الخ أي شي داخل الفورم ولفهم الموضوع سنأخذ مثال على ذلك على فرض طلبت منا شركة ما عمل مشروع خاص بها وكانت المواصفات داخل الفورم كالتالي حقل المفتاح الرئيسي له خلفية رمادية اللون والكتابة بلون ابيض وغير مسموح الكتابة داخله باقي الحقول لها خلفية زرقاء والكتابة بلون اصفر وحجم الخط 12 ونوعه Arial Window بعرض 500 وارتفاع 300 اسمها Major_Wind Canvas بعرض 500 وارتفاع 300 اسمها Major_Can بسم الله نبدء ننشأ فورم جديد ونسميه Main نضع داخله المواصفات السابقة ثم نذهب الى Property Classes ونضعط + والنتيجة كالتالي اول نحدد مواصفات حقل المفتاح الرئيسي نعمل على اعادة تسمية Property Classes ونسميها Item_pk ثم نذهب الى الخصائص عن طريق F4 كالتالي عن طريق + في القائمة نعمل على اضافة خصائص جديدة بهدف توريثها كما قلنا سابقا حقل المفتاح الرئيسي له خلفية رمادية اللون والكتابة بلون ابيض وغير مسموح الكتابة داخله سنحدد اول خاصية وهي خلفية رمادية نعمل اضافة ونبحث عن وتكون النتيجة نحدد اللون الذي نريد وهو الرمادي في مثالنا الان نريد تحديد لون الكتابة وهو اللون الابيض في مثالنا نذهب ونعمل اضافة خاصية جديدة ونبحث عن ونحدد اللون الابيض الان نريد تحديد خاصية عدم الكتابة داخل الحقل نذهب ونعمل اضافة خاصية جديدة ونبحث عن ونضع في هذه الخاصية NO ويكون الشكل النهائي للمواصفات حقل المفتاح الرئيسي كالتالي تقديم بلاغ
بتاريخ: 23 فبراير 201411 سنة كاتب الموضوع comment_247029 الان نعمل خاصية الحقول لها خلفية زرقاء والكتابة بلون اصفر وحجم الخط 12 ونوعه Arial نذهب الى Property Classes ونضعط + والنتيجة كالتالي نعمل على اعادة تسمية Property Classes ونسميها Item_Defulat ثم نذهب الى الخصائص عن طريق F4 عن طريق + في القائمة نعمل على اضافة خصائص جديدة بهدف توريثها كما قلنا سابقا نريد اعطاء الحقل العادي خاصية خلفية زرقاء والكتابة بلون اصفر وحجم الخط 12 ونوعه Arial سنحدد اول خاصية وهي خلفية زرقاء بعدها نحدد لون الكتابة وهو اللون الاصفر في مثالنا بعدها نحدد حجم الخط 12 باضافة خاصية وهي ونحدد حجم الخط 12 ثم نحدد نوع الخط بأختيار نوع الخط باضافة خاصية ونحدد نوع الخط Arial ويكون الشكل النهائي للمواصفات الحقل كالتالي الان نحدد Window عرض 500 وارتفاع 300 اسمها Major_Wind نذهب الى Property Classes ونضعط + والنتيجة كالتالي نعمل على اعادة تسمية Property Classes ونسميها Major_Wind ثم نذهب الى الخصائص عن طريق F4 عن طريق + في القائمة نعمل على اضافة خصائص جديدة بهدف توريثها الان نحدد Window بطول 500 وارتفاع 300 اسمها Major_Wind كما قلنا سابقا نريد اعطاء Window خاصية العرض 500 وارتفاع 300 سنحدد اول خاصية العرض بأضافة خاصية وهي ونحدد الطول 500 ثم نحدد الارتفاع بأضافة خاصية وهي ويكون الشكل النهائي للمواصفات الــ Window كالتالي تقديم بلاغ
بتاريخ: 23 فبراير 201411 سنة كاتب الموضوع comment_247030 الان نحدد Canvas بطول 500 وارتفاع 300 اسمها Major_Can نذهب الى Property Classes ونضعط + والنتيجة كالتالي نعمل على اعادة تسمية Property Classes ونسميها Major_Can ثم نذهب الى الخصائص عن طريق F4 عن طريق + في القائمة نعمل على اضافة خصائص جديدة بهدف توريثها الان نحدد Canvas بعرض 500 وارتفاع 300 اسمها Major_Can كما قلنا سابقا نريد اعطاء Canvas خاصية العرض 500 وارتفاع 300 سنحدد اول خاصية العرض بأضافة خاصية وهي Width ونحدد العرض 500 ثم نحدد الارتفاع بأضافة خاصية وهي Height ونحدد الارتفاع 300 ويكون الشكل النهائي للمواصفات الــ Canvas كالتالي ويكون الشكل النهائي للمواصفات داخل الفورم كالتالي تم اللازم والحمدلله الان سنقوم بتوريث هذه الخصائص نقوم بأنشاء بلوك خاص بالموظفين كالتالي كما نرى لا يوجد اي تغير بالشكل الان سنقوم بالتوريث اول نذهب الى مواصفات حقل رقم الموظف عن طريق F4 ونذهب الى خاصية Subclass Information ونحدد خاصية الرقم الرئيسي عن طريق الضغط على Subclass Information كالتالي ثم نذهب الى باقي الحقول ونغيرمواصفاتها عن طريق F4 ونذهب الى خاصية Subclass Information ونحدد خاصية الحقل عن طريق الضغط على Subclass Information كالتالي ثم نذهب الى مواصفات الــ Window عن طريق F4 ونذهب الى خاصية Subclass Information ونحدد خاصية الــ Window ن طريق الضغط على Subclass Information كالتالي ثم نذهب الى مواصفات الــ Canvas عن طريق F4 ونذهب الى خاصية Subclass Information ونحدد خاصية الــ Canvas ن طريق الضغط على Subclass Information كالتالي نعمل تنفيذ للفورم وتكون النتيجة كالتالي تم اللازم والحمدلله وللفهم الموضوع اكثر يجب تجربة اكثر من خاصية للتوريثها. ان شاء الله اذا لم يكن هنالك اسئلة سأبدء بعمل مشروع صغير في نهاية هذه الدورة وان شاء الله سأضع جميع النقاط المهمة في الفورم في هذا المشروع تقديم بلاغ
بتاريخ: 23 فبراير 201411 سنة comment_247048 يعجز اللسان عن الشكر بارك الله فيك وفى علمك وزادك علما تقديم بلاغ
بتاريخ: 24 فبراير 201411 سنة كاتب الموضوع comment_247055 يعجز اللسان عن الشكر بارك الله فيك وفى علمك وزادك علما الله يبارك فيك اخي العزيز ولك بالمثل ان شاء الله تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.