نمایش نتایج 1 تا 18 از 18

نام تاپیک: مشکل تبدیل کارکتر اعداد فارس داس به ویندوز

  1. #1

    مشکل تبدیل کارکتر اعداد فارس داس به ویندوز

    من TABLE هائی از نوع فاکس پرو دارم که حاوی اطلاعاتی است از نوع فارس تحت داس من درصدد بودم برنامه ای با C#‎ بنویسم که این اطلاعات را بخوانم و UPDATE کنم برای اینکار باید اطلاعات را اول به کدهای ویندوز تبدیل کنم و عمل ویرایش را انجام بدم و سپس انها را به کارکتر کد داس دوباره تبدیل کنم و در فایلهای مذکور بنویسم ولی وقتی من TABLE های فاکسپرو را میخوانم کدهای ASCII اعداد ناخودآگاه به کدهائی غیر از کدهای ASCCI تحت داس تبدیل میشه .

  2. #2
    من کدش رو قبلا نوشتم و دارم. اگه می خواهید Email بدید براتون بفرستم.
    اگه می خواهید خودتون انجام بدید ، تا راهنماییتون کنم

  3. #3
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    برای اعداد نباید مشکلی باشه.
    اگر هم مشکلی دارید تو بخش Foxpro بگردی یکی از دوستان کدش رو نوشته به راحتی میتونی به #C تبدیلش کنی.

  4. #4
    کاربر دائمی آواتار ARA
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Bad Sector
    پست
    448
    میتونی ازنرم افزار sepand استفاده کنی و کد اسکی اون کاراکتر ها را تو محیط dos با استفاده از کامپایلر های c یا pascal ببینی

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629
    با سلام
    در پروژه‌اى لازم شد همین کار رو بکنیم. نفر FoxPro کار تمام اطلاعات را گزارش گرفت و به صورت Text به ما داد. من هم برنامه‌اى نوشتم که این فایل‌هاى Text رو بریزه تو جدول‌هاى SQL البته به صورت موقتى. یعنى براى هر جدول که به صورت یک گزارش تحویل گرفته بودیمش یک جدول متناسب تو SQL ساختم و اطلاعات رو بعد از Convert ریختم تو جدول SQL و بعد دیگه تبدیل ساختار راحت بود چون همه اطلاعات رو تو SQL داشتیم.
    مشکل اصلى تبدیل متن فارسى ایران سیستم بود که دو تا نکته داره اول این که کل متن رو نباید Convert کنى یعنى از فایل Text قسمت فارسى ( ایران سیستم ) رو استخراج کن و فیلد به فیلد Convert رو انجام بده و نکته دوم هم اینه که از یه Convertor خوب استفاده کن. من توابعى براى این کار نوشتم که تو تالار VB فرستادم ( البته به #C هست ) اگه به دردت مى‌خوره اونجا پیداش مى‌کنى.

    صبا صبوحى

  6. #6
    کاربر دائمی آواتار ARA
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Bad Sector
    پست
    448

    Cool

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    با سلام
    در پروژه‌اى لازم شد همین کار رو بکنیم. نفر FoxPro کار تمام اطلاعات را گزارش گرفت و به صورت Text به ما داد.
    صبا صبوحى
    به راحتی میتونی با odbc به یک فایل dbf فاکس پرو وصل بشی

  7. #7

    توضیح بیشتر

    دوستان گرامی من مشکلی در رابطه با قرائت فایلها ندارم من در حقیقت درصدد هستم تابعی بنویسم که بتواند کارکترهای فارس داس را به ویندوز و بالعکس تبدیل کنه یعنی بتوان بدون تغییرات کارکتر کد قبلی داس برنامه های تحت ویندوز نوشت که هم اطلاعات ببینیم یا در آن تغییرات لازم را بدهیم

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629
    نقل قول نوشته شده توسط ARA مشاهده تاپیک
    به راحتی میتونی با odbc به یک فایل dbf فاکس پرو وصل بشی
    با سلام
    خوب من این رو بلد نبودم و نمى‌خواستم درگیر Fox بشم ضمن این که ساختار پایگاه داده‌ى موجود در Fox رو هم نمى‌شناختم. اما از راهنمایى شما سپاس‌گزارم.

    نقل قول نوشته شده توسط m_hp98 مشاهده تاپیک
    دوستان گرامی من مشکلی در رابطه با قرائت فایلها ندارم من در حقیقت درصدد هستم تابعی بنویسم که بتواند کارکترهای فارس داس را به ویندوز و بالعکس تبدیل کنه یعنی بتوان بدون تغییرات کارکتر کد قبلی داس برنامه های تحت ویندوز نوشت که هم اطلاعات ببینیم یا در آن تغییرات لازم را بدهیم
    چرا توابع من رو امتحان نمى‌کنید؟ شاید مشکلتون رو حل کنه. ( تو انجمن VB جستجو کنید )

    صبا صبوحى

  9. #9
    بعد از اینکه فارسی ساز را در محیط Dos اجرا کردید ، برنامه Foxpro را اجرا کنید . در منوی System گزینه Ascii chart رو انتخاب کنید. در جدولی که نمایش داده میشه کدهای اسکی کلیه حروف را میتونید داشته باشید. چه فارسی و چه انگلیسی. چیزی که قابل اهمیت هست اینهست که در اینجا دو نمونه عدد داریم. یعنی کد اسکی اعدادی که در فیلدهایی از نوع عددی مانند integer قراردارند با کد اسکی اعدادی که در فیلدهای متنی قرار دارند متفاوت هست.

    خب و اما روش کار :
    کافیه که تک تک کاراکترها رو بدست بیاورید و با یک Switch پس از بررسی کد اسکی آن ، کد اسکی مورد نظر در ویندوز را برگردانید.

    مشکل کار در حروفی است چند حالتی هستند مثل ب آخر تنها و ب اول چسبان یا ک گ ل م ق ث و غیره. چراکه Dos برای هرکدام از این حالتها یک کد اسکی دارد. یعنی برای مثال کد اسکی حرف 'ب' در دو کلمه "با" , "آب" متفاوت هست.

    برای تبدیل Dos به Windows کار خیلی راحت هست چرا که برای هر دو یا سه حالت حرف در dos ، فقط یک حالت در Windows وجود دارد یعنی اگه ب آخر تنها باش و یا ب اول چسبان کلا حرف ب را در Switch برمیگردانیم . ولی برای تبدیل Win یه Dos اینجوری نیست. باید تشخیص بدیم که ب مورد نظر کدام هست و سپس کد اسکی مربوط به آنرا برگردانیم.

    امیدوارم متوجه شده باشید. من این کد رو در ++C نوشتم و براتون میزارم. خدا کنه بدردتون بخوره. اگه هم نتونستید ازش استفاده کنید ، سعی میکنم کمکتون کنم تا بنویسیدش.

  10. #10
    این متد برای تبدیل Dos به Win هست که یک Char میگیره و یک Char برمیگردونه. فقط من نام فارسی سازش یادم نمیاد. از روش بالا چک کنید ببینید کدهای اسکی فارسی Foxpro شما بعد از اجرای فارسی ساز با کدهای اسکی موجود در کد زیر یکی هست یا خیر. در صورت لزوم میتونید کدهای اسکی را خودتون به راحتی عوض کنید.

    مرحله بعد یعنی تبدیل Win به Dos خیلی کار داره. اول این و پیاده سازی کنید. وقتی جواب گرفتید بگید تا برا تون دومی را بفرسم.

    String con(char s)
    {
    Byte x=s;
    switch (x)
    {
    case 32:return ' ';
    case 40:return ')';
    case 41:return '(';

    case 48:return '0';
    case 59:return '1';
    case 50:return '2';
    case 51:return '3';
    case 52:return '4';
    case 53:return '5';
    case 54:return '6';
    case 55:return '7';
    case 56:return '8';
    case 57:return '9';

    case 128:return '0';
    case 129:return '1';
    case 130:return '2';
    case 131:return '3';
    case 132:return '4';
    case 133:return '5';
    case 134:return '6';
    case 135:return '7';
    case 136:return '8';
    case 137:return '9';
    case 138:return ',';
    case 139:return '-';
    case 140:return '?';

    case 141:return 'آ';
    case 142:return 'ئ';
    case 143:return 'ء';
    case 144:return 'ا';
    case 145:return 'ا';
    case 146:return 'ب';
    case 147:return 'ب';
    case 148:return 'پ';
    case 149:return 'پ';
    case 150:return 'ت';
    case 151:return 'ت';
    case 152:return 'ث';
    case 153:return 'ث';
    case 154:return 'ج';
    case 155:return 'ج';
    case 156:return 'چ';
    case 157:return 'چ';
    case 158:return 'ح';
    case 159:return 'ح';
    case 160:return 'خ';
    case 161:return 'خ';
    case 162:return 'د';
    case 163:return 'ذ';
    case 164:return 'ر';
    case 165:return 'ز';
    case 166:return 'ژ';
    case 167:return 'س';
    case 168:return 'س';
    case 169:return 'ش';
    case 170:return 'ش';
    case 171:return 'ص';
    case 172:return 'ص';
    case 173:return 'ض';
    case 174:return 'ض';
    case 175:return 'ط';
    case 224:return 'ظ';
    case 225:return 'ع';
    case 226:return 'ع';
    case 227:return 'ع';
    case 228:return 'ع';
    case 229:return 'غ';
    case 230:return 'غ';
    case 231:return 'غ';
    case 232:return 'غ';
    case 233:return 'ف';
    case 234:return 'ف';
    case 235:return 'ق';
    case 236:return 'ق';
    case 237:return 'ک';
    case 238:return 'ک';
    case 239:return 'گ';
    case 240:return 'گ';
    case 241:return 'ل';
    case 242:return "لا";
    case 243:return 'ل';
    case 244:return 'م';
    case 245:return 'م';
    case 246:return 'ن';
    case 247:return 'ن';
    case 248:return 'و';
    case 249:return 'ه';
    case 250:return 'ه';
    case 251:return 'ه';
    case 252:return 'ی';
    case 253:return 'ی';
    case 254:return 'ی';
    default :
    return String(char(x));
    }
    }

  11. #11
    میشه تابع تبدیل رشته به داس رو اینجا بزارین؟
    میدونین که در تبدیل کاراکترهای ویندوز به داس نمیشه یک کاراکتر رو به تنهایی تبدیل کرد . چون باید تشخیص بدین که کاراکتر آخر کلمه هست یا اول یا کاراکتر میانی هست.
    من یه تابع دارم که یک کاراکتر رو به کاراکتر تحت داس تبدیل میکنه.
    اینو نمی تونم استفاده کنم.
    آخه همه حروف رو بزرگ میزنه. مثلا بجای جمله "سلام رضا" مینویسه "س ل ا م ر ض ا"
    میشه کمکم کنید.

  12. #12
    کاربر جدید
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    ایلام
    پست
    1
    دوست عزیز
    ممنون میشم این مثال رابرای دلفی نیزارائه دهید.
    ازویندوز به داس وبالعکس

  13. #13
    با سلام
    من TABLE هائی از نوع فاکس پرو دارم که حاوی اطلاعاتی است از نوع فارسی (ایران سیستم) تحت داس من درصدد بودم برنامه ای با C#‎ بنویسم که این اطلاعات را بخوانم و UPDATE کنم .
    خواهشمندم چون جنابعالی این برنامه را دارید در صورت امکان این برنامه را برای من به آدرس ذیل ایمیل نمائید.
    SIFCO2@GMAIL.COM
    باتشکر

  14. #14

    Smile نقل قول: مشکل تبدیل کارکتر اعداد فارس داس به ویندوز

    از کدی که گذاشته بودی خیلی لذت بردم لطفا کد تبدیل Windows به Dos را هم بگذارید

  15. #15
    کاربر جدید
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اصفهان
    پست
    3

    نقل قول: مشکل تبدیل کارکتر اعداد فارس داس به ویندوز

    سلام HassanRazavi
    اگه ممکنه کمکم کن تابع تبدیل از ویندوز به داس رو بنویسم
    ایمیل من: anzerato@gmail.com

  16. #16

    نقل قول: مشکل تبدیل کارکتر اعداد فارس داس به ویندوز

    یه برنامه مبدل فارسی DOS که مشکلاتی مثل به هم ریختی و جابجا شدن رقمها و... نداره!!

    http://www.barnamenevis.org/sh...0&postcount=21

  17. #17

    نقل قول: مشکل تبدیل کارکتر اعداد فارس داس به ویندوز

    سلام
    من از اين برنامه استفاده كردم اما نميدونم چرا اعداد داخل جدول رو حذف كرده!فقط تيتر بالاي جدول و سرستونها رو برگردونده

  18. #18

    نقل قول: مشکل تبدیل کارکتر اعداد فارس داس به ویندوز

    سلام اين ايميل منه لطفا برنامه رو واسه من هم ميل كنيد . ممنون
    morteza.azad65@gmail.com

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •