PDA

View Full Version : سوال: تغییر فرمت زبان ویندوز با دلفی



sajioo
دوشنبه 16 بهمن 1391, 11:28 صبح
دوستان عزیزم سلام
وقتی از کنترل پنل به region and language میرویم در تب formats و در بخش format می توانیم english رو به persian تغییر بدیم.
سوالم در اصل اینه که چطور میشه بدون طی کردن این مراحل این کار رو انجام داد؟:قلب:

hamid-nic
دوشنبه 16 بهمن 1391, 13:37 عصر
سلام
از طریق رجیستری می توانید این کار را انجام دهید .

یوسف زالی
دوشنبه 16 بهمن 1391, 14:12 عصر
سلام.
از طریق CPL های ویندوز هم می تونید. با ران کردن RunDll32.
اطلاعات بیشتر = MSDN

reza_66
سه شنبه 17 بهمن 1391, 08:25 صبح
سلام دوست عزيز

ميشه در مورد اين كار كمي بيشتر توضيح بدين و نحوه ي انجام دادن اين كار رو براي افراد مبتدي تر واضح تر و بيشتر توضيح بدين؟

ممنون از راهنماييتون.

sajioo
سه شنبه 17 بهمن 1391, 10:57 صبح
از طریق رجیستری می توانید این کار را انجام دهید .
حمید جان مشکل من همینجاست! چطور این را انجام بدم با رجیستری؟

Mask
سه شنبه 17 بهمن 1391, 13:14 عصر
اگه جستجو کنید زودتر به جواب میرسید.
قبلا چندین بار در مورد این موضوع صحبت شده.

Procedure SetFarsi;
var
RegOptsFile: TextFile;
TempDir: Array [0 .. MAX_PATH - 1] of char;
Result: string;
WinDir: Array [0 .. MAX_PATH - 1] of char;
Result1: string;
begin
SetString(Result, TempDir, GetTempPath(MAX_PATH, TempDir));
AssignFile(RegOptsFile, TempDir + '\regopts.txt');
ReWrite(RegOptsFile);
WriteLn(RegOptsFile, '[RegionalSettings]');
Write(RegOptsFile, 'UserLocale=00000429');
CloseFile(RegOptsFile);
WinExeC(PansiChar('rundll32.exe shell32,Control_RunDLL intl.cpl,,/f:"' + TempDir +
'\regopts.txt" /s:"' + WinDir + '\I386"'), SW_SHOWNORMAL);
end;

Procedure SetEn;
var
TempDir: Array [0 .. MAX_PATH - 1] of char;
Result: string;
WinDir: Array [0 .. MAX_PATH - 1] of char;
Result1: string;
RegOptsFile: TextFile;
begin
SetString(Result1, TempDir, GetTempPath(MAX_PATH, TempDir));
AssignFile(RegOptsFile, TempDir + '\regopts.txt');
ReWrite(RegOptsFile);
WriteLn(RegOptsFile, '[RegionalSettings]');
Write(RegOptsFile, 'UserLocale=00000409');
CloseFile(RegOptsFile);
WinExeC(PansiChar('rundll32.exe shell32,Control_RunDLL intl.cpl,,/f:"' + TempDir +
'\regopts.txt" /s:"' + WinDir + '\I386"'), SW_SHOWNORMAL);
end;

gholami146
سه شنبه 24 بهمن 1391, 12:29 عصر
با سلام
اگه میخواید در برمامتون بصورت فارسی اطلاعات رو در فیلد ها بگیرید .
به شرطی که در سیستم عامل تون فارسی نصب شده باشه در برنامه های دلفی می تونید با فرمان

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

در قسمت فرم کریت فرم اصلیتون استفاده کنید
در فیلد های راست به چپ فارسی و در فیلد های چپ به راست انگلیسی
موفق باشید