![]() |
|
تغيير اللغة الافتراضية - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : تغيير اللغة الافتراضية (/showthread.php?tid=12489) |
تغيير اللغة الافتراضية - محمد الدرة - 17-01-2024 السلام عليكم ورحمة الله لدي مشكلة من فترة سالت عنها ولم اجد اجابة كافية عند تحديد الخيار لدولة عربية من control panel->region->formats الذي يحدث ان كل الارقام داخل التطبيق الخاص بي تكتب باللغة العربية وهذا يسبب لي اشكالية ماهو الكود الذي من خلاله اجعل الارقام باللغة الانجليزية حتى لو كان الخيار من لوحة التحكم للغة العربية RE: تغيير اللغة الافتراضية - Ndagor - 18-01-2024 السلام عليكم ان كنت تريد تغيير الارقام يكفي تغيير LOCALE_IDIGITSUBSTITUTION الي 0 او 1 و سوف يلغي استعمال الارقام المحلية و لكن هذا سيقوم بتغيير اعدادات المستخدم . لا ادري ان كانت وندوز تسمح بالغاء اعدادات المستخدم على برنامج محدد . كود : SetLocaleInfo(LOCALE_USER_DEFAULT, $1014,
'1');RE: تغيير اللغة الافتراضية - صالح حمادي - 18-01-2024 السلام عليكم شكل الأرقام ليس شرطا يكون متعلق باللغة من لوحة التحكم ثم تنسيقات الوقت أو التاريخ أو الأرقام ثم إعدادات اضافية غير خيار : استخدام الأرقام الأصلية إلى أبدا مثل الصورة التالية RE: تغيير اللغة الافتراضية - محمد الدرة - 21-01-2024 (18-01-2024, 04:51 PM)Ndagor كتب : السلام عليكم الكود يشتغل تمام لكن يقوم بتعديل الاعدادات الخاصة بالمستخدم لجميع الانظمة هل يوجد خيار لتفعيله على مستوى النظام الحالي فقط بحيث لايتم تاثيره على بقية الانظمة (18-01-2024, 05:44 PM)صالح حمادي كتب : السلام عليكم نعم هو هذا المطلوب لكني اريده برمجيا كما في رد الاخ Ndagor الكود الذي اعطاني ينجز المهمة المطلوبة التي ذكرتها لكن يبقى اشكاليه انها تقوم بتغيير اعدادت النظام بالكامل وانا اريد تغييرها على المستخدم داخل التطبيق فقط وليس كاعداد خاص بالويندوز بالكامل او المستخدم RE: تغيير اللغة الافتراضية - Ndagor - 21-01-2024 الحل الذي اراه هو تقوم باستخدام مكونات لا تستخدم ادوات الرسم الداخلية للوندوز او استعمال font معدل لا يحتوي الارقام العربية الهندية و تحميله اثناء انطلاق البرنامج RE: تغيير اللغة الافتراضية - S.FATEH - 21-01-2024 السلام عليكم يمكنك استخدام الحدث OnGetText التابع للـ Field فقط اذا كانت البيانات كبيرة سيحدث ثقل للبرنامج [size=1] [/size] كود : function TForm2.ArrToEn(ArrChar: string): string;
begin
if ArrChar = '١' then Result := '1' else
if ArrChar = '٢' then Result := '2' else
if ArrChar = '٣' then Result := '3' else
if ArrChar = '٤' then Result := '4' else
if ArrChar = '٥' then Result := '5' else
if ArrChar = '٦' then Result := '6' else
if ArrChar = '٧' then Result := '7' else
if ArrChar = '٨' then Result := '8' else
if ArrChar = '٩' then Result := '9';
end;
procedure TForm2.FDQuery1ARRGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text := ArrToEn(FDQuery1.FieldByName('Arr').AsWideString);
end; |