sajioo
سه شنبه 28 خرداد 1392, 10:47 صبح
دوستان عزیزم سلام
من یک سری اطلاعات از وب بروزر روی فرم برنامه دریافت می کنم.
دقت کردم و متوجه شدم در ویندوز 7 اگه حالت پیشفرض فرمت ویندوز بر روی انگلیسی باشه ( یعنی عکس شماره 1 ) اطلاعات بصورت نادرست و غلط ( به قول معروف خرچنگ قورباغه ) نمایش داده میشه :لبخند:
105757
اما اگه حالت پیشفرض پرشین باشه ( یعنی عکس شماره 2 ) آنگاه اطلاعات درست نمایش میشه.
105756
پس از جستجو با کد زیر تونستم از طریق رجیستری این مورد رو تغییر بدم و به پرشین تبدیل کنم.
RegSetString(HKEY_CURRENT_USER,'Control panel\International','localename','Fa-IR');
function RegSetString(key:Hkey; subkey,name,value:string):boolean;
var
regkey:hkey;
begin
result := false;
RegCreateKey(key,PChar(subkey),regkey);
if RegSetValueEx(regkey,Pchar(name),0,2,pchar(value), length(value)) = 0 then
result := true;
RegCloseKey(regkey);
end;
حالا سوال اصلی من اینکه
در این حالت با اینکه حالت پیشفرض به پرشین تغییر داده میشه اما باز هم اطلاعات درست نمایش داده نمیشه. اما اگه دوباره از کنترل پنل به صورت دستی تغییرش بدیم به پرشین درست میشه.
فکر می کنم بجزlocalename چیز دیگه ی هم باید تغییر کنه که با توجه به رجیستری و یندوز ( عکس شماره 3 ) من تغییرات زیر را هم اعمال کردم که جواب نداد .
RegSetString(HKEY_CURRENT_USER,'Control panel\International','localename','Fa-IR');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','scountry','Iran');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','slanguage','FAR');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','Locale','00000429');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','iCountry','981');
105755
دوستان در ضمن من از کامپپوننت های tnt هم استفاده کردم که بی نتیجه بود باز .
اگه کسی هست در این مورد یا شاید راه دیگری داره حتما بهم پیشنهاد بده.تشکر:قلب:
من یک سری اطلاعات از وب بروزر روی فرم برنامه دریافت می کنم.
دقت کردم و متوجه شدم در ویندوز 7 اگه حالت پیشفرض فرمت ویندوز بر روی انگلیسی باشه ( یعنی عکس شماره 1 ) اطلاعات بصورت نادرست و غلط ( به قول معروف خرچنگ قورباغه ) نمایش داده میشه :لبخند:
105757
اما اگه حالت پیشفرض پرشین باشه ( یعنی عکس شماره 2 ) آنگاه اطلاعات درست نمایش میشه.
105756
پس از جستجو با کد زیر تونستم از طریق رجیستری این مورد رو تغییر بدم و به پرشین تبدیل کنم.
RegSetString(HKEY_CURRENT_USER,'Control panel\International','localename','Fa-IR');
function RegSetString(key:Hkey; subkey,name,value:string):boolean;
var
regkey:hkey;
begin
result := false;
RegCreateKey(key,PChar(subkey),regkey);
if RegSetValueEx(regkey,Pchar(name),0,2,pchar(value), length(value)) = 0 then
result := true;
RegCloseKey(regkey);
end;
حالا سوال اصلی من اینکه
در این حالت با اینکه حالت پیشفرض به پرشین تغییر داده میشه اما باز هم اطلاعات درست نمایش داده نمیشه. اما اگه دوباره از کنترل پنل به صورت دستی تغییرش بدیم به پرشین درست میشه.
فکر می کنم بجزlocalename چیز دیگه ی هم باید تغییر کنه که با توجه به رجیستری و یندوز ( عکس شماره 3 ) من تغییرات زیر را هم اعمال کردم که جواب نداد .
RegSetString(HKEY_CURRENT_USER,'Control panel\International','localename','Fa-IR');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','scountry','Iran');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','slanguage','FAR');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','Locale','00000429');
RegSetString(HKEY_CURRENT_USER,'Control panel\International','iCountry','981');
105755
دوستان در ضمن من از کامپپوننت های tnt هم استفاده کردم که بی نتیجه بود باز .
اگه کسی هست در این مورد یا شاید راه دیگری داره حتما بهم پیشنهاد بده.تشکر:قلب: