PDA

View Full Version : مشکل در تبدیل فارسی IRSystem به فارسی Win2k



ara_prg
جمعه 22 آبان 1383, 10:57 صبح
من تازگی یک برنامه با #C نوشته ام که فایل های dbf یک برنامه فارسی تحت DOS مبتنی بر IRSystem را خوانده و فارسی آن را به فارسی win2k تبدیل می کند. اما در بعضی حالات با یک سری مشکلات عجیب برخورد کردم مثلا اینکه بعضی وقتها کد کارتر فارسی IRSystem را 8216 باز می گرداند درصورتی که همچین کدی در dos وجود نداشت. البته این مورد را تا حالا برای چندین حرف و عدد دیده ام حتی بعضی وقتها کد بصورت 367 نیز باز می گردد.
در ضمن برای اتصال به dbf ها من یک alias در odbc ایجاد کرده ام از نوع micrososft dbase driver (*.dbf) و در #C با استفاده از odbcConnection به آنها وصل شده ام و بصورت زیر کد کاراکترها را بدست آورده ام



String S = ds.tables[0].rows[0][0].tostring();
Int32 B = (Int32) S[n];



البته ابتدا آنها به Byte تبدیل می کردم ولی برای آن کاراکترهای خاص مقدار 40 می شد و من مجبور شدم از Int32 استفاده کنم.

این را هم بگویم که من همین تابع را در Delphi نوشته ام و با TTable دلفی به آن جداول وصل شده ام و اصلا این مشکل وجود ندارد



با تشکر از همه دوستان

:گیج:

Vahid_Nasiri
جمعه 22 آبان 1383, 16:59 عصر
مثال :

string s = "a21423lkj";
char x = s[0];
int char_code = (int) x;

ara_prg
سه شنبه 26 آبان 1383, 11:03 صبح
میشه بیشتر توضیح بدهید

Vahid_Nasiri
سه شنبه 26 آبان 1383, 13:00 عصر
مثالی از پیدا کردن کدهای اسکی


private void button1_Click(object sender, System.EventArgs e)
{
string s = "a21423lkj«¦¶}~";
char x;
string res="" ;
for(int i=0; i<s.Length; i++)
{
x = s[i];
int char_code = (int) x;
res += x + "="+ char_code.ToString()+"\n";
}

MessageBox.Show(res);



}

Vahid_Nasiri
سه شنبه 26 آبان 1383, 13:45 عصر
یک نمونه مثال کامل با دلفی البته:
http://www.geocities.com/h_r_110/Dnld/hrtools.zip

پسوند فایل را به rar تغییر بدید تا قابل استفاده شود.