مشاركة ذات تفاعل كبير mmsalman87 بتاريخ: 31 أغسطس 2011 مشاركة ذات تفاعل كبير تقديم بلاغ مشاركة بتاريخ: 31 أغسطس 2011 اخواني واخواتي الاعضاءتحية طيبة وبعد اقدم لكم اليوم شرح لكيفية عمل نظام متعدد اللغات بمعنى انك تستطيع ان تجعل نظامك يعمل باللغة العربية والانجليزية والفرنسية واي لغة اخرى انت تحبها وذلك بتحويل كل ما هو مكتوب في الشاشة الى اللغة المختارة ، وللامانة العلمية اني انقل لكم هذا الموضوع من احدى المشاركات القديمة جدا في المنتدى والهدف هو ان ابرز الموضوع للاخوة والاخوات كي يكون لهم فيه هذا الموضوع الحل النهائي لمشاكل التحويل بين اللغات ومن اليمين اللى اليسار ... الخ اول خطوة : انشاء الجداول في قاعدة البيانات CREATE TABLE MODULES_FM_MSTR ( FM_FORM VARCHAR2(100 BYTE), FM_DESC_A VARCHAR2(100 BYTE), FM_DESC_E VARCHAR2(100 BYTE), FM_DESC_F VARCHAR2(100 BYTE), FM_ACTIVE NUMBER(1), ENTRY_ID NUMBER, ENTRY_DATE DATE, LAST_UPDATE_ID NUMBER, LAST_UPDATE_DATE DATE ) المحددات على الجدول اضافة حقل اساسي يعني Primary key ALTER TABLE MODULES_FM_MSTR ADD ( CONSTRAINT FM_MSTR_PKPRIMARY KEY(FM_FORM) شرح الجدول FM_FORM هو حقل اسم الفورم مثال / employeesFM_DESC_A اسم الفورم بالعربية مثال / الموظفون FM_DESC_F هذا الاسم بالفرنسية واذا اردت لغات اخرى تضيف حقول اخرى للغات التي تريدهاFM_ACTIVE المقصود بهذا الحقل هو هل الفورم فعال ام غير فعالملاحظة : اذا كان فعال ياخذ القيمة 1 الان ناتي لحقول المراقبة على الجدول ENTRY_ID رقم المستخدم الذي ادخل العمليةENTRY_DATE تاريخ الادخال LAST_UPDATE_ID رقم المستخدم الذي عدل اخر تعديلLAST_UPDATE_DATE تاريخ اخر تعديل اخواني الى هنا اليوم ونكمل في وقت اخر ان شاء الله تعالى 13 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ahmedbb بتاريخ: 31 أغسطس 2011 تقديم بلاغ مشاركة بتاريخ: 31 أغسطس 2011 الاخ الكريمكل عام وانت بخيرالحمد لله ربنا وفقنى فى انشاء نظام بلغات متعددة وبفضل الله وحده ثم بمجهودى الشخصىويمكن تقديم العون لمن اراد ذلكوفى انتظار باقى شرحك للنظام لافادة باقى الزملاءوجزاك الله خيراومعكم ولكم نتواصل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 3 سبتمبر 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 اخي الحبيب اذا كانت عندك طريقة اخرى او افكار اخرى ارجو منك تزويدنا بها وبارك الله فيك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 3 سبتمبر 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 (معدل) نستكمل ما بدأناه من قبل وكنا قد تحدثنا عن انشاء الجدول الماستر ووضحنا كيفية العمل بهالان سنتحدث عن الجدول الثاني الديتيل Detail CREATE TABLE MODULES_FMD_DET ( FMD_FORM VARCHAR2(100 BYTE), FMD_BLOCK VARCHAR2(30 BYTE), FMD_ITEM VARCHAR2(30 BYTE), FMD_ITEM_TYPE VARCHAR2(20 BYTE), FMD_DESC_A VARCHAR2(100 BYTE), FMD_DESC_E VARCHAR2(100 BYTE), FMD_TOOLTIP_A VARCHAR2(100 BYTE), FMD_TOOLTIP_E VARCHAR2(100 BYTE), FMD_HINT_A VARCHAR2(100 BYTE), FMD_HINT_E VARCHAR2(100 BYTE), FMD_GROUP NUMBER(3) DEFAULT 1, FMD_ACTIVE number DEFAULT NULL, ENTRY_ID NUMBER, ENTRY_DATE DATE, LAST_UPDATE_ID NUMBER, LAST_UPDATE_DATE DATE ) المحددات على الجدول اضافة foreign key لتصبح العلاقة بين الجدول الاول والثاني وهي علاقة One to Many ALTER TABLE MODULES_FMD_DET ADD ( CONSTRAINT FMD_DET_R01 FOREIGN KEY (FMD_FORM) REFERENCES MODULES_FM_MSTR (FM_FORM)); شرح الجدول FMD_FORM : اسم الفورم وهو ياخذ من الجدول الاولFMD_BLOCK : اسم البلوك ( القطعة )FMD_ITEM : اسم الحقل في الفورمFMD_ITEM_TYPE : نوع الحقل في الفورم هل هو text or button or list ... etcFMD_DESC_A : الوصف باللغة العربيةFMD_DESC_E : الوصف بالانجليزيةFMD_DESC_F : الوصف بالفرنسيةFMD_TOOLTIP_A : اداة التلميح بالعربيةFMD_TOOLTIP_E : اداة التلميح بالانجليزيةFMD_HINT_A : اداة التلميح بالعربيةFMD_HINT_E : اداة التلميح بالانجليزيةFMD_ACTIVE : هل الحقل فعال وياخذ الرقم 1 اذا كان فعالالان ناتي لحقول المراقبة على الجدول ENTRY_ID : رقم المستخدمENTRY_DATE : تاريخ الادخالLAST_UPDATE_ID : رقم اخر مستخدم قام بالتعديلLAST_UPDATE_DATE : تاريخ اخر تعديلالى هنا ينتهي درسنا اليوم وفي الشرح القادم سنستعرض كيفية تطبيق الفكرة في الفورم ان شالله تعالى تم تعديل 1 مايو 2012 بواسطة Ahmad.Hasan 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ocp_em بتاريخ: 3 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 اخواني واخواتي الاعضاءتحية طيبة وبعد اقدم لكم اليوم شرح لكيفية عمل نظام متعدد اللغات بمعنى انك تستطيع ان تجعل نظامك يعمل باللغة العربية والانجليزية والفرنسية واي لغة اخرى انت تحبها وذلك بتحويل كل ما هو مكتوب في الشاشة الى اللغة المختارة ، وللامانة العلمية اني انقل لكم هذا الموضوع من احدى المشاركات القديمة جدا في المنتدى والهدف هو ان ابرز الموضوع للاخوة والاخوات كي يكون لهم فيه هذا الموضوع الحل النهائي لمشاكل التحويل بين اللغات ومن اليمين اللى اليسار ... الخ اول خطوة : انشاء الجداول في قاعدة البيانات CREATE TABLE MODULES_FM_MSTR( FM_FORM VARCHAR2(100 BYTE), FM_DESC_A VARCHAR2(100 BYTE), FM_DESC_E VARCHAR2(100 BYTE), FM_DESC_F VARCHAR2(100 BYTE), FM_ACTIVE NUMBER(1), ENTRY_ID NUMBER, ENTRY_DATE DATE, LAST_UPDATE_ID NUMBER, LAST_UPDATE_DATE DATE) المحددات على الجدول اضافة حقل اساسي يعني Primary key ALTER TABLE MODULES_FM_MSTR ADD ( CONSTRAINT FM_MSTR_PKPRIMARY KEY(FM_FORM) شرح الجدول FM_FORM هو حقل اسم الفورم مثال / employeesFM_DESC_A اسم الفورم بالعربية مثال / الموظفون FM_DESC_F هذا الاسم بالفرنسية واذا اردت لغات اخرى تضيف حقول اخرى للغات التي تريدهاFM_ACTIVE المقصود بهذا الحقل هو هل الفورم فعال ام غير فعالملاحظة : اذا كان فعال ياخذ القيمة 1 الان ناتي لحقول المراقبة على الجدول ENTRY_ID رقم المستخدم الذي ادخل العمليةENTRY_DATE تاريخ الادخال LAST_UPDATE_ID رقم المستخدم الذي عدل اخر تعديلLAST_UPDATE_DATE تاريخ اخر تعديل اخواني الى هنا اليوم ونكمل في وقت اخر ان شاء الله تعالى الاختلاف في الراي لايفسد للود قضيه هذه الطريقه غير عمليه ابدا هناك طرق اسهل بكثير مع الاحترام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ocp_em بتاريخ: 3 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 السلام وعليكم ورحمة الله وبركاته اخي العزيز من قبل ان تكمل الموضوع هذه الطريقة ليست عمليه لاداعي لحفظ الحقول والعناصر والبلوووك في الجدول انها طريقه غير عمليةمع الاحترام لدي طريقه افضل وهي تم بناءها من قبل مع كل الاحترام وسوف اقوم بشرحها لاحقا بأذن الله تعالى 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المبرمج الصاعد بتاريخ: 3 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 السلام عليكم ورحمة الله وبركاته.. وكل عام وأنتم بخير.. وتقبل الله من الجميع الصيام والقيام وصالح الأعمال.... أكمل يا مهندس ونتظر تكملة الشرح.. موضوع مهم جدا وكنت احتاجة كثير.... موووفق... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عزيز القادري بتاريخ: 3 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 عيد مبارك وكل عام والامه الاسلاميه في عزه وخير وجزاك الله خير على هذا الموضوع ووفقك الله الى كل خير 2 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mostafa_1987 بتاريخ: 3 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 نرجو توضيح الطريقة العملية ونحن في الانتظار وشكرا جزيلا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 3 سبتمبر 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 اخوي ocp_em هل لك ان ترشدنا الى طريقتك العملية ؟ ولن اكمل الشرح وبانتظار شرحك انت وبارك الله فيك 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ocp_em بتاريخ: 3 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 اخوي ocp_em هل لك ان ترشدنا الى طريقتك العملية ؟ ولن اكمل الشرح وبانتظار شرحك انت وبارك الله فيك هههههههههههههه لماذا لم تكمل شرحك زعلت اين الروح المعنوية كلنا نعمل لنرضي وجه الله تعالى لا لان نزعل من مجرد وجهة نظر 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 3 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2011 الأخ / mmsalman87 الفاضل لإن موضوعك رائع جداً وممتاز وكذلك تسلسل الافكار في طريقة الشرح جميلة لانها بسيطة وسهلة يمكن ان توصل الفكرة مباشرة دون تعقيد وانا معجب بتواضعك للعلم الذي استهليت به الموضوع والذي يدل على رفعت خلقك وروعة انسانيتك في نشر العلموارجوا منك رجاء خاص إكمال الموضوع لأخوانك الباقين المنتظرين لانه سيفيدهم واشكرك من قلبي على ايجاد مساحة للوقت لتفيد الاخرين اما بالنسبة للأخ ocp em الذي علق على الموضوع ان طريقة تخزين الحقول والعناصر والبلوك باأنها غير مجديةفي بداية تعليقك ان الخلاف لايوسد للود قضية كنت موفق اما انك تقول ان طريقة تخزين الحقول والعناصر والبلوك باأنها غير مجدية فهنا انت مخطئ جداً لان الاخ لم يكمل فكرة الموضوع كاملة وانت قد حكمت عليها وثانياً ان تقول للاخ بان لا تكمل الموضوع وانت عندك فكرة اخرى أخطئت مرة اخرى بعمق لان قد يكون الاخ صاحب الموضوع عنده افكار برمجية في كود البرمجة يمكن ان يستفد منها الكل بما فيهم انت لأنك كما تعلم كل المبرمجين يمكن يصلوا الى نفس الهذف في البرنامج لكن الافكار والاساليب البرمجية تخلتف و قد يكون في مضمون الكود البرمجي مقطع برمجي او دالة يمكن ان يستفد منها المتابعون للموضوع في برنامج اخر لا يمت لصلة لهذا الموضوع بتاتاً اللهم انها تسهل وظيفة في البرنامج الاخر كان الاحرى عليك تتبع الموضوع وإذا كان عدنك اضافة أضفها لاننا هنا لنكمل افكار بعض وليسى لتقييم افكار بعض والله من وراء القصد 5 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المبرمج الصاعد بتاريخ: 4 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 4 سبتمبر 2011 السلام عليكم مهندس ماهر أكمل ولا تقطع الشرح لأنه موضوع مهم ومفيد جدا جدا جدا..... أكمل على بركة الله.... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 4 سبتمبر 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 4 سبتمبر 2011 اشكر الاخ scince واعتبره رد عني اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ahmedbb بتاريخ: 10 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 10 سبتمبر 2011 منتظرين تكملة الموضوعشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 17 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 17 سبتمبر 2011 الاخ ماهر سلمان لماذا لم تكمل الموضوع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 17 سبتمبر 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 17 سبتمبر 2011 اخي الكريم ان شالله ساكمل الموضوع قريبا وشكرا لمتابعتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
adalsharabi33 بتاريخ: 28 سبتمبر 2011 تقديم بلاغ مشاركة بتاريخ: 28 سبتمبر 2011 اخي العزيز / mmsalman87 المحترم صحيح انني جديد في هذا المنتدى لكنني متابع لمواضيع هذا المنتدى الرائع منذ فترة .. وفعلاً وجدت ضالتي في مواضيعك و بالاخص في هذا الموضوع (كيفية عمل نظام متعدد اللغات) فأرجو ان تكمله حتى نستفيد منه وجزاك الله خيرا وجعله الله في ميزان حسناتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 21 أكتوبر 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 أكتوبر 2011 اخواني الكرام استكمالا لموضوع اللغات المتعددة اقدم لكم اليوم الكود الذي يجب وضعه في النظام كي يعمل بناءا على الجداول التي ذكرتها لكم سابقا في الفورم المراد تطبيق الفكرة عليه نقوم بانشاء program unitونسميه TRANSLATE_FORM ونضع فيه التالي : PROCEDURE TRANSLATE_FORM( IN_FORM_PRM VARCHAR2 ,IN_LANG_PRM VARCHAR2) IS I NUMBER(4); lItemName VARCHAR2(100); BEGIN FOR ITEM_REC IN (SELECT DECODE(IN_LANG_PRM,'A',FM_DESC_A,'E',FM_DESC_E)FM_DESC, DECODE(IN_LANG_PRM,'A',RIGHT_TO_LEFT,LEFT_TO_RIGHT)FM_DIRECTION, FMD_BLOCK,FMD_ITEM, DECODE(IN_LANG_PRM,'A',FMD_DESC_A ,'E',FMD_DESC_E)FMD_PROMPT, DECODE(IN_LANG_PRM,'A',FMD_TOOLTIP_A ,'E',FMD_TOOLTIP_E)FMD_TOOLTIP, DECODE(IN_LANG_PRM,'A',FMD_HINT_A ,'E',FMD_HINT_E)FMD_HINT, FMD_ITEM_TYPE, ROWNUM FROM MODULES_FM_MSTR ,MODULES_FMD_DET WHERE FM_FORM=FMD_FORM AND FM_FORM=IN_FORM_PRM AND FM_ACTIVE ='Y' AND FMD_ACTIVE='Y' ) LOOP --SET FORM DIRECTION IF ITEM_REC.ROWNUM=1 THEN SET_FORM_PROPERTY(IN_FORM_PRM,DIRECTION,ITEM_REC.FM_DIRECTION); END IF; /*IF_STRT_002*/ IF ITEM_REC.FMD_ITEM_TYPE IN ('TEXT_ITEM','LIST','DISPLAY_ITEM','BUTTON','ICONIC_BUTTON','CHECK_BOX','INIT_TEXT') AND GET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,ITEM_CANVAS)IS NOT NULL THEN IF(ITEM_REC.FMD_ITEM_TYPE IN ('TEXT_ITEM'))THEN SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT); SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP); --SET_ITEM_VALUE(IN_FORM_PRM,ITEM_REC.FMD_BLOCK,ITEM_REC.FMD_ITEM,IN_LANG_PRM); ELSIF(ITEM_REC.FMD_ITEM_TYPE IN ('LIST'))THEN SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT); SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP); --BUILD_LIST(ITEM_REC.FMD_ITEM,IN_LANG_PRM); ELSIF(ITEM_REC.FMD_ITEM_TYPE IN ('DISPLAY_ITEM'))THEN --SET_ITEM_VALUE(IN_FORM_PRM,ITEM_REC.FMD_BLOCK,ITEM_REC.FMD_ITEM,IN_LANG_PRM); SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT); SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP); -- SET_ITEM_VALUE(IN_FORM_PRM,ITEM_REC.FMD_BLOCK,ITEM_REC.FMD_ITEM,IN_LANG_PRM); ELSIF(ITEM_REC.FMD_ITEM_TYPE IN ('INIT_TEXT'))THEN COPY(ITEM_REC.FMD_PROMPT,ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM); ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('BUTTON') THEN IF(GET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,ICONIC_BUTTON)='TRUE')THEN SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT); ELSE SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,LABEL,ITEM_REC.FMD_PROMPT); END IF; SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP); ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('ICONIC_BUTTON') THEN SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP); ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('CHECK_BOX') THEN SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,LABEL,ITEM_REC.FMD_PROMPT); SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP); END IF; END IF; IF ITEM_REC.FMD_ITEM_TYPE IN ('MAIN_WINDOW') THEN SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,TITLE,ITEM_REC.FMD_PROMPT); SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,DIRECTION,ITEM_REC.FM_DIRECTION); SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,WINDOW_STATE,MAXIMIZE); ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('WINDOW') THEN SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,TITLE,ITEM_REC.FMD_PROMPT); SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,DIRECTION,ITEM_REC.FM_DIRECTION); /*IF_END_003*/ ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('SYSTEM') THEN SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,TITLE,ITEM_REC.FMD_PROMPT); SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE); SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,DIRECTION,ITEM_REC.FM_DIRECTION); ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('TAB_PAGE') THEN SET_TAB_PAGE_PROPERTY(ITEM_REC.FMD_ITEM,LABEL,ITEM_REC.FMD_PROMPT); ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('RADIO_BUTTON') THEN I:=INSTR(ITEM_REC.FMD_ITEM,'.'); IF GET_RADIO_BUTTON_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||SUBSTR(ITEM_REC.FMD_ITEM,1,I-1), SUBSTR(ITEM_REC.FMD_ITEM,I+1),PROMPT_TEXT)<>'' THEN SET_RADIO_BUTTON_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||SUBSTR(ITEM_REC.FMD_ITEM,1,I-1), SUBSTR(ITEM_REC.FMD_ITEM,I+1),PROMPT_TEXT,ITEM_REC.FMD_PROMPT); ELSE SET_RADIO_BUTTON_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||SUBSTR(ITEM_REC.FMD_ITEM,1,I-1), SUBSTR(ITEM_REC.FMD_ITEM,I+1),LABEL,ITEM_REC.FMD_PROMPT); END IF; END IF; END LOOP; END; مع ملاحظة انه يجب ان تكون انوع العناصرSYSTEM RADIO_BUTTONMAIN_WINDOWLISTTEXT_ITEMICONIC_BUTTONBUTTONTAB_PAGEWINDOWCHECK_BOX وفي تريغر WHEN - NEW - FORM - INSTANCEنكتب الكود التالي : declare V_MODULE_NAME varchar2(1000); begin V_MODULE_NAME :=:system.current_form; IF :GLOBAL.P_USER_LANGUAGE = 1 THEN TRANSLATE_FORM(V_MODULE_NAME, 'A') ; ELSIF :GLOBAL.P_USER_LANGUAGE =2 THEN TRANSLATE_FORM(V_MODULE_NAME, 'E') ; END IF; end; وبهذا سيعمل النظام باللغتين العربية والانجليزيةما زال هناك الكثير من الافكار لتحسين تعدد الانظمة سيتم التحدث عنها لاحقا وبالتوفيق للجميع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 14 يناير 2012 تقديم بلاغ مشاركة بتاريخ: 14 يناير 2012 مشكور أخي ماهر على الموضوع الرائع...واسمح لي بإضافة بسيطة...اذا أردت تغيير لغة النظام من داخل النظام، يتم استخدام الكود التالي على ترجر Key-Menu على مستوى الموديول: Begin Translate_Form(:System.Current_Form, 1 - To_Number(:Global.language)); If :Global.language = 'A' Then :Global.language := 'B'; Else :Global.language := 'A'; End If; End; وبذلك يتم تغيير لغة البرنامج من خلال الضغط على F5.... تحياتي. 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 14 يناير 2012 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 يناير 2012 بارك الله فيك اخوي احمد ومشاركة مميزة منك مشكور على يا غالي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mahmoudhalyain بتاريخ: 24 مايو 2012 تقديم بلاغ مشاركة بتاريخ: 24 مايو 2012 بارك الله فيك و كثر الله من امثالك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
DBProgrammer بتاريخ: 13 نوفمبر 2012 تقديم بلاغ مشاركة بتاريخ: 13 نوفمبر 2012 جزاك الله خير اخ ماهر على هذا الشرح الوافي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المبرمج الصاعد بتاريخ: 17 نوفمبر 2012 تقديم بلاغ مشاركة بتاريخ: 17 نوفمبر 2012 أخي مااهر الحبيب ممكن طلبإنك تعمل جميع مشاركات على ملف وورد لكي نقدر من عمل ماشرحت لانه بصراحة شرح وفركة جيدةلنه والله قد تعبت لأني عملت نظام بلغتين وعملت 2 من كل فورمة وحست وتلخبطت كثير الكثير...ياااليت ..وشكرا على الشرح موووفق..اخوك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
abbasjassm بتاريخ: 6 يناير 2013 تقديم بلاغ مشاركة بتاريخ: 6 يناير 2013 اخواني السلام عليكم اني عملت الفورمة بس مايتنفذ الي شيادخلو على هذا لنكhttp://www.araboug.org/ib/index.php?showtopic=51803 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.