PDA

View Full Version : مبدل اطلاعات از فایل متنی تحت داس به ویندوز و برعکس



farzad_itc
یک شنبه 01 شهریور 1388, 21:01 عصر
بچه ها سلام
من نیاز شدیدی دارم به مبدل اطلاعات متنی (txt) از داس به ویندوز و برعکس البته باید بصورت یک function یا یک dll باشه که بتونم توی برنامم ازش استفاده کنم


نیاز من رفع شد. پایین همین تاپیک تابع رو هم گذاشتم.

مبین رنجبر
یک شنبه 01 شهریور 1388, 21:20 عصر
دوست عزیز این شرکت هلیا سیستم برنامه های فوق العاده برای تبدیلات داره .. دقیقا همین کاری که شما میخواین انجام بدین برنامشو دارن .. فکر کنم سورس هم بفروشن :

http://www.heliasystem.net/convertor.aspx

farzad_itc
دوشنبه 02 شهریور 1388, 11:52 صبح
من با آقاي کرمي همون هليا سيستم صحبت کردم ولي ايشون براي اين dll مبلغ زيادي از من پول خواستن که اين براي يه dll پول خيلي زيادي هستش کسي مي تونه اين کار رو بکنه من پنجاه تومن نقد مي دم

مبین رنجبر
دوشنبه 02 شهریور 1388, 15:14 عصر
والا فکر کنم بهترین راهش خریدش باشه .. ولی من یه سرچی که کردم تو سایت های خارجی یه چیزایی پیدا کردم .. لینک زیر یه سورس به زبان سی پیدا کردم برای این تبدیلات :

http://tofrodos.sourceforge.net/download/tfd178.zip


شاید مفید باشه ..

درضمن توی msdn هم یه چیزایی درباره تبدیل ANSII >> Unicode پیدا کردم . بد نیست اینم نگاه کنید : http://msdn.microsoft.com/en-us/library/cc488003.aspx

behroz1387
سه شنبه 03 شهریور 1388, 06:29 صبح
اگه مشكلتان حل نشد بگيد شايد تونستم كمك كنم

Open-Source
سه شنبه 03 شهریور 1388, 12:09 عصر
این مبدل اطلاعات متنی از داس به ویندوز یعنی چه؟؟؟!!!!!
:لبخند:
میتونید یه توضیحی براش بدید؟

farzad_itc
پنج شنبه 11 شهریور 1389, 18:53 عصر
بعد از یه چند روز خودم تونستم مبدل رو بنویسم و توی یه کلاس گذاشتم و ازش دارم استفاده می کنم. این تابع رو می زارم تا شما هم بتونید ازش استفاده کنید.






public static string ConvertToWin(string input)
{
int i = 0;
int j = 0;
string a1;
string a2 = "";

a1 = input.ToString();

string[] after1 = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "،", "ـ", "؟", "آ", "ئ", "ء", "ا", "ا", " ب", "ب", "پ", "پ", " ت", "ت", "ث", "ث", "ج", "ج", "چ", "چ", " ح", "ح", "خ", "د", "د", "ر", "ز", "ژ", " س", "س", " ش", "ش", "ش", "ص", "ص", "ض", "ط", "ط", "ئ", "ظ", " ع", " ع", "ع", "ع", "ع", "غ", "غ", "غ", " ف", "ف", "ق", "ق", " ک", "ك", "ك", "گ", " ل", "ل", "ل", " م", "م", " ن", "ن", "و", " ه", "ه", "ه", " ی", " ی", "ي" };
// string[] after1 = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "،", "ـ", "؟", "آ", "ئ", "ء", "ا", "ا", "ب", "ب", "پ", "پ", " ت", "ت", "ث", "ث", "ج", "ج", "چ", "چ", "ح", "ح", "خ", "د", "د", "ر", "ز", "ژ", " س", "س", " س", "ش", "ش", "ص", "ص", "ض", "ط", "ط", "ؤ", "ظ", " ع", "ع", "ع", "ع", "ع", "غ", "غ", "غ", " ف", "ف", "ق", "ق", "ک", "ك", "ك", "گ", "ل", "ل", "ل", " م", "م", " ن", "ن", "و", "ه", "ه", "ه", " ی", " ی", "ي" };
string befor = "€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’ ”•–—ک™ڑ›œ‌‍ں،¢£¤¥¦§¨ ھ«¬­®¯¾ئàلâمنهوçèéêëىيîï ٌٍَôُِ÷ّùْûü‎‏؟";

for (i = 0; i < after1.Length; i++)
{
a1 = a1.Replace(befor.Substring(i, 1), after1[i].ToString());
}
return a1.ToString();




این کد فقط مبدل ایران سیستم هستش و یه تابع دیگر هم داره برای برعکس کردن کلمات و اون هم این تابع هستش ولی باید خودتون استفاده بکنید.


static public string Reverse(string s)
{
char[] charArray = s.ToCharArray();
Array.Reverse(charArray);
return new string(charArray);
}

tk2005730
پنج شنبه 18 شهریور 1389, 09:21 صبح
فرزاد جان تابع Reverse که نوشتی کامل نیست چون برای تبدیل صحیح قسمتهایی از متن که حاوی حروف لاتین و اعداد نباید ترتیبشون تغییر کنه.

farzad_itc
یک شنبه 21 شهریور 1389, 20:07 عصر
این کد فقط مبدل ایران سیستم هستش و یه تابع دیگر هم داره برای برعکس کردن کلمات و اون هم این تابع هستش ولی باید خودتون استفاده بکنید.

من که توی قسمت بالا نوشتم باید خودتون ازش استفاده بکنید. البته توضیح من ناقص بوده من از تابع به صورتی استفاده کردم که اعداد و متن رو از هم تشخیص میده و شما هم باید خودتون این کار رو انجام بدین.

از توجهتون ممنونم حالا اگه شما تابعی بهتر از این دارین که این کار رو انجام بده لطفا کنید و اون تابع رو اینجا بزارین . با تشکر :تشویق:

tk2005730
دوشنبه 22 شهریور 1389, 13:10 عصر
این کد فقط مبدل ایران سیستم هستش و یه تابع دیگر هم داره برای برعکس کردن کلمات و اون هم این تابع هستش ولی باید خودتون استفاده بکنید.

من که توی قسمت بالا نوشتم باید خودتون ازش استفاده بکنید. البته توضیح من ناقص بوده من از تابع به صورتی استفاده کردم که اعداد و متن رو از هم تشخیص میده و شما هم باید خودتون این کار رو انجام بدین.

از توجهتون ممنونم حالا اگه شما تابعی بهتر از این دارین که این کار رو انجام بده لطفا کنید و اون تابع رو اینجا بزارین . با تشکر :تشویق:

من قبلا از این تابع استفاده کردم و درست جواب داد البته اگر کامل نوشته باشمش.
ورودیش آرایه ای از بایتهای اسکی رشته ایران سیستم هست و خروجیش هم برعکس شده همین آرایه چون من فایل را به صورت باینری خوندم اینجوری تبدیل راحتتره


static public byte[] Reverse(byte[] charArray)
{
bool reversed = false;
int preIndex = 0;
for (int i = 0; i < charArray.Length; i++)
if (charArray[i] > 32 && charArray[i] < 139 && !reversed)
{
Array.Reverse(charArray, preIndex, i - preIndex);
preIndex = i;
reversed = true;
}
else
reversed = false;
return charArray;
}