View Full Version : [REQ] روتین ترجمه ورودی صفحه کلید به کلمات فارسی
Inprise
چهارشنبه 22 شهریور 1385, 22:05 عصر
سلام؛
از بین افرادی که تا بحال کامپوننتها یا روتینهائی برای دریافت ورودی صفحه کلید و بازسازی کلمات فارسی با چینش صحیح نوشته اند اگر کسی مایل هست همه با بخشی از کارش رو به اشتراک بگذاره به من کمک کرده .
توضیح بیشتر : منظور از این درخواست ؛ کامپوننتها یا روتینهائی است که ورودی کاربر رو دریافت میکنه و کدهای اسکن شده رو معادل حروف فارسی - سیستم فونت و انکدینگ اهمیتی نداره ، همین که منطق کد قابل استفاده مجدد باشه کافیه - صحیح و اونها رو هنگام تایپ به کلمات مناسب فارسی تبدیل کنه هست ، یعنی تغییر صحیح حروف بزرگ به حروف کوچک در صورت ورود حرف بعدی بصورت خودکار و ...الخ . کسانی که کامپوننت فارسی ، یا کدهائی برای تبدیل ورودی به یکی از انکدینگهای متداول یا قدیمی را نوشته اند قاعدتا" چنین کدی رو دارند . من برای بازسازی تصویری و نمایشی ورودی صفحه کلید کاربر به اندکدینگ اختصاصی به خصوصی به کدی مانند این که نوشتنش از ابتدا وقت زیادی میبره نیاز دارم .
مرسی .
Amir Lajevardi
پنج شنبه 23 شهریور 1385, 12:05 عصر
سلام
جناب Inprise من برنامه ای برای تبدیل کد اسکی کلیدهای ورودی به کد ایران سیستم نوشتم، که خودش با توجه به حروف قبلی تشخیص میده که حرف وارد شده به چه صورت باید نوشته بشه، اگر به کارتون میاد بفرمایید براتون ارسال میکنم.
vesal
جمعه 29 دی 1385, 00:56 صبح
سلام؛
از بین افرادی که تا بحال کامپوننتها یا روتینهائی برای دریافت ورودی صفحه کلید و بازسازی کلمات فارسی با چینش صحیح نوشته اند اگر کسی مایل هست همه با بخشی از کارش رو به اشتراک بگذاره به من کمک کرده .
توضیح بیشتر : منظور از این درخواست ؛ کامپوننتها یا روتینهائی است که ورودی کاربر رو دریافت میکنه و کدهای اسکن شده رو معادل حروف فارسی - سیستم فونت و انکدینگ اهمیتی نداره ، همین که منطق کد قابل استفاده مجدد باشه کافیه - صحیح و اونها رو هنگام تایپ به کلمات مناسب فارسی تبدیل کنه هست ، یعنی تغییر صحیح حروف بزرگ به حروف کوچک در صورت ورود حرف بعدی بصورت خودکار و ...الخ . کسانی که کامپوننت فارسی ، یا کدهائی برای تبدیل ورودی به یکی از انکدینگهای متداول یا قدیمی را نوشته اند قاعدتا" چنین کدی رو دارند . من برای بازسازی تصویری و نمایشی ورودی صفحه کلید کاربر به اندکدینگ اختصاصی به خصوصی به کدی مانند این که نوشتنش از ابتدا وقت زیادی میبره نیاز دارم .
مرسی .
از تاریخ این پست یه سه چهار ماهی میگذره!!! چون توضیح دادنش یه مقدار طولانیه میگم. یه ندا بده بنده هستم خدمتت
Inprise
شنبه 30 دی 1385, 21:05 عصر
من مشکلم رو خودم حل کردم ؛ سایرین هم اگر مایلند کمکی بکنند لازم نیست منتظر ندای کسی باشند ، از امکان ضمیمه کردن استفاده کنید تا اگر کسی احتیاج داشت استفاده کند .
حرفه ای
یک شنبه 01 بهمن 1385, 08:11 صبح
دوستان خوبم ! Inprise عزیز ! :قلب:
دو سه روز بود که سری به سایت نزده بودم /.
دوست خوبم از اینکه مشکلت حل شد خوشحالم /.
اما من در دو سه تا برنامه از تابعی که با کمک یکی از دوستانم نوشتم استفاده کردم و به راحتی فونتهای تحت داس را به ویندوز تبدیل می کنه امیدوارم به درد دوستان بخوره :خجالت:
Function DosToWinPersion(TableFields: String):String;
Var
I:Integer;
S,Str,Str2:String[255];
X:array[1..80] of byte;
Begin
S:=TableFields;
If S <> '' Then
Begin
For I:=1 To length(S) Do
X[I]:=ord(S[I]);
Str:='';
SetLength(Str,Length((S)));
I:=Length(S)+1;
While I > 1 Do
Begin
dec(i);
case x[length(S)-i+1] of
128:Str[i]:='0';
129:Str[i]:='1';
130:Str[i]:='2';
131:Str[i]:='3';
132:Str[i]:='4';
133:Str[i]:='5';
134:Str[i]:='6';
135:Str[i]:='7';
136:Str[i]:='8';
137:Str[i]:='9';
47:Str[i]:='/';
141:Str[i]:=Chr(199); {alef}
142:Str[i]:=Chr(198); {alef}
143:Str[i]:=Chr(193); {alef}
144:Str[i]:=Chr(199); {alef}
145:Str[i]:=Chr(199); {alef}
146:Str[i]:=Chr(200); {be}
147:Str[i]:=Chr(200); {be}
148:Str[i]:=Chr(129); {pe}
149:Str[i]:=Chr(129); {pe}
150:Str[i]:=Chr(202); {te}
151:Str[i]:=Chr(202); {te}
152:Str[i]:=Chr(203); {se}
153:Str[i]:=Chr(203); {se}
154:Str[i]:=Chr(204); {jim}
155:Str[i]:=Chr(204); {jim}
156:Str[i]:=Chr(141); {che}
157:Str[i]:=Chr(141); {che}
158:Str[i]:=Chr(205); {he}
159:Str[i]:=Chr(205); {he}
160:Str[i]:=Chr(206); {khe}
161:Str[i]:=Chr(206); {khe}
162:Str[i]:=Chr(207); {dal}
163:Str[i]:=Chr(208); {zal}
164:Str[i]:=Chr(209); {re}
165:Str[i]:=Chr(210); {ze}
166:Str[i]:=Chr(142); {gje}
167:Str[i]:=Chr(211); {sin}
168:Str[i]:=Chr(211); {sin}
169:Str[i]:=Chr(212); {chin}
170:Str[i]:=Chr(212); {chin}
171:Str[i]:=Chr(213); {sad}
172:Str[i]:=Chr(213); {sad}
173:Str[i]:=Chr(214); {zad}
174:Str[i]:=Chr(214); {zad}
175:Str[i]:=Chr(216); {ta}
224:Str[i]:=Chr(217); {za}
225:Str[i]:=Chr(218); {ain}
226:Str[i]:=Chr(218); {ain}
227:Str[i]:=Chr(218); {ain}
228:Str[i]:=Chr(218); {ain}
229:Str[i]:=Chr(219); {ghain}
230:Str[i]:=Chr(219); {ghain}
231:Str[i]:=Chr(219); {ghain}
232:Str[i]:=Chr(219); {ghain}
233:Str[i]:=Chr(221); {fe}
234:Str[i]:=Chr(221); {fe}
235:Str[i]:=Chr(222); {ghaf}
236:Str[i]:=Chr(222); {ghaf}
237:Str[i]:=Chr(223); {kaf}
238:Str[i]:=Chr(223); {kaf}
239:Str[i]:=Chr(144); {gaf}
240:Str[i]:=Chr(144); {gaf}
241:Str[i]:=Chr(225); {lam}
242:
Begin {lam}
Str[i+1]:=Chr(199);
Str[i]:=Chr(225);
Setlength(S,length(S)+1);
End;
243:Str[i]:=Chr(225); {lam}
244:Str[i]:=Chr(227); {mim}
245:Str[i]:=Chr(227); {mim}
246:Str[i]:=Chr(228); {non}
247:Str[i]:=Chr(228); {non}
248:Str[i]:=Chr(230); {vav}
249:Str[i]:=Chr(229); {he}
250:Str[i]:=Chr(229); {he}
251:Str[i]:=Chr(229); {he}
252:Str[i]:=Chr(237); {ye}
253:Str[i]:=Chr(237); {ye}
254:Str[i]:=Chr(237); {ye}
138:Str[i]:=Chr(145); {kama}
140:Str[i]:=Chr(191); {soal}
32:Str[i] :=Chr(32); {blank}
46:
Begin
If x[length(S)-i]=46 Then
Begin
Str[i+2]:=Chr(229);
Str[i+1]:=Chr(225);
Str[i]:=Chr(225);
Str[i-1] :=Chr(199);
Setlength(S,length(S)+1);
dec(i);
End;
End;
End;
End;
Setlength(Str,length(S));
Str2:='';
For i:=length(S) DownTo 1 do
Str2:=Str2+Str[i];
Result:=Str2;
End
Else
DosToWinPersion:=S;
End;
برای همه شما آروزی سعادت و بهروزی دارم :بوس:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.