PDA

View Full Version : مشکل در SetFarsi و SetEnglish



ByRoad
چهارشنبه 05 مهر 1385, 09:39 صبح
سلام
من قبلا از BidiMode استفاده می کردم ولی به دنبال همچین روالی می گشتم
که بطور اتوماتیک زبان تغییر کند.

جستجو کردم 2 روال زیر را پیدا کردم ولی Error ‌میده؟!!!
میشه بگیر اشکالش کجاست!؟


procedure SetFarsi;
var LName:pchar;
begin
getmem(LName,30);
GetKeyboardLayoutName(LName);
if LName<>FLAYOUT then
Activatekeyboardlayout(HKL_NEXT,KLF_REORDER);
end;

procedure SetEnglish;
var LName:pchar;
begin
getmem(LName,30);
GetKeyboardLayoutName(LName);
if LName<>ELAYOUT then
Activatekeyboardlayout(HKL_NEXT,KLF_REORDER);
end;

از دستور If ‌اشکال می گیره1!!!!!!!

mzjahromi
چهارشنبه 05 مهر 1385, 09:49 صبح
اینو ببینید (http://barnamenevis.org/forum/showthread.php?t=49015&highlight=%DD%C7%D1%D3%ED)

ByRoad
چهارشنبه 05 مهر 1385, 10:01 صبح
آره اونها رو دیدم

ولی این روال جالب تر هست!!!!
میتونید بگید مشکلش کجاست1!؟!!

mzjahromi
چهارشنبه 05 مهر 1385, 10:13 صبح
مشکل از syntax هست
اون مشکل شما از HTML هست وقتی که متن رو توی این سایت کپی کردن یه سری کاراکترها این شکلی شدن .
باید ببینید بجاشون چی باید گذاشت

ByRoad
چهارشنبه 05 مهر 1385, 10:20 صبح
شرمنده

اگه می دونستم که از شما سوال نمی کردم
دقیقا از این خط اشکال میگیره
if LName<>FLAYOUT then
اگه خط بالا هم به خط زیر تغییر دهیم
if LName>FLAYOUT then
ایراد از FLAYOUT میگیره!!!!!

mzjahromi
چهارشنبه 05 مهر 1385, 10:24 صبح
مشکل از اینه


LName<

تو بخش Html یا ... بپرسید سریعتر جواب میگیرید(که این چی بوده که اینطوری شده
--------------------
نمیخواد
بذارید


if LName<>FLAYOUT then

ByRoad
چهارشنبه 05 مهر 1385, 10:33 صبح
ممنونم کدشو دستکاری کردم اینجوری هم شد


procedure SetFarsi;
var
LName:pchar;
begin
getmem(LName,30);
GetKeyboardLayoutName(LName);
ShowMessage(LName);
If LName<>'00000429' then
Activatekeyboardlayout(HKL_NEXT,KLF_REORDER);
end;

procedure SetEnglish;
var
LName:pchar;
begin
getmem(LName,30);
GetKeyboardLayoutName(LName);
ShowMessage(LName);
If LName<>'00000409' then
Activatekeyboardlayout(HKL_NEXT,KLF_REORDER);
end;