PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با کاراکتر های ک و ی در سورت اکسس



javad_rajabloo
20 / July / 2013, 05:43 AM
سلام
من یه برنامه نوشتم که می خوام بر اساس نام خانوادگی*مرتب کنم

بانکم هم اکسس 2007 هستش

بعد از اعمال این کد :
select * from Table order by family

نام خانوادگی هایی که با ک شروع میشن بعد از*نام خانوادگی هایی که با ی شروع میشن میان

ممنون میشم راهنمایی کنین

admin
20 / July / 2013, 11:04 PM
سلام.تنها راه حل این مشکل استفاده از کیبرد عربی می باشد.
یعنی به جای استفاده از کیبرد فارسی ، کیبرد عربی رو برای این حروف استفاده کنیم.ضمنا تو حروف "و" و "ه" هم این مشکل رو داریم.میتونید یه تابع بنویسید که این حروف را به معادل عربی اشون تبدیل کنه(با استفاده از کد اسکی و رویداد OnChange)
تو عکس زیر میتونید ببینید که من با استفاده از کیبرد عربی هیچ مشکلی با این ها ندارم.
<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span> (<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>)

javad_rajabloo
21 / July / 2013, 03:44 AM
تابعش رو میدید منم استفاده کنم؟
ممنون میشم.

b_itman_b
22 / July / 2013, 07:01 PM
سلام.با اجازه مدیر جون.
مهندس تابع خاصی نداره کافی موقع ورود اطلاعات مثلا در رویداد* Onchange نام خانوادگی یه شرط بزاری.البته نظره شخصی من استفاده از رویداد Onkeypress هست و نمیدونم با onChange چه طوری میشه.ولی تو رویداد Onkeypress کافی تعریف کنی :
کد:


if key=#X tehn Key:=#Y

که X کد اسکی کاراکتر &quot;ک&quot; و Y برابر با کد اسکی معادل عربی اون هست حالا واسه حروف دیگه هم که یه OR مشکل رو حل میکنه.

admin
22 / July / 2013, 08:21 PM
سلام دوستان.
مدیر b_itman_b (<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>)
حرف شما متین ولی این کد رو تست کنید و متوجه بشید که کد اسکی تمامی حروفی که از هر key میاد با هم برابره :
کد:


*
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
*Shift: TShiftState);
begin
* ShowMessage(Chr(Key)+&quot; - &quot;+IntToStr(Key));
end;



تابعی که کاربر***javad_rajabloo (<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>)* خواسته بودند رو هم تقدیم میکنم :
کد:


*
* *
Function persian(key:Char):Char;
begin

if (Key=&quot;ي&quot;)then
begin
key:= &quot;ي&quot;;
end;

if (Key=&quot;ک&quot;)then
begin
key:= &quot;ك&quot;;
end;
if (Key=&quot;ه&quot;)then
begin
key:= &quot;ه&quot;;
end;

if (Key=&quot;و&quot;)then
begin
key:= &quot;و&quot;;
end;
* persian:=key;
end;



*
و طریقه ی استفاده اش هم اینه :
کد:



procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
key :=persian(key);
end;

b_itman_b
28 / July / 2013, 06:00 PM
سلا.مدیر جون؟؟؟؟؟
شما بجای x بزن 1740 و بجای y بزن 1610 و کد رو امتحان کن.
البته کد شما هم درسته ولی اشکال از دلفی هست که نمیتونه تو دستوری که دادی(. . .show messege) فرق بین فارسی و انگلیسی رو درک کنه.
1740 کد اسکی کاراکتر &quot;ي&quot; و 1610 کد اسکی کاراکتر &quot;ی&quot; هست.

admin
29 / July / 2013, 02:27 AM
سلام مهندس b_itman_b (<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>)*.
خسته نباشید.
این کدی که شما گفتید کد اسکی نیست و* UNICODE هستش.کد اسکی نهایتا 8 بیت یعنی 256 کاراکتر رو ساپورت میکنه که 128 تای اون رسمی و مستنده و بقیه اش در هر کشور و زبان سلیقه ای بوجود میاد ...
ضمنا دلفی 7 از UNICODE* پشتیبانی نمیکنه... احتمالا شما نسخه ی بالاتری رو استفاده میکنید . درسته ؟

b_itman_b
30 / July / 2013, 04:39 AM
سلام.درسته فرمودید مدیر جون.با XE2 بود نه دلفی 7.
ممنون.