PDA

View Full Version : تبدیل کد پیج ایران سیستم به یونیکد



ESG_Esfahan
یک شنبه 04 اسفند 1387, 11:11 صبح
سلام
یک سری فایل Iso دارم که از یک برنامه تحت داسه و کد پیج اطلاعاتش ایران سیستم است.
چطور میتونم با کد نویسی و از طریق برنامه خودم محتوای فایل را به کاراکترهای ویندوزی تبدیل کنم.
البته چند تا برنامه با دلفی و فاکس هست ولی من لازم دارم در برنامه خودم این کار را انجام بدم چون باید کاربر از این قسمت استفاده کنه؟
لطفا راهنمایی کیند:گریه::عصبانی++:
ممنون

ESG_Esfahan
چهارشنبه 07 اسفند 1387, 11:02 صبح
یعنی هیچ کسی تا حالا این مشکل را نداشته
کدش با دلفی در سایت هست ولی من نتونستم به سی شارپ تبدیلش کنم
لصفا راهنمایی کنید
ممنون

shaki_phd
چهارشنبه 07 اسفند 1387, 14:09 عصر
سلام
چه جالب منم اتفاقا دنبال همين قضيه هستم و ميخوام با سي شارپ بنويسم

ميشه لينك سورس دلفي رو به من بدي شايد بتونم يه چيزايي ازش در بيارم
ممنون

ESG_Esfahan
پنج شنبه 08 اسفند 1387, 23:41 عصر
سلام

یک برنامه به زبان دلفی که اینکار را انجام میده
و
دو یونیت دلفی که مخصوص همین کار نوشته شده اگه بشه dll کرد می تونیم در سی شارپ ازش استفاده کنیم.

این هم یک لینک در این موزد
http://www.barnamenevis.org/forum/showthread.php?t=33914

اگه نتیجه گرفتید بقیه را بی نصیب نگذارید

ESG_Esfahan
پنج شنبه 08 اسفند 1387, 23:51 عصر
یونیت دلفی

SabaSabouhi
شنبه 10 اسفند 1387, 13:15 عصر
سلام
من چند تا تابع خوب برای این کار نوشتم، تو تالار VB جستجو کن ( اونجا فرستادم ). تقریباً از تمام نمونه‌هایی که تا حالا دیدم به‌تر کار می‌کنه.

صبا صبوحی

پانوشت: به زبان #C هست، چون یه نفر اونجا خواسته بود به تالار VB فرستادم.

ESG_Esfahan
شنبه 10 اسفند 1387, 19:33 عصر
سلام
خیلی ممنون . کد شما را از سایت گرفتم ولی در اجرا مشکل داره. تصویر خطا را در زیر گذاشتم
لطف کنید اگه وقت دارین یه نگاهی بهش بندازین و یا راهنمایی کنید تا اگه تونستم خودم حلش کنم (مثلا بگین الگوریتم برنامتون چیه و چطور کار میکنه )
خیلی ممنون

SabaSabouhi
یک شنبه 11 اسفند 1387, 09:52 صبح
سلام
خیلی ممنون . کد شما را از سایت گرفتم ولی در اجرا مشکل داره. تصویر خطا را در زیر گذاشتم
لطف کنید اگه وقت دارین یه نگاهی بهش بندازین و یا راهنمایی کنید تا اگه تونستم خودم حلش کنم (مثلا بگین الگوریتم برنامتون چیه و چطور کار میکنه )
خیلی ممنون

با سلام
دلیلش اینه که c نباید از 256 بیشتر بشه، گمان می‌کنم با تبدیل متغیرهای a, c به ‌unsigned char مشکل حل بشه.

صبا صبوحی

پانوشت: Source اصلی به زبان C بوده که به #C تبدیل شده و مشکل به همین دلیل پیش اومده، من متن اصلی رو که دیدم این متغیرها int نبودن، unsigned char بودن.

shaki_phd
یک شنبه 11 اسفند 1387, 12:04 عصر
سلام من هر چي گشتم چيزي پيدا نكردم ميشه لينك آدرسش رو بديد به من
مرسي

ESG_Esfahan
یک شنبه 11 اسفند 1387, 12:11 عصر
سلام من هر چي گشتم چيزي پيدا نكردم ميشه لينك آدرسش رو بديد به من
مرسي

دنبال چی می گردین من که فایلهاش را همین جا گذاشتم.

ESG_Esfahan
یک شنبه 11 اسفند 1387, 12:13 عصر
خیلی ممنون از راهنمایی شما صبا صبوحی
من به جای int از byte استفاده کردم که معادل unsigned int است خطای برنامه بر طرف شد ولی خروجی برنامه قابل قبول نیست.البته باید برای اینکه برنامه ایراد نداشته باشه در چند جای برنامه باید type cast انجام بشه ( مثلا byte به char یا بلعکس) شاید مشکل از همین باشه.
یک سوال داشتم :شما خودتان قبلا از این کلاس استفاده کردین یا خیر؟
به هر حال از لطفا شما متشکرم

shaki_phd
یک شنبه 11 اسفند 1387, 12:25 عصر
سلام من منظورم فايلهاي SabaSabouhi هستش گويا شما هم پيدا كرديد ميشه اگه دارد به من بديد
مرسي

ESG_Esfahan
دوشنبه 12 اسفند 1387, 01:01 صبح
سلام
فایل را همین جا براتون گذاشتم

SabaSabouhi
دوشنبه 12 اسفند 1387, 09:36 صبح
خیلی ممنون از راهنمایی شما صبا صبوحی
من به جای int از byte استفاده کردم که معادل unsigned int است خطای برنامه بر طرف شد ولی خروجی برنامه قابل قبول نیست.البته باید برای اینکه برنامه ایراد نداشته باشه در چند جای برنامه باید type cast انجام بشه ( مثلا byte به char یا بلعکس) شاید مشکل از همین باشه.
یک سوال داشتم :شما خودتان قبلا از این کلاس استفاده کردین یا خیر؟
به هر حال از لطفا شما متشکرم

با سلام
بله استفاده کردم، اون موقعی که Windows 3.1 نسخه‌های سینا و صابرین و ... وجود داشتن این رو با Standard C نوشتم، بعد وقتی که Windows 98 اومد نهایی شد. خیلی هم روش کار کردم که نتیجه‌ش اینه. چند وقت پیش برای یک Convert بهش نیاز داشتم که مجبور شدم تبدیلش کنم به #C.
خروجی مطمئن باشید که باید قابل قبول باشه، شما حتماً تو Casting از unsigned char استفاده کنید که مقدار متغیر C بجای 12، 8204 نشه. ( 0x200C ) وقتی که از Cast استفاده نمی‌کنید. مقدار متغیرهای a, c بیش از حد می‌شه و باعث می‌شه که اون خطا رخ بده.

صبا صبوحی

shaki_phd
دوشنبه 12 اسفند 1387, 09:49 صبح
سلام آقا من هم همين مشكل رو دارم اما تو C# كه Unsigned Char وجود نداره ميشه بگيد بايد چكار كرد من خيلي بهش نياز دارم
راستي آقاي SabaSabouhi ميشه بگيد از چه منابعي اين كانورتور را ساختيد يعني منظورم اينه كه ساختار ايران سيستم رو از كجا ياد گرفتيد
با تشكر

SabaSabouhi
چهارشنبه 14 اسفند 1387, 14:00 عصر
سلام آقا من هم همين مشكل رو دارم اما تو C# كه Unsigned Char وجود نداره ميشه بگيد بايد چكار كرد من خيلي بهش نياز دارم
راستي آقاي SabaSabouhi ميشه بگيد از چه منابعي اين كانورتور را ساختيد يعني منظورم اينه كه ساختار ايران سيستم رو از كجا ياد گرفتيد
با تشكر

با سلام
بله حق با شماست، من متاسفانه در حال حاضر نمی‌تونم این رو چک کنم. اما گمان کنم با استفاده از cast ها بتونید مشکل رو حل کنید. یا این که با OxFF ضربش کنید. یه چیزی تو این مایه:



int c = pString[i];
c &= 255;


منبع خاصی وجود نداره. در گذشته ( ماقبل از ویندوز! ) ما مجبور بودیم با ایران‌سیستم کار کنیم، در زمانی لازم شد که ارتباطی بین برنامه‌های DOS-Base و Windows-Base برقرار کنیم که همون موقع اولین نسخه‌ی این مبدل رو نوشتم. ( شاید حدود 13-14 سال پیش ).

arash2005
جمعه 16 اسفند 1387, 12:23 عصر
سلام به همه دوستان
برای تبدیل کد پیج ایران سیستم به ویندوز در برنامه تامین اجتماعی که بصورت رایگان در اختیار همه قرار میگیره یک فایل dll به نام convert وجود داره که به راحتی این تبدیل رو انجام میده . اگر به برنامه تامین اجتماعی دسترسی دارید میتونید از اون در برنامه خودتون استفاده کنید .
شاد باشید

shaki_phd
جمعه 16 اسفند 1387, 21:07 عصر
سلام آرش عزیز میشه این فایل dll رو اینجا بذاری چون من بدجوری نیاز دارم
مرسی

ESG_Esfahan
جمعه 16 اسفند 1387, 23:21 عصر
سلام
صبا صبوجی من اون تغییراتی که گفتین را اعمال کردم برنامه دیگر خطایی ندارد ولی خروجی برنامه چیز قابل قبولی نیست و کاراکتر ها درست تبدیل نمیشه اگه لازم باشه می تونم نمونه هایی را که تبدیل کردم براتون بزارم.
من نفهمیدم مشکلش چیه چون با الگوریتمش آشنایی ندارم و ظاهرا همه چیز درست انجام میشه.

anubis_ir
شنبه 17 اسفند 1387, 09:29 صبح
در سي شارپ استرينگ 2 بايت هست. اين دليلي است كه جواب نمي‌گيريد.

SabaSabouhi
شنبه 17 اسفند 1387, 13:25 عصر
با سلام
دوست گرامی، خواهش می‌کنم برایم بفرستین. توضیح الگوریتمش مشکله چون خیلی Optimize شده و به همین دلیل توضیحش سخته. شما نمونه رو بفرستین، من مشکل رو حل می‌کنم.

صبا صبوحی

pooyansystem
دوشنبه 26 اسفند 1387, 06:55 صبح
جناب صبا صبوحی سلام
من بدجوری کارم برای تبدیل یونیکد به ایران سیستم گیره تو برنامه شما دیدم یه تابع برای این کار هست ولی وقتی خواستم ازش استفاده کنم خطا میده اگه لطف کنید یه نمونه امتحان شده بزارید که من بتونم ازش استفاده کنم ممنون میشم

arash2005
دوشنبه 26 اسفند 1387, 20:45 عصر
سلام به همه دوستان
من نمیتونم تو سایت آپلود کنم ، نمیدونم چرا .
تو سایت rapidshare گذاشتم ولی 10 بار بیشتر نمیتونین دانلود کنین
اینم آدرسش : http://rapidshare.com/files/209964276/Convert.zip.html

اگه ممکنه یکی از دوستان اینو تو همین سایت آپلود کنه .
ببخشید که دیر شد .
شاد باشید

pooyansystem
سه شنبه 27 اسفند 1387, 06:49 صبح
دوست عزیز ممنون از بابت فایلی که گذاشتید ولی من به کد هم احتیاج دارم میتونید کدشم اینجا بذارید تا ازش استفاده کنیم

در ضمن من فایل شما رو هم اینجا قرار دادم تا بقیه هم استفاده کنن

afsharm
سه شنبه 27 اسفند 1387, 17:41 عصر
یک برنامه‌ای هست به اسم «فارسیدو» که به جاوا نوشته شده و Open Source هم هستش. بد نیست اون را هم امتحان کنید.

ESG_Esfahan
سه شنبه 27 اسفند 1387, 23:30 عصر
با تشکر از arash2005
ولی دوست عزیز وقتی dll میزاری حداقل بگو چه توابعی و با چه تعریفی داخلش هست تا بشه ازش استفاده کرد

shaki_phd
چهارشنبه 28 اسفند 1387, 09:20 صبح
سلام

arash 2005 عزيز dll‌ شما متاسفانه درست كار نمي كند خيلي چيزها رو اشتباهي Convert مي كنه

pooyansystem
چهارشنبه 28 اسفند 1387, 12:04 عصر
سلام
دوست عزیز من از کامپوننت شما استفاده کردم وقتی توی ویندوز فایل ایجاد شده با این کامپوننت را باز میکنم اطلاعات درسته (یعنی بایک فایل که کاراکترهامون ایران سیستم هست مقایسه می کنم یکی هست)ولی وقتی که توی محیط داس اون را باز می کنم کاراکترها را نادرست نشان می ده در حالی که فایلی را که از قبل داشته ام وبا کاراکترهای ایران سیستم ایجاد شده را درست نشون میده.

arash2005
پنج شنبه 29 اسفند 1387, 10:24 صبح
سلام به همه دوستان
ببخشید که من به دلیل مسائل کاری دیر جواب میدم .
این یه نمونه کد در رابطه با کارکرد فایل dll :

CONVERTLib.Convertor aa = new CONVERTLib.Convertor();
string[] as1 = new string[1];
as1[0] = aa.WinToIran("بسمه تعالي");
File.WriteAllLines("c:\\5.txt", as1, System.Text.Encoding.Default);

آقای pooyansystem : شما احتمالا وقتی که رشته رو در فایل مینوشتید Encoding رو Default نکردید .

امیدوارم این کد اشکالات شما رو حل کنه . بازم اگه موردی بود من در خدمتم .
شاد باشید

arash2005
پنج شنبه 29 اسفند 1387, 10:31 صبح
سلام مجدد
این نکته رو باید اضافه کنم که این dll میتونه از ایران سیستم به ویندوز هم تبدیل کنه
شاد باشید

ESG_Esfahan
جمعه 30 اسفند 1387, 00:43 صبح
با سلام
با تشکر فراوان از arash2005
من فکر کردم باید به صورت توابع api از این dll استفاده کرد نمی دونستم که باید به برنامه اضافه بشه.
من تست کردم -یه سری مشکلات کوچک داره ولی درست کار میکنه
خیلی ممنون از لطف دوستان که وقت گذاشتید و جوابهای خودتون را ارسال کردید

pooyansystem
شنبه 15 فروردین 1388, 11:51 صبح
آقای pooyansystem : شما احتمالا وقتی که رشته رو در فایل مینوشتید Encoding رو Default نکردید .

ممنون دوست عزيز مشكلم حل شد
در ضمن دوست عزيز مي خواستم بدونم امكانش هست كه كدتون رو هم در اختيار ما قرار بديد تا همه ازش استفاده كنند

ramin_ramin
شنبه 25 مهر 1388, 12:14 عصر
برادر عزیز و گرامی اگر امکان داره کدهای این dll رو در اختیار ما یعنی همه کاربران سایت بگذارید ممنون میشیم

arash2005
دوشنبه 04 آبان 1388, 13:56 عصر
سلام دوست عزیز
من این dll رو از برنامه تامین اجتماعی گرفتم و خودم ننوشتم که کدشو در اختیار شما قرار بدم .
موفق باشید

ashkan209
جمعه 23 بهمن 1388, 18:28 عصر
اشکال در کانورت
در این کد از dll تامین اجتماعی برای کانورت dbf به ویندوز استفاده شده است ، اما هنگام کانورت بجای بعضی از کاراکترها ؟ گذاشته میشود ، لطفا دوستان بررسی نمایند و چناچه راهکاری دارند ارائه نمایند
ممنون

kia1349
یک شنبه 25 بهمن 1388, 17:41 عصر
http://www.box.net/shared/k4g0fsz17t
البته با vb6 نوشتم ولی شاید کدهاش بدردت بخوره

g_ilar
سه شنبه 22 تیر 1389, 12:13 عصر
نمونه ای از تبدیل کدپیج از ویندوز به ایران سیستم و برعکس بصورت T-SQL مناسب برای استفاده در SQLSever در اینجا قرار داده شده:
http://www.barnamenevis.org/forum/showthread.php?p=1038529

g_ilar
سه شنبه 22 تیر 1389, 12:34 عصر
سلام به همه دوستان
ببخشید که من به دلیل مسائل کاری دیر جواب میدم .
این یه نمونه کد در رابطه با کارکرد فایل dll :

CONVERTLib.Convertor aa = new CONVERTLib.Convertor();
string[] as1 = new string[1];
as1[0] = aa.WinToIran("بسمه تعالي");
File.WriteAllLines("c:\\5.txt", as1, System.Text.Encoding.Default);

آقای pooyansystem : شما احتمالا وقتی که رشته رو در فایل مینوشتید Encoding رو Default نکردید .

امیدوارم این کد اشکالات شما رو حل کنه . بازم اگه موردی بود من در خدمتم .
شاد باشید
این dll در vb6 و همچنین vb.net اصلاً کار نمی کنه!!!!!

sara_traveler
دوشنبه 25 اردیبهشت 1391, 10:37 صبح
سلام خدمت دوستان
من از این dll استفاده کردم یا اون تابع
اما وقتی اطلاعات در foxمیریزم اطلاعات به صورت علامت سوال ذخیره میشه
باشد چیکار کنم؟
با تشکر

behzadkhatari
شنبه 30 اردیبهشت 1391, 19:13 عصر
من استفاده کردم از dll عین ساعت کار میکنه

behzadkhatari
شنبه 30 اردیبهشت 1391, 20:04 عصر
ازین برنامه استفاده کن خودم نوشتم

masoud_z_65
دوشنبه 15 آبان 1391, 15:12 عصر
من هرچی این dll رو دانلود میکنم نمیتونم ادش کنم به پروژم

مشکل چیه؟

sanaz_yek
پنج شنبه 18 آبان 1391, 14:18 عصر
سلام
من از این dll نمی تونم استفاده کنم
اول اینکه باید تو دلفی import کنم و اجرا کنم بعد register کنم
تازه بعد از انجام این کارها بازم حروف رو علامت سؤال میندازه
خواهش میکنم راهنمایی کنین چی جور یونیکد رو به ایران سیستم تبدیل کنم بدجور گیرم

masoud_z_65
دوشنبه 11 دی 1391, 14:38 عصر
دوستان من میخوام ویندوز رو به ایران سیستم تبدیل کنم کسی نبود کمکم کنه!

masoud_z_65
دوشنبه 11 دی 1391, 14:45 عصر
دوستان عزیز من یک تابع نوشتم که تبدیل رو انجام میده اما توی تاریخ ها فقط مشکل داره

توی متدم اومدم کانورت رو یکی یکی انجام دادم

rezaei manesh
شنبه 31 شهریور 1397, 10:04 صبح
من هرچی این dll رو دانلود میکنم نمیتونم ادش کنم به پروژم

مشکل چیه؟

این دی ال ال بعد از این که چند تا فیلد رو باهاش کانورت می کنی برای بعدی ها خطا می ده و دیگه حافظه کم میاره انگار و حتما باید برنامه رستارت بشه واسه همین من نتونستم تست کنم کامل این رو