بتاريخ: 21 مايو 200818 سنة comment_129331 هام للغاية و مفيد للجميع ان شاء اللهكيف يمكن تغير اللغة من عربي الى انجليزي او العكس على نفس الفورم اي ان يكون الفورم ثنائي اللغةارجو المساعدة للضرورة القسوى تقديم بلاغ
بتاريخ: 21 مايو 200818 سنة comment_129347 السلام عليكم و رحمة اللهاتمني ان اجد اجابة لهذا الموضوعانا فكرت بطريقتين لكن اعتقد انهم غير عمليينالاولي: تكرار الفورم باللغتين و عند اختيار اللغة المراد التعامل فيها يتم استدعاء الفورم لهذه اللغة (( طبعا تكرار للمجهود ))الثانية: عمل (2) text item -- تعمل كـ prompt يمين و يسار العنصر المراد تسميته تحتوي علي اسم او وصف هذا العنصر و عند اختيار اللغة يتم وضع قيمتها في جدول مخصص لذلك - ثم وضع Set_item_Property داخل جملة IF في when_new_form_instance حيث تقوم IF بالمقارنة بين القيم في جدول اللغة و توجيه الناتج الي Set_item_Property لكل text item لاظهار اللغة المرغوب بها و اخفاء الاخري( TEXT ITEM =VISIBLE or INVISIBLE) و كذلك اتجاه الفورم.حاسس ان الكلام كده كتير لكن غدا ان شاء الله هأحاول اجرب الطريقة الثانيةلكن كده في سؤال بيطرح نفسه هل يوجد trigger او procedure يمكنه قراءة ( او معرفة) عناصر الفورم --- اعتقد انها كده محتاجة بحث؟!! تقديم بلاغ
بتاريخ: 22 مايو 200818 سنة comment_129366 أخي بارك الله فيك هي فورمة واحدة تبقى على ال DEFUALT DIRCTION لما تحب تخليها عربي اعمل ال DIRECTION بتاعها RIGHT TO LEFT و طبعا هاتغير ال PROMPTS بتوع كل ال ITEMS إلى على الفورمة و الفورمة بعد كده تبقى عربي و إذا أحببت تخليها انجليزي هاتخلي ال DIRECTION بتاعها LEFT TO RIGHT و هكذا . تقديم بلاغ
بتاريخ: 22 مايو 200818 سنة comment_129370 أنا لدي فكرتين ولكنني لا أعلم ما الأفضل ، لكنني سأعرض عليكم الطريقتين :الطريقة الأولي :أنشأ جدول مواصفاتة كما يلي : Create Table Lang_Interfase ( Lang_ID Number(10), -- PK -- Lang_ItemName VarChar2(50), Lang_ValueAR VarChar2(50), Lang_ValueEn VarChar2(50), Constraint PK_Lang_Interfase Primary Key(Lang_ID) ) / ومن ثم أصنع إجراء يجلب جميع السجلات ، ومن ثم إجراء Loop وبداخلة أبحث بالنموذج عن هذا العنصر بإستخدام Find_Item ، بشرط أن لا يكون إسم العنصر غير متكرر ببلوك البيانات ، وهذا سيكون شيء مجهد جداً ، وفي النهاية أرسل له القيمة كما أشاء في خاصية Prompt .الطريقة الثانية :أن تجعل لكل قيمة Value قيمة رقمية مناسبة ، وتصنع Function يجلب سجل واحد علي أساس قيمة المفتاح الرئيسي للجدول ، وبدلاً من إستخدم خصائص الـ Prompt تستخدم كائنات Display_Item ومن ثم تجعل حدودة مسطحة ولون الخلفية مماثلة للون خلفية النموذج أو الـ Canvas .أخيراً ، أجلب الـ Function في خاصائص الـ Calcolation بقيمة رقمية محددة ، مثال : Create Or Replace Function Get_Lang(ID_Serial Number, ID_Lang Number Default 0) Return VarChar2 As ID_Return VarChar2(50); Begin Select (Case When ID_Lang = 0 Else Lang_TitleEn Else Lang_TitleAr End) Into ID_Return From Lang_Interfase Where Lang_ID = ID_Serial; Return ID_Return; End; / ومن ثم في خصائص الـ Calcolation تستدعي هذا الغرض كما يلي : Calcolation Mode = Formula Formula = Get_Lang(1,:Global.Lang_Name) شكراً تقديم بلاغ
بتاريخ: 22 مايو 200818 سنة كاتب الموضوع comment_129394 انا مع اخونا من مصر في اقتراحة الاولو انا نفذته من البداية بس الي كنت عم بسعى الى فكرة جديدة , على كل حال اول ما اخلص من الفورم راح انزله عشان تشوفوه تقديم بلاغ
بتاريخ: 25 مايو 200818 سنة comment_129585 انصحك للسرعه وزياده كفاءه النظام عمل اتنين فورم من كل فورمه(عربي وانجليزي) ومنيو ايتم من خلاله تقدر تختار اللغه. تقديم بلاغ
بتاريخ: 28 مايو 200818 سنة كاتب الموضوع comment_129893 اخي العزيز شكرا الى مشاركتك الكريمة , و لكن اذا عملت كما تقول يكون الجهد و الوقت مضاعفين لان كل شي سوف يعمل مرتين فهذه الطريقةفي نظري غير فعالة , بالنسبة لي طبعا .,على كل حال هو سؤال واحد فقط كيف يمكنني ان اغير اللغة في الــ OS و هو Windows Pro في هذه الصورة المحملة عن طريق الفورماذا يوجد كود لذالك ارجو اسعاف فية .لأنه بقي لدي كيف انقل الحقول في الشاشة من اليمين الى اليسار و بالعكس عن طريق الـــ Bottun تقديم بلاغ
بتاريخ: 29 مايو 200818 سنة comment_129981 السلام عليكم ورحمة الله وبركاتهاخواني انا صادفتني نفس المشكلة في إختيار اللغه ولاكن في النهايه لجات إلى إنشاء مجلدين وقمة بنسخ جميع مافي المجلد الأصلي في المجلد الثاني وقمت فقط بتغير اسم الشاشات على سبيل المثال من main.fmb إلى mainE.fmb ومن ثم قمت بتغيل جميع الكلام ألي باللغة العربيه إلى إنجليزي وهكذا لم يستغرق معي العمل سوى ساعتان فقط ولا اعتقد ان هناك امر يقوم بتحويل اللغه مباشرة بدون متاعب وهذا هو راي الشخصي وإنشاء الله سوف نتوصل إلى امر يجعل اللغة تتحول مباشره ويكون الامر كصلاحيات المدير ومدخل البيانات وشكراً تقديم بلاغ
بتاريخ: 29 مايو 200818 سنة comment_129989 السلام عليكم ورحمة الله وبركاتهبعد التحيةاخواني فاللهيمكن عمل الخطوات التاليهاثناء انشاء الجدول او بعد انشاءه نقوم اولا بوضع تعليقات مثلا لاسم الجدول واسم الحقول كما فالمثال DROP TABLE CLASS_INFO CASCADE CONSTRAINTS ; CREATE TABLE CLASS_INFO ( CLASS_ID NUMBER (2) NOT NULL, CLASS_NAME VARCHAR2 (100) NOT NULL, CLASS_CAPACITY NUMBER (4), CLASS_EMP_NAME VARCHAR2 (100), CONSTRAINT PK_CLASS_INFO PRIMARY KEY ( CLASS_ID ) ) ; COMMENT ON TABLE CLASS_INFO IS 'ملف أكواد المعامل'; COMMENT ON COLUMN CLASS_INFO.CLASS_CAPACITY IS 'كثافة المعمل'; COMMENT ON COLUMN CLASS_INFO.CLASS_EMP_NAME IS 'إسم الموظف المسئول عن المعمل'; COMMENT ON COLUMN CLASS_INFO.CLASS_ID IS 'كود المعمل'; COMMENT ON COLUMN CLASS_INFO.CLASS_NAME IS 'إسم المعمل'; قوم بعمل شاشة ب الويزرد على هذا الجدولثانيا عمل PROCEDURE اما على ال database or form builder PROCEDURE CALL_PROMPT (VR_TAB VARCHAR2,V_LANG VARCHAR2,V_USER VARCHAR2) IS CURSOR CC IS SELECT DECODE(V_LANG,'ENG',REPLACE(COLUMN_NAME,'_',' '),'ARB',COMMENTS) COMMENTS,TABLE_NAME||'.'||COLUMN_NAME COL FROM ALL_COL_COMMENTS WHERE TABLE_NAME = VR_TAB --<== 'the table name for database' AND UPPER(OWNER) =UPPER(V_USER) ; --<== 'the user name for database' BEGIN FOR REC IN CC LOOP SET_ITEM_PROPERTY(REC.COL,PROMPT_TEXT,REC.COMMENTS); END LOOP; END ; ثالثا من when new form instansعمل calling لل PROCEDURE كالاتي CALL_PROMPT('CLASS_INFO','ARB',get_application_property(username)); مع مراعاة ان يكون اسما ال data block and the column like the database table_name and column name يمكن السؤال لو الدخول بالعربي اعمل calling for the procedure else nullدا طبعا مثال توضيحي يمكن تطويرهوشكرامرفق شاشة جاهزة الرجاء الدعاء لابي ولامي واخواتي ولوزجتي ولي العبد الفقير الى اللهداكود تكوين الجدول وشكرا CREATE TABLE CLASS_INFO ( CLASS_ID NUMBER (2) NOT NULL, CLASS_NAME VARCHAR2 (100) NOT NULL, CLASS_CAPACITY NUMBER (4), CLASS_EMP_NAME VARCHAR2 (100), CONSTRAINT PK_CLASS_INFO PRIMARY KEY ( CLASS_ID ) ) ; COMMENT ON TABLE CLASS_INFO IS 'ملف أكواد المعامل'; COMMENT ON COLUMN CLASS_INFO.CLASS_CAPACITY IS 'كثافة المعمل'; COMMENT ON COLUMN CLASS_INFO.CLASS_EMP_NAME IS 'إسم الموظف المسئول عن المعمل'; COMMENT ON COLUMN CLASS_INFO.CLASS_ID IS 'كود المعمل'; COMMENT ON COLUMN CLASS_INFO.CLASS_NAME IS 'إسم المعمل'; Translate.zip تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.