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

نام تاپیک: encoding ANSI

  1. #1

    encoding ANSI

    با سلام
    تبدیل یک فایل txt به کد پیج ansi (مانند کاری که notepad انجام میده ) آیا در VFP امکان پذیره .
    یک فایل txt داریم که وقتی تو vfp باز میشه متن فارسی رو درست نشان نمیده ولی وقتی با notepad اون رو باز می کنیم و با encoding ansi ذخیره می کنیم مشکل نمایش تو vfp حل میشه.

  2. #2

    نقل قول: encoding ANSI

    نقل قول نوشته شده توسط barnamenevis76 مشاهده تاپیک
    با سلام
    تبدیل یک فایل txt به کد پیج ansi (مانند کاری که notepad انجام میده ) آیا در VFP امکان پذیره .
    یک فایل txt داریم که وقتی تو vfp باز میشه متن فارسی رو درست نشان نمیده ولی وقتی با notepad اون رو باز می کنیم و با encoding ansi ذخیره می کنیم مشکل نمایش تو vfp حل میشه.
    اگر تکست فایل تون خروجی یک بانک اطلاعاتی که می تونید با دستور CPCONVERT خروجی code page را تغییر بدید!
    اگر هم که یک فایل متنی ساده فارسی هست که اگر بخواهید تو وی فاکس برنامه ای بنویسید که بایت های 8بیتی را از 128 کاراکتر به 256 کاراکتر تبدیل کنه! شدنی اما یکم سخت میشه!
    اگر حتما نمی خواهید که داخل برنامه خودتون باشه که از Convertor های آماده استفاده کنید

  3. #3

    نقل قول: encoding ANSI

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    اگر تکست فایل تون خروجی یک بانک اطلاعاتی که می تونید با دستور CPCONVERT خروجی code page را تغییر بدید!
    اگر هم که یک فایل متنی ساده فارسی هست که اگر بخواهید تو وی فاکس برنامه ای بنویسید که بایت های 8بیتی را از 128 کاراکتر به 256 کاراکتر تبدیل کنه! شدنی اما یکم سخت میشه!
    اگر حتما نمی خواهید که داخل برنامه خودتون باشه که از Convertor های آماده استفاده کنید
    ممنون از شما .
    مشکل من حل شد . البته با شئی word !


    strSrcFile = "c:\utf8.txt"
    strDstFile = "c:\ansi.txt"
    strFind = "~"
    strReplace = ","
    objWord = CreateObject("Word.Application")
    RC = objWord.Documents.Open(strSrcFile)


    objWord.Selection.Find.Text = strFind
    objWord.Selection.Find.Replacement.Text = strReplace
    objWord.Selection.Find.Forward = 1
    objWord.Selection.Find.Format = 0
    objWord.Selection.Find.MatchCase = 0
    objWord.Selection.Find.MatchWholeWord = 0
    objWord.Selection.Find.MatchWildcards = 0
    objWord.Selection.Find.MatchSoundsLike = 0
    objWord.Selection.Find.MatchAllWordForms = 0


    RC = objWord.ActiveDocument.SaveAs(strDstFile,2)
    RC = objWord.Application.Quit


    آخرین ویرایش به وسیله barnamenevis76 : یک شنبه 07 بهمن 1397 در 13:20 عصر

  4. #4

    نقل قول: encoding ANSI

    نقل قول نوشته شده توسط barnamenevis76 مشاهده تاپیک
    ممنون از شما .
    مشکل من حل شد . البته با شئی word !


    strSrcFile = "c:\utf8.txt"
    strDstFile = "c:\ansi.txt"
    strFind = "~"
    strReplace = ","
    objWord = CreateObject("Word.Application")
    RC = objWord.Documents.Open(strSrcFile)


    objWord.Selection.Find.Text = strFind
    objWord.Selection.Find.Replacement.Text = strReplace
    objWord.Selection.Find.Forward = 1
    objWord.Selection.Find.Format = 0
    objWord.Selection.Find.MatchCase = 0
    objWord.Selection.Find.MatchWholeWord = 0
    objWord.Selection.Find.MatchWildcards = 0
    objWord.Selection.Find.MatchSoundsLike = 0
    objWord.Selection.Find.MatchAllWordForms = 0


    RC = objWord.ActiveDocument.SaveAs(strDstFile,2)
    RC = objWord.Application.Quit


    البته این روش یک بدی داره! اگر شی COM آفیس WORD در دسترس نباشه! برنامه تون از کار میوفته!
    چون سالها قبل همچنین کاری کرده بودیم برای دریافت از اکسل و از شی اکسل آبجکت ساخته بودیم بعدها در نسخه های ویندوز بالاتر و آفیس های به روز برنامه کار نمیکرد!
    به نظرم موقتا شاید تاثیر مثبتی داشته باشه کاری کردید ولی مطمنا در طولانی مدت قابل نگهداری نیست و وابستگی بسیار زیادی ایجاد کردید بهتره روی یک کانورتور ساده با یک زبان مثل سی پلاس پلاس فکر کنید به راحتی DLL کنید واستفاده کنید خیلی هم قابلیت نگهداری نرم افزار را بالا بردید

  5. #5

    نقل قول: encoding ANSI

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    البته این روش یک بدی داره! اگر شی COM آفیس WORD در دسترس نباشه! برنامه تون از کار میوفته!
    چون سالها قبل همچنین کاری کرده بودیم برای دریافت از اکسل و از شی اکسل آبجکت ساخته بودیم بعدها در نسخه های ویندوز بالاتر و آفیس های به روز برنامه کار نمیکرد!
    به نظرم موقتا شاید تاثیر مثبتی داشته باشه کاری کردید ولی مطمنا در طولانی مدت قابل نگهداری نیست و وابستگی بسیار زیادی ایجاد کردید بهتره روی یک کانورتور ساده با یک زبان مثل سی پلاس پلاس فکر کنید به راحتی DLL کنید واستفاده کنید خیلی هم قابلیت نگهداری نرم افزار را بالا بردید
    خدا خیرتون بده .ممنون از راهنماییتون و هشداری که دادید .
    منظورتون از شی com رو متوجه نشدم .
    برنامه ای که دارم کارم می کنم با فایلهای docx هم سروکار داره و قاعدتا همیشه باید office روی کلایت نصب شده باشه .
    با دستور (STRCONV(cExpression, 11 هم تست کردم و جواب داد.

    11 Converts UTF-8 characters in cExpression to double-byte characters.

    gnFileHandle = FOPEN("c:\utf8.txt")
    nSize = FSEEK(gnFileHandle, 0, 2)
    = FSEEK(gnFileHandle, 0, 0)
    cString = FREAD(gnFileHandle, nSize)
    = FCLOSE(gnFileHandle)
    p1=strconv(cString,11)
    gnErrFile = FCREATE('c:\ansi.txt')
    =FWRITE(gnErrFile,p1)
    =FCLOSE(gnErrFile)
    آخرین ویرایش به وسیله barnamenevis76 : دوشنبه 08 بهمن 1397 در 09:55 صبح

  6. #6

    نقل قول: encoding ANSI

    منظورتون از شی com رو متوجه نشدم .
    COM تکنولوژی قدیمی تر از NET. مایکروسافت بود! و به این علت که وی فاکس هم با همین تکنولوژی کار میکرد. بنابراین می تونست با کتابخانه هایی که با COM توسعه داده می شدند را استفاده کنه! مثل Active-X , DLL , .... هایی که اغلب با زبان ویژوال سی نوشته می شدند.!
    با دستور (STRCONV(cExpression, 11 هم تست کردم و جواب داد.
    به نظر من این روش خیلی امن تر هست و وابستگی به کتابخانه های آفیس را هم نخواهد داشت.
    و البته چون با توابع سطح پایین C فایل را باز میکنید. معمولا روی تمام معماری های پردازش گرها نباید مشکلی داشته باشید.
    نکته ای که وجود داره! همانطور که عرض کردم به علت اینکه از توابع سطح پایین استفاده کردید بنابراین اگر به هر علتی تا قبل از دستور fclose شما خطایی رخ بده! و چون مدیریت خطا را انجام ندادید فایلی که باز شده دیگه بسته نخواهد شد!
    بنابراین بهتره که حتما مدیریت خطا ها را انجام بدید حالا یا با Try...Catch ویا با بلاک های شرطی

تاپیک های مشابه

  1. سوال: تبدیل ANSI به UTF-8 Without BOM
    نوشته شده توسط mamali-mohammad در بخش PHP
    پاسخ: 3
    آخرین پست: شنبه 29 تیر 1392, 15:48 عصر
  2. پاسخ: 1
    آخرین پست: شنبه 05 فروردین 1391, 15:16 عصر
  3. سوال: تبدیل ansi به utf-8
    نوشته شده توسط MAZAHER70 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 01 آذر 1390, 05:08 صبح
  4. سوال: اضافه کردن encoding ANSI به C#‎
    نوشته شده توسط sara123456 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: یک شنبه 01 خرداد 1390, 16:13 عصر

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

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