ورود

View Full Version : نحوه تبدیل جملات فارسی از Dos به Windows



mehdi_moosavi
شنبه 16 آبان 1383, 22:31 عصر
با سلام و احترام به دوستان
همونطور که میدونید اگه یک دیتابیس فاکس پرو که با فونتهای ایران سیستم داخل اون فارسی نوشته شده رو بوسیله یک تیبل در محیط دلفی باز کنیم نوشته های فارسی اون بصورت کاراکترهای نامشخص دیده میشن.
آیا دوستان Function ی دارن که بشه بوسیله اون، نوشته های فارسی نامشخص رو در محیط دلفی به جملات درست فارسی تبدیل کرد؟
با تشکر

Delphi KDE
یک شنبه 17 آبان 1383, 01:55 صبح
اگر یه سرچ کوچیک توی همین سایت بکنی حتما پیدا میکنی قبلا مطرح شده

MiRHaDi
یک شنبه 17 آبان 1383, 19:14 عصر
سلام
من تو سایت فانکشن ندیدم ( یک جا دیدم گفته بود میفرستم ولی فرستاده شدشو ندیدم )
ولی برنامه تبدیلش رو دو تا دیدم هم تحت داس هم وین
اگه سورس دیدید اگه میشه لینکشو بدید مرسی
بای

mehdi_moosavi
دوشنبه 18 آبان 1383, 01:56 صبح
سلام دوست عزیز جناب delphi kde
با تشکر از کمک شما، فانکشنی رو که لازم داشتم بوسیله جستجو در آدرس زیر پیدا کردم:

http://www.barnamenevis.org/forum/viewtopic.php?t=4934&highlight=dos

فقط یه اشکال کوچیک هست :
وقتی یک حرف فارسی بین چند عدد وارد میشه ( مثلا مثل شماره ماشین 544ب31) ،
در یک دی بی گرید و یا در fast report هنگام گزارشگیری، حرف فارسی به سمت راست عددها منتقل میشه:
( ب31544)
و به این ترتیب شکل صحیح اطلاعات از بین میره بنظر شما ( وبقیه دوستان ) این مشکل رو باید چطور بر طرف کنم؟
بازم متشکرم

mehdi_moosavi
دوشنبه 18 آبان 1383, 20:02 عصر
دوستان نظری ندارن؟
خواهش می کنم کمک کنید
با تشکر

moradi_am
سه شنبه 19 آبان 1383, 08:08 صبح
اینجا هم سری بزنید من یک مبدل تحت فاکس ضمیمه کرده ام:
http://www.barnamenevis.org/forum/viewtopic.php?t=2998

houshang.karami
یک شنبه 27 آذر 1384, 10:47 صبح
با سلام
می توانید از برنامه ای که من نوشتم استفاده کنید این برنامه اطلاعات شما را از بانک اطلاعاتی تحت داس مثل فاکس پرو و پارادوکس و فایل های متنی و فایل های CSV به ویندوز تبدیل می کند در ضمن برنامه عکس این حالت را نیز انجام می دهد
برنامه روی ترکیب حروف با اعداد و حروف انگلیسی هوشمند عمل می کند و سرعت بسیار خوبی هم دارد.
برای دانلود برنامه می توانید به لینک زیر مراجعه کنید
http://helia2000.tripod.com/index_files/Page944.htm

ali_divsalar
یک شنبه 27 آذر 1384, 14:01 عصر
Function ConvIran(TheStr:String):String;
Var I,J:Integer;
TResult,LeftToRight:String;
ch:Char;
ChCode:Integer;
Find_:Integer;
Begin
TResult:='';
If Length(Trim(TheStr))=0 Then
Begin
ConvIran:='-';
Exit;
End;
I:=1;
While I<=Length(TheStr) Do
Begin
Find_:=Length(TResult);
LeftToRight:='';
Ch :=TheStr[I];
case Ch Of
'€' : TResult:=TResult+'0';
'': TResult:=TResult+'1';
'‚': TResult:=TResult+'2';
'ƒ': TResult:=TResult+'3';
'„': TResult:=TResult+'4';
'…': TResult:=TResult+'5';
'†': TResult:=TResult+'6';
'‡': TResult:=TResult+'7';
'ˆ': TResult:=TResult+'8';
'‰': TResult:=TResult+'9';
'': TResult:=TResult+'&Acirc;';
'Ž': TResult:=TResult+'&Acirc; ';
'': TResult:=TResult+' ';
'': TResult:=TResult+'&Ccedil;';
'‘': TResult:=TResult+'&Ccedil; ';
'’': TResult:=TResult+' ';
'“': TResult:=TResult+'&Egrave;';
'”': TResult:=TResult+'&Ccedil; ';
//
'—': TResult:=TResult+'&Ecirc;';
'–': TResult:=TResult+'&Ecirc; ';
'•': TResult:=TResult+'';
'˜': TResult:=TResult+' ';
//
'™': TResult:=TResult+'&Ecirc;';//
'š': TResult:=TResult+'&Euml; ';
'›': TResult:=TResult+'&Igrave;';
'œ': TResult:=TResult+'&Igrave; ';
'': TResult:=TResult+'';
'ž': TResult:=TResult+'&Iacute; ';
'Ÿ': TResult:=TResult+'&Iacute;';
'*': TResult:=TResult+'&Iacute; ';
'&iexcl;': TResult:=TResult+'&Icirc;';
'¢': TResult:=TResult+'&Iuml;';
'£': TResult:=TResult+'&Iuml;';
'¤': TResult:=TResult+'&Ntilde;';
'¥': TResult:=TResult+'&Ograve;';
'¦': TResult:=TResult+'Ž';
'§': TResult:=TResult+'&Oacute; ';
'¨': TResult:=TResult+'&Oacute;';
'©': TResult:=TResult+'&Ocirc; ';
'&ordf;': TResult:=TResult+'&Ocirc;';
'«': TResult:=TResult+'&Otilde; ';
'¬': TResult:=TResult+'&Otilde;';
'*': TResult:=TResult+'&Ouml; ';
'®': TResult:=TResult+'&Ouml;';
'¯': TResult:=TResult+'&Oslash;';
'à': TResult:=TResult+'&Ugrave;';
'&aacute;': TResult:=TResult+'&Uacute; ';
'â': TResult:=TResult+'&Uacute; ';
'&atilde;': TResult:=TResult+'&Uacute;';
'&auml;': TResult:=TResult+'&Uacute;';
'&aring;': TResult:=TResult+'&Ucirc; ';
'&aelig;': TResult:=TResult+'&Ucirc; ';
'ç': TResult:=TResult+'&Ucirc;';
'è': TResult:=TResult+'&Ucirc;';
'é': TResult:=TResult+'&Yacute; ';
'ê': TResult:=TResult+'&Yacute;';
'ë': TResult:=TResult+'&THORN; ';
'&igrave;': TResult:=TResult+'&THORN;';
'&iacute;': TResult:=TResult+'˜ ';
'î': TResult:=TResult+'˜';
'ï': TResult:=TResult+' ';
'&eth;': TResult:=TResult+'';
'&ntilde;': TResult:=TResult+'&aacute; ';
'&ograve;': TResult:=TResult+'&aacute;&Ccedil;';
'&oacute;': TResult:=TResult+'&aacute;';
'ô': TResult:=TResult+'&atilde; ';
'&otilde;': TResult:=TResult+'&atilde;';
'&ouml;': TResult:=TResult+'&auml; ';
'÷': TResult:=TResult+'&auml;';
'&oslash;': TResult:=TResult+'&aelig;';
'ù': TResult:=TResult+'&aring; ';
'&uacute;': TResult:=TResult+'&aring;';
'û': TResult:=TResult+'&aring;';
'ü': TResult:=TResult+'&iacute; ';
'&yacute;': TResult:=TResult+'&iacute; ';
'&thorn;': TResult:=TResult+'&iacute;';
'‹': TResult:=TResult+'-';
End;
If Find_=Length(TResult) Then
Begin
If LatinOrNum(Ch)=True Then
Begin
While (LatinOrNum(Ch)=True) AND (I<=Length(TheStr)) Do
Begin
LeftToRight:=Ch+LeftToRight;
Ch:=TheStr[I];
I:=I+1;
End;
LeftToRight:=TResult+LeftToRight;
End
Else
Begin
I:=I+1;
TResult:=TResult+Ch;
End;
End
Else
I:=I+1;
End;
ConvIran:=TResult;
End;
//-----------------------------
ConvIran(ReverseString(Trim(;DosString));
علی.

Mahdi_S_T
جمعه 02 دی 1384, 08:55 صبح
قبلا هم یکی از دوستان یه تابع گذاشته بود که خیلی تعریفشو می کرد ولی وقته تست کردم اصلا کار نمی کرد
نمی دونم این آقای کریمی امکان اریه توابع رو داره یا نه ؟ چون من یه برنامه دارم که یه قسمت اون کار تبدیل رو به صورت اتوماتیک انجام میده و امکان این که کاربر بخواد با یه برنامه دیگه کار کنه نیست

Mahdi_S_T
جمعه 02 دی 1384, 19:53 عصر
من این تابع رو در محیط دلفی وارد کردم ولی کار نمی کنه و برای بعضی از کارکترهای داخل تابع علامت سوال میزاره اگه امکان داره یه نمونه برنامه Demo بذار. ممنون

یاسر احسانی
جمعه 02 دی 1384, 20:12 عصر
من یه برنامه برای این کار نوشتم کارشم خیلی خوبه - من جدیدا انو برای نرم افزار سپاه امتحان کردم . این نرم افزار بیش از 20.000 رکورد توش بود که این برنامه تونست ظرف مدت 1 ساعت تمام اطلاعات رو برگردونه .

همچنین علاوه بر این ، این نرم افزار فایلی را برای شما تحویل می دهد که شما به راحتی و با توضیحات نرم افزار قادر خواهید بود آن را به بانک های تحت ویندوز (Sql Server 2000 , Access , ... ) تبدیل نمایید .

در صورتی که مایل به خرید نرم افزار هستید با من تماس بگیرید .
GMail : Ehsani1362@gmail.com

Mahdi_S_T
یک شنبه 04 دی 1384, 09:50 صبح
جالبه اینجا شده تبلیغات نرم افزار و هیچ کس حاضر به کمک نیست !

moradi_am
یک شنبه 04 دی 1384, 19:24 عصر
این تابع ضمیمه را هم امتحان کنید من استفاده کرده ام جواب داده است

Mahdi_S_T
سه شنبه 06 دی 1384, 10:43 صبح
آقای مرادی ممنون . ولی من تست کردم و خیلی Error میداد اگه ممکنه یه Sample هم آپلود کنید ( یا برام میل کنید در صورت امکان ) با تشکر