PDA

View Full Version : defalt farsi



چهارشنبه 14 آبان 1382, 16:54 عصر
باسلام
چگونه می شود در ادیت باکس های مربوط به ورود اطلاعات defalt فارسی یا انگلیسی تعریف کرد چون برخی از فیدلها باید فارسی تایپ شود و برخی انگلیسی و اگر از صفحه کلید استفاده کنیم معقو ل نمی باشد
تشکر از راهنمایی شما

SReza1
پنج شنبه 15 آبان 1382, 21:10 عصر
با این دستور keyboard فارسی میشه

LoadKeyboardLayout('00000429',KLF_ACTIVATE)یه نگاه به msdn تمام کدها رو مشخص کرده!!
LoadKeyboardLayout اینو در msdn جستجو کن

SReza1
شنبه 24 آبان 1382, 08:04 صبح
ُسلام
من کدمو اصلاح کردم حالا run کن درست میشه!
قبلی یه صفر کم داشت :oops:
میتونی در onenter هر Edit این کار رو انجام بدی
موفق باشی

Mahdiseif
شنبه 24 آبان 1382, 10:36 صبح
سلام
ظاهرا در win98 جواب نمی دهد.

مهدی کرامتی
شنبه 24 آبان 1382, 10:52 صبح
در ویندوز 98 بخاطر اینکه فارسی شده نسخه عربی ویندوز میباشد باید بجای 429 که کد زبان فارسی است از کد 401 (کد زبان عربی) استفاده کنید. یعنی بدین صورت:

LoadKeyboardLayout('00000401',KLF_ACTIVATE);
برای برگشتن به حالت تایپ انگلیسی در همه ویندوزها از کد 409 استفاده میشود. مثال:

LoadKeyboardLayout('00000409',KLF_ACTIVATE);
شما میتوانید یک کد داشته باشید که نسخه ویندوز را چک کند. اگر ویندوز جزو خانواده NT باشد (اعم از NT , 2000 , XP) از کد 429 و اگر از خانواده 9x باشد (اعم از 95 , 98 , Me) از کد 401 برای فارسی کردن صفحه کلید استفاده شود.
اینم یک کد نمونه برای تشخیص نوع ویندوز:


Interface:

type
TOSType = (ostUnknown,ostWin9x,ostWinNT); //uses by OS_Type() function.

function OS_Type : TOSType;

Implementation:

function OS_Type : TOSType;
var
osv : TOSVersionInfo;
begin
osv.dwOSVersionInfoSize := sizeof(osv);
GetVersionEx(osv);
Case osv.dwPlatformId of
VER_PLATFORM_WIN32_NT : Result := ostWinNT;
VER_PLATFORM_WIN32_WINDOWS : Result := ostWin9x;
else Result := ostUnknown;
end; //Case
end;

(امید)
پنج شنبه 29 آبان 1382, 03:39 صبح
سلام
نکته خیلی خوبی بود
ممنون آقا مهدی

امید

SReza1
پنج شنبه 29 آبان 1382, 18:57 عصر
بابا!! چه windows داری؟؟؟
البته با جواب آقای کرامتی دیگه حله!!

Kambiz
پنج شنبه 29 آبان 1382, 20:26 عصر
تنها با اضافه کردن دو خط زیر به فایل dpr برنامه٬ خود دلفی برای هر فیلد با توجه به ویژگی BidiMode اون زبان مناسب برای صفحه کلید رو انتخاب می‌کنه.


begin
Application.Initialize;

Application.BiDiKeyboard := '00000401';
Application.NonBiDiKeyboard := '00000409';

Application.CreateForm(TForm1, Form1);
Application.Run;
end.

پنج شنبه 29 آبان 1382, 21:15 عصر
راستی حالا که بحثش پیش اومد برای ویندوزهای عیر فارسی راهی جز نوشتن یه فارسی ساز نیست؟ :?: