نمایش نتایج 1 تا 17 از 17

نام تاپیک: چگونه زبان تعیین شده در regional languauge‌را تغییر دهیم

  1. #1

    چگونه زبان تعیین شده در regional languauge‌را تغییر دهیم

    چگونه می توان با کدنویسی می توان در قسمت advance‌ مربوط به regional languauge‌ویندوز زبان non-unicode را به زبان دلخواه (مثلا عربی یا فارسی) تغییر داد

  2. #2
    سلام دوستان
    سال نو مبارک
    اگه منظورت رو درست متوجه شده باشم
    کد زیر صفحه کلید رو تغییر میده
    کد زبان مورد نظر =: Application.BiDiKeyboard
    انگلیسی 00020409
    فارسی 00000429
    موفق باشین

  3. #3
    ممنون ولی منظورم این نیست (کد مربوطه جهت تغییر صفحه کلید است ) حال آنکه منظورم من تغییر کلی ساختار زبان non-unicode به زبان دیگر (مثلا عربی) است (مشکل اصلی از آنجا ناشی می شود که در برخی Object های مورد استفاده در برخی زبانها مانند: Listbox,grid,combox) زبان فارسی را به عنوان یک زبان right-to-left نمی شناسد و در متن فارسی را از سمت چپ تراز میکند که با تغییر گزینه موردنظر در کنترل پنل به زبان عربی این مشکل حل می شود و حال منظور من این است که این کار را در برنامه نصب با برنامه نویسی انجام بدهم تا نیازی به تغییر آن توسط کاربر نباشد

  4. #4
    با سلام.
    من فکر کنم موفق شدم بفهمم چه کلیدی باید در رجیستری تغییر کند تا این مشکل حل شود البته من فقط توانستم روی دو تا سیستم تست کنم . لطفا شما هم تست کنید و نتیجه را بگید . امیدوارم درست باشه :
    برای اینکه زبان برنامه های non-unicode را به فارسی تغییر دهید به آدرس زیر در رجیستری بروید :
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C  ontrol\Nls\CodePage]
    و این مقادیر را set کنید :
    "ACP"="1256"
    "OEMCP"="720"
    "MACCP"="10004"

    همچنین به آدرس زیر بروید :
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C  ontrol\Nls\Language]

    و مقدار زیر را set کنید :
    "Default"="0429"


    برای اینکه زبان برنامه های non-unicode را به انگلیسی تغییر دهید به آدرس زیر در رجیستری بروید :
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C  ontrol\Nls\CodePage]
    و مقادیر زیر را set کنید :
    "ACP"="1252"
    "OEMCP"="437"
    "MACCP"="10000"

    همچنین به آدرس زیر بروید :
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C  ontrol\Nls\Language]

    و مقدار زیر را set کنید :
    "Default"="0409"


    موفق باشید .

  5. #5
    سلام
    "اقا شکوه ممنون "
    من آقا نیستم

  6. #6
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    39
    پست
    1,988
    ای ولا عالی بود :flower:

  7. #7
    با تشکر از آقای Farshad Paydar :flower:

    آیا این تغییرات فقط برای این کاربر ذخیره میشود یا برای تمام کاربران ؟

  8. #8
    ضمنا کد پیچ سیستم را می توانی از طریق GetACP بدست بیاوری که اگر عربی تنظیم شده باشد 1256 خواهد داد.
    البته در خصوص سوال مطرح شده جواب کاملتری در کتاب 296 برنامه دلفی 6 آمده است که آن هم از طریق رجیستری توضیح داده است.
    گرچه من نه آن را تست کرده ام و نه کدی را که جناب فرشاد نوشتند.
    (نیازمند تست بر روی چند سیستم و مقادیری وقت می باشد)

  9. #9
    اقا محسن میشه لطفا کنید اون نمونه برنامه مربوطه را که گفته اید در کتاب 296 برنامه دیده اید اینجا بگذارید؟
    با تشکر

  10. #10
    کسی نبود کد نویسی مربوط به این تغییرات رجیستری را بنویسه؟

  11. #11
    کلیدهای دیگری نیز وجود دارد یعنی بجای کلید CurrentControllset چیزی مثل Controllset001 وجود دارد که عینا همان مقادیر را دارد. من اینطور برداشت کردم که هر یک از Controllset ها به یک user مربوط است و CurrentControllSet به user فعلی . اما چون من خودم تست نکردم مطمین نیستم . اما فکر کنم اگر می خواهید برای تمام کاربران تنظیم شود باید در تمام ControllSet ها تغییر گفته شده را اعمال کنید .
    در رجیستری سیستم می تونه چندین شاخه ControlSetXXX وجود داشته باشه. تعداد این شاخه بستگی به دفعاتی که تنظیمات سیستم رو تغییر میدید داره،
    CurrentControlSet به یکی از COntrolSetهای موجود که فعال هست اشاره می کنه و خودش مقدار متفاوتی نداره. یعنی اگر در سیستم شما چهار ControlSet (از ControlSet001 تا ContrlSet004) وجود داشته باشه، مقدار CurrentControlSet برابر با یکی از اونها ست.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  12. #12
    کسی نبود کد نویسی مربوط به این تغییرات رجیستری را بنویسه؟

    uses Registry;

    type
    TLanguageName = (Fa,En);

    procedure NonUnicode_Lang(Language: TLanguageName);
    var
    Reg : TRegistry;
    begin
    Reg := TRegistry.Create;
    with Reg do
    try
    RootKey := HKEY_LOCAL_MACHINE;
    if OpenKey('SYSTEM\CurrentControlSet\Control\Nls\ CodePage',False) then
    case Language of
    Fa : begin
    WriteString('ACP','1256');
    WriteString('OEMCP','720');
    WriteString('MACCP','10004');
    CloseKey;
    end;
    En : begin
    WriteString('ACP','1252');
    WriteString('OEMCP','437');
    WriteString('MACCP','10000');
    CloseKey;
    end;
    end;//case

    if OpenKey('SYSTEM\CurrentControlSet\Control\Nls\ Language',False) then
    case Language of
    Fa : begin
    WriteString('Default','0429');
    CloseKey;
    end;
    En : begin
    WriteString('Default','0409');
    CloseKey;
    end;
    end;//case
    finally
    Reg.Free;
    end;//try..finally
    end;

  13. #13
    با تشکر فراوان از آقای کشاورز
    ولی مشکلی است و آن هم اینکه بعد از انجام این کار علامت مربوط به تغییر زبان در گوشه پایین سمت راست ویندوز از بین می رود
    برای رفع این مشکل چاره ای هست

  14. #14
    ولی مشکلی است و آن هم اینکه بعد از انجام این کار علامت مربوط به تغییر زبان در گوشه پایین سمت راست ویندوز از بین می رود
    برای رفع این مشکل چاره ای هست
    من روی سیستم خودم همچین مشکلی ندارم.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  15. #15
    اگر لطف کنید و به لینک زیر بروید و سورس بنده را ببنید ممنون می شوم (برنامه نصب مشابه اینستال شیلد)
    http://www.barnamenevis.org/viewtopic.php?t=25862

  16. #16
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1383
    محل زندگی
    سمنان - ایران
    پست
    440
    سلام :
    از همگی شما برای این اطلاعات خوبتان ممنونم .

  17. #17

    نقل قول: چگونه زبان تعیین شده در regional languauge‌را تغییر دهیم

    با سلام.
    من فکر کنم موفق شدم بفهمم چه کلیدی باید در رجیستری تغییر کند تا این مشکل حل شود البته من فقط توانستم روی دو تا سیستم تست کنم . لطفا شما هم تست کنید و نتیجه را بگید . امیدوارم درست باشه :
    برای اینکه زبان برنامه های non-unicode را به فارسی تغییر دهید به آدرس زیر در رجیستری بروید :
    1
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe t\C ontrol\Nls\CodePage]
    و این مقادیر را set کنید :
    1
    2
    3
    "ACP"="1256"
    "OEMCP"="720"
    "MACCP"="10004"

    همچنین به آدرس زیر بروید :
    1
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe t\C ontrol\Nls\Language]

    و مقدار زیر را set کنید :
    1
    "Default"="0429"


    برای اینکه زبان برنامه های non-unicode را به انگلیسی تغییر دهید به آدرس زیر در رجیستری بروید :
    1
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe t\C ontrol\Nls\CodePage]
    و مقادیر زیر را set کنید :
    1
    2
    3
    "ACP"="1252"
    "OEMCP"="437"
    "MACCP"="10000"

    همچنین به آدرس زیر بروید :
    1
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe t\C ontrol\Nls\Language]

    و مقدار زیر را set کنید :
    1
    "Default"="0409"


    موفق باشید .
    دوستان عزیز البته سیستم باید رسیت بشه تا تغییرات اعمال شود.

تاپیک های مشابه

  1. تعیین و تغییر موقعیت مکان نما داخل تکست باکس
    نوشته شده توسط bashir_nashi در بخش VB.NET
    پاسخ: 7
    آخرین پست: پنج شنبه 27 شهریور 1399, 14:54 عصر
  2. تغییر فرمت تاریخ سیستم از در regional setting از طریق برنامه
    نوشته شده توسط vb341 در بخش برنامه نویسی در 6 VB
    پاسخ: 10
    آخرین پست: یک شنبه 11 تیر 1396, 20:21 عصر
  3. درخواست برنامه ای برای تغییر Regional
    نوشته شده توسط Copricorn در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: دوشنبه 07 اسفند 1385, 13:04 عصر
  4. تغییر تنظیمات regional and language
    نوشته شده توسط nima_dir در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 01 شهریور 1385, 12:53 عصر
  5. سوال در مورد تغییر Regional Setting
    نوشته شده توسط Kamyar.Kimiyabeigi در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 16 اردیبهشت 1385, 09:18 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •