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

نام تاپیک: تابعی برای تبدیل بانکها از dos به windows

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همدان
    پست
    79

    تابعی برای تبدیل بانکها از dos به windows

    با سلام خدمت همه دوستان عزیز
    این تابع رو برای تبدیل بانکهای foxpro تحت dos به بانکهای تحت ویندوز نوشتم. تابع در مورد متنهای بدون عدد درست کار می کند ولی هنگامی که متن ما شامل کارکتر عددی هم هست مشکل داره یعنی مثلا اگر عبارت ما ' چک شماره 123 بانک ملی ' باشه متن تبدیلی به صورت ' چک شماره321 بانک ملی ' می دهد. اگه کسی تونست مشکل رو حل کنه ممنون می شم. ولی باز با این وجود همین تیکه هم کار منو خیلی راه انداخته امیدوارم به کار شما هم بیاد. ضمنا کد عکس این حالت رو هم نوشتم(از windows به dos که برای تامین اجتماعی و .. کاربرد داره) اگه مایل بودید بگید تقدیم کنم.
    یا حق...

    function tabdilef(x:String):String;
    var
    matn1:String ;
    i,j,k,_k2:integer;
    begin
    i:=-1;j:=0;k:=0;_k2:=0;matn1:='';

    while Length(x)>= i do
    begin
    i:=i+1;
    j:=ord(x[Length(x)-i]);


    k:=ord(x[Length(x)-i+1]);
    _k2:=ord(x[Length(x)-i-1]);


    case j of
    141:matn1:=matn1+chr(194) ;
    198:matn1:=matn1+chr(142) ;
    143:matn1:=matn1+chr(193) ;//hamzeh
    145,144: matn1:=matn1+chr(199);


    146: if _k2<>255 then matn1:=matn1+chr(200)+chr(32)
    else matn1:=matn1+chr(200);

    147: matn1:=matn1+chr(200);
    148:if _k2<>255 then matn1:=matn1+chr(129)+chr(32)
    else matn1:=matn1+chr(129);
    149: matn1:=matn1+chr(129);

    150:if _k2<>255 then matn1:=matn1+chr(202)+chr(32)
    else matn1:=matn1+chr(202);
    151: matn1:=matn1+chr(202);//t

    152:if _k2<>255 then matn1:=matn1+chr(203)+chr(32)
    else matn1:=matn1+chr(203);
    153: matn1:=matn1+chr(203);//sth

    154:if _k2<>255 then matn1:=matn1+chr(204)+chr(32)
    else matn1:=matn1+chr(204);
    155: matn1:=matn1+chr(204);//gim

    156:if _k2<>255 then matn1:=matn1+chr(141)+chr(32)
    else matn1:=matn1+chr(141);
    157: matn1:=matn1+chr(141);//ch

    158:if _k2<>255 then matn1:=matn1+chr(205)+chr(32)
    else matn1:=matn1+chr(205);
    159: matn1:=matn1+chr(205);//h gimi

    160:if _k2<>255 then matn1:=matn1+chr(206)+chr(32)
    else matn1:=matn1+chr(206);
    161: matn1:=matn1+chr(206);//kh

    162: matn1:=matn1+chr(207);//d
    163: matn1:=matn1+chr(208);//zth
    164: matn1:=matn1+chr(209);//r
    165: matn1:=matn1+chr(210);//z
    166: matn1:=matn1+chr(142);//zgh
    167:if _k2<>255 then matn1:=matn1+chr(211)+chr(32)
    else matn1:=matn1+chr(211);
    168: matn1:=matn1+chr(211);//sin
    169:if _k2<>255 then matn1:=matn1+chr(212)+chr(32)
    else matn1:=matn1+chr(212);
    170: matn1:=matn1+chr(212);//shin

    171:if _k2<>255 then matn1:=matn1+chr(213)+chr(32)
    else matn1:=matn1+chr(213);
    172: matn1:=matn1+chr(213);//sad

    173:if _k2<>255 then matn1:=matn1+chr(214)+chr(32)
    else matn1:=matn1+chr(214);
    174: matn1:=matn1+chr(214);//zad

    175:if (_k2=145) or (_k2=227) or (_k2=231) or (_k2=250) then matn1:=matn1+chr(216)
    else matn1:=matn1+chr(216)+chr(32);//ta
    224:if (_k2<>255) and (_k2<>145) then matn1:=matn1+chr(217)+chr(32)
    else matn1:=matn1+chr(217);//za

    225,226:if _k2<>255 then matn1:=matn1+chr(218)+chr(32)
    else matn1:=matn1+chr(218);
    227,228: matn1:=matn1+chr(218);//ain

    229,230:if _k2<>255 then matn1:=matn1+chr(218)+chr(32)
    else matn1:=matn1+chr(219);
    231,232: matn1:=matn1+chr(219);//ghain

    233:if _k2<>255 then matn1:=matn1+chr(221)+chr(32)
    else matn1:=matn1+chr(221);
    234: matn1:=matn1+chr(221);//f

    235:if _k2<>255 then matn1:=matn1+chr(222)+chr(32)
    else matn1:=matn1+chr(222);
    236: matn1:=matn1+chr(222);//ghaf

    237:if _k2<>255 then matn1:=matn1+chr(223)+chr(32)
    else matn1:=matn1+chr(223);
    238: matn1:=matn1+chr(223);//kaf

    239:if _k2<>255 then matn1:=matn1+chr(144)+chr(32)
    else matn1:=matn1+chr(144);
    240: matn1:=matn1+chr(144);//ghaf

    241:if _k2<>255 then matn1:=matn1+chr(225)+chr(32)
    else matn1:=matn1+chr(225);
    243: matn1:=matn1+chr(225);//lam

    242: matn1:=matn1+chr(225)+chr(199);//la
    244:if _k2<>255 then matn1:=matn1+chr(227)+chr(32)
    else matn1:=matn1+chr(227);
    245: matn1:=matn1+chr(227);//mim

    246:if _k2<>255 then matn1:=matn1+chr(228)+chr(32)
    else matn1:=matn1+chr(228);
    247: matn1:=matn1+chr(228);//non

    248: matn1:=matn1+chr(230);//vav

    249:if _k2<>255 then matn1:=matn1+chr(229)+chr(32)
    else matn1:=matn1+chr(229);

    250,251: matn1:=matn1+chr(229);//h

    252:matn1:=matn1+chr(237)+chr(32);
    253:if _k2<>255 then matn1:=matn1+chr(237)+chr(32)
    else matn1:=matn1+chr(237);
    254: matn1:=matn1+chr(237);//non

    128:matn1:=matn1+chr(48) ;//0
    129:matn1:=matn1+chr(49) ;//1
    130:matn1:=matn1+chr(50) ;//2
    131:matn1:=matn1+chr(51) ;//3
    132:matn1:=matn1+chr(52) ;//4
    133:matn1:=matn1+chr(53) ;//5
    134:matn1:=matn1+chr(54) ;//6
    135:matn1:=matn1+chr(55) ;//7
    136:matn1:=matn1+chr(56) ;//8
    137:matn1:=matn1+chr(57) ;//9

    46:matn1:=matn1+chr(46) ;//.

    48:matn1:=matn1+chr(48) ;//0
    49:matn1:=matn1+chr(49) ;//1
    50:matn1:=matn1+chr(50) ;//2
    51:matn1:=matn1+chr(51) ;//3
    52:matn1:=matn1+chr(52) ;//4
    53:matn1:=matn1+chr(53) ;//5
    54:matn1:=matn1+chr(54) ;//6
    55:matn1:=matn1+chr(55) ;//7
    56:matn1:=matn1+chr(56) ;//8
    57:matn1:=matn1+chr(57) ;//9

    138:matn1:=matn1+chr(161) ;// ,
    140:matn1:=matn1+chr(191) ;// ?
    40:matn1:=matn1+chr(40) ;// (
    41:matn1:=matn1+chr(41) ;// )
    47:matn1:=matn1+chr(47) ;// /
    255:matn1:=matn1+chr(32) ;// ' '
    else
    matn1:=matn1+'';
    end;
    end;

    tabdilef:=matn1;
    end;
    آخرین ویرایش به وسیله ehsan2000 : چهارشنبه 16 آذر 1384 در 20:12 عصر

  2. #2
    می بخشید که مزاحم میشم.
    به منظور خوانایی کدتان؛ لطفا انرا بین تگ های Code قرار دهید
    ممنون

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همدان
    پست
    79
    آی به چشم

  4. #4
    این کد را از روی کد آقای کیا در foxpro به vb تبدیل کردم به نظم کامل است.خیلی کامل ولی یکم کند به نظر میرسد.برای حجم داده زیاد
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    سلام
    میشه بگید جه جوری ازش استفاده میشه کرد ؟

    ممنون

  6. #6
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    آقا احسان لطف کن این تابع ویندوز به داس رو هم بزار تا استفاده کنیم . آیا سرعت اون خوبه

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همدان
    پست
    79
    بازم سلام

    این کد تکمیل شده کد بالاست.(dos to windows) مشکلش رو حل کردم ( هم اعداد و هم پرانتزها). حالشو ببرین

    سرعتشم بد نیست. 1000 تا رکورد50 فیلدی رو توی 15 ثانیه جواب گرفتم.
    برای استفاده از اون هم که می دونید: مثلا فیلدی با نام FAMIL

     tablewinfamil.values:=tabdilef(tabledosfamil.value  s)



    Mahdi_S_T جان چشم. در اولین فرصت win to dos هم می زارمش.

    function tabdilef(x:String):String;
    var
    matn1,mat2,mat3:String ;
    i,j,k,_k2:integer;
    begin
    i:=-1;j:=0;k:=0;_k2:=0;matn1:='';mat2:='';mat3:='';


    while Length(x)>= i do
    begin
    i:=i+1;
    j:=ord(x[Length(x)-i]);

    k:=ord(x[Length(x)-i+1]);
    _k2:=ord(x[Length(x)-i-1]);


    // ShowMessage(inttostr(j));
    case j of
    141:matn1:=matn1+chr(194) ;
    198:matn1:=matn1+chr(142) ;
    143:matn1:=matn1+chr(193) ;//hamzeh
    145,144: matn1:=matn1+chr(199);

    // 144: matn1:=matn1+chr(199);

    146: if _k2<>255 then matn1:=matn1+chr(200)+chr(32)
    else matn1:=matn1+chr(200);

    147: matn1:=matn1+chr(200);
    148:if _k2<>255 then matn1:=matn1+chr(129)+chr(32)
    else matn1:=matn1+chr(129);
    149: matn1:=matn1+chr(129);

    150:if _k2<>255 then matn1:=matn1+chr(202)+chr(32)
    else matn1:=matn1+chr(202);
    151: matn1:=matn1+chr(202);//t

    152:if _k2<>255 then matn1:=matn1+chr(203)+chr(32)
    else matn1:=matn1+chr(203);
    153: matn1:=matn1+chr(203);//sth

    154:if _k2<>255 then matn1:=matn1+chr(204)+chr(32)
    else matn1:=matn1+chr(204);
    155: matn1:=matn1+chr(204);//gim

    156:if _k2<>255 then matn1:=matn1+chr(141)+chr(32)
    else matn1:=matn1+chr(141);
    157: matn1:=matn1+chr(141);//ch

    158:if _k2<>255 then matn1:=matn1+chr(205)+chr(32)
    else matn1:=matn1+chr(205);
    159: matn1:=matn1+chr(205);//h gimi

    160:if _k2<>255 then matn1:=matn1+chr(206)+chr(32)
    else matn1:=matn1+chr(206);
    161: matn1:=matn1+chr(206);//kh

    162: matn1:=matn1+chr(207);//d
    163: matn1:=matn1+chr(208);//zth
    164: matn1:=matn1+chr(209);//r
    165: matn1:=matn1+chr(210);//z
    166: matn1:=matn1+chr(142);//zgh
    167:if _k2<>255 then matn1:=matn1+chr(211)+chr(32)
    else matn1:=matn1+chr(211);
    168: matn1:=matn1+chr(211);//sin
    169:if _k2<>255 then matn1:=matn1+chr(212)+chr(32)
    else matn1:=matn1+chr(212);
    170: matn1:=matn1+chr(212);//shin

    171:if _k2<>255 then matn1:=matn1+chr(213)+chr(32)
    else matn1:=matn1+chr(213);
    172: matn1:=matn1+chr(213);//sad

    173:if _k2<>255 then matn1:=matn1+chr(214)+chr(32)
    else matn1:=matn1+chr(214);
    174: matn1:=matn1+chr(214);//zad

    175:if (_k2=145) or (_k2=227) or (_k2=231) or (_k2=250) then matn1:=matn1+chr(216)
    else matn1:=matn1+chr(216)+chr(32);//ta
    224:if (_k2<>255) and (_k2<>145) then matn1:=matn1+chr(217)+chr(32)
    else matn1:=matn1+chr(217);//za

    225,226:if _k2<>255 then matn1:=matn1+chr(218)+chr(32)
    else matn1:=matn1+chr(218);
    227,228: matn1:=matn1+chr(218);//ain

    229,230:if _k2<>255 then matn1:=matn1+chr(218)+chr(32)
    else matn1:=matn1+chr(219);
    231,232: matn1:=matn1+chr(219);//ghain

    233:if _k2<>255 then matn1:=matn1+chr(221)+chr(32)
    else matn1:=matn1+chr(221);
    234: matn1:=matn1+chr(221);//f

    235:if _k2<>255 then matn1:=matn1+chr(222)+chr(32)
    else matn1:=matn1+chr(222);
    236: matn1:=matn1+chr(222);//ghaf

    237:if _k2<>255 then matn1:=matn1+chr(223)+chr(32)
    else matn1:=matn1+chr(223);
    238: matn1:=matn1+chr(223);//kaf

    239:if _k2<>255 then matn1:=matn1+chr(144)+chr(32)
    else matn1:=matn1+chr(144);
    240: matn1:=matn1+chr(144);//ghaf

    241:if _k2<>255 then matn1:=matn1+chr(225)+chr(32)
    else matn1:=matn1+chr(225);
    243: matn1:=matn1+chr(225);//lam

    242: matn1:=matn1+chr(225)+chr(199);//la
    244:if _k2<>255 then matn1:=matn1+chr(227)+chr(32)
    else matn1:=matn1+chr(227);
    245: matn1:=matn1+chr(227);//mim

    246:if _k2<>255 then matn1:=matn1+chr(228)+chr(32)
    else matn1:=matn1+chr(228);
    247: matn1:=matn1+chr(228);//non

    248: matn1:=matn1+chr(230);//vav

    249:if _k2<>255 then matn1:=matn1+chr(229)+chr(32)
    else matn1:=matn1+chr(229);

    250,251: matn1:=matn1+chr(229);//h

    252:matn1:=matn1+chr(237)+chr(32);
    253:if _k2<>255 then matn1:=matn1+chr(237)+chr(32)
    else matn1:=matn1+chr(237);
    254: matn1:=matn1+chr(237);//non

    128:matn1:=matn1+chr(48) ;//0
    129:matn1:=matn1+chr(49) ;//1
    130:matn1:=matn1+chr(50) ;//2
    131:matn1:=matn1+chr(51) ;//3
    132:matn1:=matn1+chr(52) ;//4
    133:matn1:=matn1+chr(53) ;//5
    134:matn1:=matn1+chr(54) ;//6
    135:matn1:=matn1+chr(55) ;//7
    136:matn1:=matn1+chr(56) ;//8
    137:matn1:=matn1+chr(57) ;//9

    37:matn1:=matn1+chr(37) ;//.
    42:matn1:=matn1+chr(42) ;//%
    45:matn1:=matn1+chr(45) ;//-
    46:matn1:=matn1+chr(46) ;//.

    48:matn1:=matn1+chr(48) ;//0
    49:matn1:=matn1+chr(49) ;//1
    50:matn1:=matn1+chr(50) ;//2
    51:matn1:=matn1+chr(51) ;//3
    52:matn1:=matn1+chr(52) ;//4
    53:matn1:=matn1+chr(53) ;//5
    54:matn1:=matn1+chr(54) ;//6
    55:matn1:=matn1+chr(55) ;//7
    56:matn1:=matn1+chr(56) ;//8
    57:matn1:=matn1+chr(57) ;//9

    138:matn1:=matn1+chr(161) ;// ,
    140:matn1:=matn1+chr(191) ;// ?
    40:matn1:=matn1+chr(40) ;// (
    41:matn1:=matn1+chr(41) ;// )
    47:matn1:=matn1+chr(47) ;// /
    255:matn1:=matn1+chr(32) ;// ' '

    else
    matn1:=matn1+'';
    end;
    // ShowMessage(matn1);
    end;
    //

    ///
    mat2:='';mat3:='' ;

    for i:= 0 to length(matn1) do
    begin
    // ShowMessage(matn[i]);
    if not (matn1[i] in ['1','2','3','4','5','6','7','8','9','0','/','-','(',')']) then
    begin
    if Length(mat2)>0 then
    begin
    mat3:=mat3+' '+mat2+' '+matn1[i] ;
    mat2:='';
    end
    else
    mat3:=mat3+matn1[i] ;
    end
    else
    begin

    if matn1[i]='(' then matn1[i]:=')' else
    if matn1[i]=')' then matn1[i]:='(';
    mat2:=matn1[i]+mat2;
    end;
    end;


    tabdilef:=trim(mat3+mat2);
    end;

  8. #8
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039

    Thumbs up

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

    حالا این یکی رو تست کنم ببینم چی میشه ؟

  9. #9
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    آقا احسان این تابع جدیده وقتی اجرا کردم خطا داد . اگه امکان داره یه مثال آپلود کن . ممنون

  10. #10
    کاربر دائمی آواتار Bahmany
    تاریخ عضویت
    آبان 1384
    محل زندگی
    No Where
    سن
    39
    پست
    602
    سلام علیکم

    میخواستم بدونم که آیا کدهای فوق برای کلمات فارسی نیز صدق می کنند

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همدان
    پست
    79
    اینم کد مربوط به تبدیل از windows به dos

    function tabdilfe(x:String):String;
    var
    matn1:String ;
    i,j,k,_k2:integer;
    begin
    i:=-1;j:=0;k:=0;_k2:=0;matn1:='';

    while Length(x)>= i do
    begin
    i:=i+1;
    if (ord(x[Length(x)-i])>= 48) and (ord(x[Length(x)-i])<= 57) then
    j:=ord(x[i+1])
    else j:=ord(x[Length(x)-i]);


    k:=ord(x[Length(x)-i+1]);
    _k2:=ord(x[Length(x)-i-1]);


    // ShowMessage(inttostr(j));
    case j of
    194:matn1:=matn1+chr(141) ;
    198:matn1:=matn1+chr(142) ;
    193:matn1:=matn1+chr(143) ;//hamzeh
    199: if ( (i= Length(x)-1) or (_k2=32) or (_k2=199) or (_k2=207) or (_k2=208) or (_k2=209) or (_k2=210) or (_k2=142) or (_k2=230) ) then
    matn1:=matn1+chr(144)
    else matn1:=matn1+chr(145);

    200:if (i=0) or (k=32) then matn1:=matn1+chr(146)
    else matn1:=matn1+chr(147);//b

    129:if (i=0) or (k=32) then matn1:=matn1+chr(148)
    else matn1:=matn1+chr(149);//p

    202:if (i=0) or (k=32) then matn1:=matn1+chr(150)
    else matn1:=matn1+chr(151);//t

    203:if (i=0) or (k=32) then matn1:=matn1+chr(152)
    else matn1:=matn1+chr(153);//3

    204:if (i=0) or (k=32) then matn1:=matn1+chr(154)
    else matn1:=matn1+chr(155);//gim

    141:if (i=0) or (k=32) then matn1:=matn1+chr(156)
    else matn1:=matn1+chr(157);//ch

    205:if (i=0) or (k=32) then matn1:=matn1+chr(158)
    else matn1:=matn1+chr(159);//h jimi

    206:if (i=0) or (k=32) then matn1:=matn1+chr(160)
    else matn1:=matn1+chr(161);//kh
    207:matn1:=matn1+chr(162) ;//d
    208:matn1:=matn1+chr(163) ;//the
    209:matn1:=matn1+chr(164) ;//r
    210:matn1:=matn1+chr(165) ;//z
    142:matn1:=matn1+chr(166) ;//zh

    211:if (i=0) or (k=32) then matn1:=matn1+chr(167)
    else matn1:=matn1+chr(168);//sin

    212:if (i=0) or (k=32) then matn1:=matn1+chr(169)
    else matn1:=matn1+chr(170);//shin

    213:if (i=0) or (k=32) then matn1:=matn1+chr(171)
    else matn1:=matn1+chr(172);//sad

    214:if (i=0) or (k=32) then matn1:=matn1+chr(173)
    else matn1:=matn1+chr(174);//zad

    216:matn1:=matn1+chr(175) ;//ta
    217:matn1:=matn1+chr(224) ;//za

    218:if ((i=0) or (k=32)) and ( (_k2=32) or (_k2=199) or (_k2=207) or (_k2=208) or (_k2=209) or (_k2=210) or (_k2=142) or (_k2=230) ) then
    matn1:=matn1+chr(225)
    else
    begin
    if (i=0) and ( (_k2<>32) or (_k2<>199) or (_k2<>207) or (_k2<>208) or (_k2<>209) or (_k2<>210) or (_k2<>142) or (_k2<>230)) then
    matn1:=matn1+chr(226);
    if ( (i<>0) and ( i<>Length(x)-1 ) ) and ( (k=32) or (_k2=32) or (_k2=199) or (_k2=207) or (_k2=208) or (_k2=209) or (_k2=210) or (_k2=142) or (_k2=230) ) then
    matn1:=matn1+chr(228)
    else
    begin
    if i=Length(x)-1 then matn1:=matn1+chr(228);
    if ( (i<>0) and (i<> length(x)-1)) and ( (k<>32) or (_k2<>32) or (_k2<>199) or (_k2<>207) or (_k2<>208) or (_k2<>209) or (_k2<>210) or (_k2<>142) or (_k2<>230) ) then
    matn1:=matn1+chr(227);
    end;
    end;//ain

    219:if ((i=0) or (k=32)) and ( (_k2=32) or (_k2=199) or (_k2=207) or (_k2=208) or (_k2=209) or (_k2=210) or (_k2=142) or (_k2=230) ) then
    matn1:=matn1+chr(229)
    else
    begin
    if (i=0) and ( (_k2<>32) or (_k2<>199) or (_k2<>207) or (_k2<>208) or (_k2<>209) or (_k2<>210) or (_k2<>142) or (_k2<>230)) then
    matn1:=matn1+chr(230);
    if ( (i<>0) and ( i<>Length(x)-1 ) ) and ( (k=32) or (_k2=32) or (_k2=199) or (_k2=207) or (_k2=208) or (_k2=209) or (_k2=210) or (_k2=142) or (_k2=230) ) then
    matn1:=matn1+chr(232)
    else
    begin
    if i=Length(x)-1 then matn1:=matn1+chr(232);
    if ( (i<>0) and (i<> length(x)-1)) and ( (k<>32) or (_k2<>32) or (_k2<>199) or (_k2<>207) or (_k2<>208) or (_k2<>209) or (_k2<>210) or (_k2<>142) or (_k2<>230) ) then
    matn1:=matn1+chr(231);
    end;
    end; ////ghain


    221:if (i=0) or (k=32) then matn1:=matn1+chr(233)
    else matn1:=matn1+chr(234);//f

    222:if (i=0) or (k=32) then matn1:=matn1+chr(235)
    else matn1:=matn1+chr(236);//ghaf

    223:if (i=0) or (k=32) then matn1:=matn1+chr(237)
    else matn1:=matn1+chr(238);//kaf

    144:if (i=0) or (k=32) then matn1:=matn1+chr(239)
    else matn1:=matn1+chr(240);//gaf

    225:if (i=0) or (k=32) then matn1:=matn1+chr(241)
    else matn1:=matn1+chr(243);//lam

    227:if (i=0) or (k=32) then matn1:=matn1+chr(244)
    else matn1:=matn1+chr(245);//mim

    228:if (i=0) or (k=32) then matn1:=matn1+chr(246)
    else matn1:=matn1+chr(247);//non

    230:matn1:=matn1+chr(248) ;//vav

    229:if (i=0) or (k=32) then matn1:=matn1+chr(249)
    else matn1:=matn1+chr(251);//h_do

    237:if (i=0) or (k=32) then matn1:=matn1+chr(252)
    else matn1:=matn1+chr(254);//ye

    48:matn1:=matn1+chr(128) ;//0
    49:matn1:=matn1+chr(129) ;//1
    50:matn1:=matn1+chr(130) ;//2
    51:matn1:=matn1+chr(131) ;//3
    52:matn1:=matn1+chr(132) ;//4
    53:matn1:=matn1+chr(133) ;//5
    54:matn1:=matn1+chr(134) ;//6
    55:matn1:=matn1+chr(135) ;//7
    56:matn1:=matn1+chr(136) ;//8
    57:matn1:=matn1+chr(137) ;//9
    161:matn1:=matn1+chr(138) ;// ,
    191:matn1:=matn1+chr(140) ;// ?
    40:matn1:=matn1+chr(40) ;// (
    41:matn1:=matn1+chr(41) ;// )
    47:matn1:=matn1+chr(47) ;// /
    32:matn1:=matn1+chr(255) ;// ' '
    else
    matn1:=matn1+'';
    end;
    end;

    tabdilfe:=matn1;
    end;

  12. #12
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همدان
    پست
    79
    اینم یه مثال
    احتمالا فیلد خالی بهش دادیدکه خطا گرفته.

    Bahmany عزیز سوالتون رو متوجه نشدم.
    فایل های ضمیمه فایل های ضمیمه

  13. #13
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039

    Smile

    واقعا عالی بود خیلی ممنون - در ضمن کدپیچ این چیه ؟ ایران سیستم یا سایه ؟

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

    لطفا ایمیلتو برام بذار
    آخرین ویرایش به وسیله Mahdi_S_T : شنبه 10 دی 1384 در 16:12 عصر

  14. #14
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همدان
    پست
    79
    خواهش می کنم.
    کد پیج ایران سیستمه. البته اگه وقت کنم روی سایه هم کار می کنم.
    امیدوارم مفید واقع شده باشه.
    en.jalilian2000@gmail.com

  15. #15
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    احسان جان این توابع خیلی کارم رو راه انداخت .
    هنوز این دو تابع رو برای سایه آماده نکردی ؟
    در ضمن اون بانکی که گفتم درست نشون نمیده به علت خرابی خود بانک بود !
    منتظرم ....

  16. #16
    سلام
    اینهم تابعی که من نوشته ام البته من برای کارم یک DLL ساختم

    library DOSWIN;

    uses
    SysUtils,
    Classes;

    {$R *.res}

    function FDOSWIN(FDW : STRING):PCHAR; STDCALL;
    VAR FD:STRING;
    T,T1:INTEGER;
    SS:CHAR;
    BEGIN
    FD:=FDW;
    FDW:='';
    IF TRIM(FD) <> '' THEN
    for t:=0 to length(FD) do
    begin
    ss:=FD[t];
    T1:=Ord(SS);
    case T1 of
    1..127:
    FDW:=FDW+SS;
    128: FDW:=FDW+CHR(48);
    129: FDW:=FDW+CHR(49);
    130: FDW:=FDW+CHR(50);
    131: FDW:=FDW+CHR(51);
    132: FDW:=FDW+CHR(52);
    133: FDW:=FDW+CHR(53);
    134: FDW:=FDW+CHR(54);
    135: FDW:=FDW+CHR(55);
    136: FDW:=FDW+CHR(56);
    137: FDW:=FDW+CHR(57);

    138: FDW:=CHR(161)+FDW;
    139: FDW:=CHR(220)+FDW;
    140: FDW:=CHR(191)+FDW;
    141: FDW:=CHR(194)+FDW;
    142: FDW:=CHR(198)+FDW;
    143: FDW:=CHR(193)+FDW;
    144: FDW:=CHR(199)+FDW;
    145: FDW:=CHR(199)+FDW;
    146: FDW:=CHR(200)+CHR(157)+FDW;
    147: FDW:=CHR(200)+FDW;
    148: FDW:=CHR(129)+CHR(157)+FDW;
    149: FDW:=CHR(129)+FDW;
    150: FDW:=CHR(202)+CHR(157)+FDW;
    151: FDW:=CHR(202)+FDW;
    152: FDW:=CHR(203)+CHR(157)+FDW;
    153: FDW:=CHR(203)+FDW;
    154: FDW:=CHR(204)+CHR(157)+FDW;
    155: FDW:=CHR(204)+FDW;
    156: FDW:=CHR(141)+CHR(157)+FDW;
    157: FDW:=CHR(141)+FDW;
    158: FDW:=CHR(205)+CHR(157)+FDW;
    159: FDW:=CHR(205)+FDW;
    160: FDW:=CHR(206)+CHR(157)+FDW;
    161: FDW:=CHR(206)+FDW;
    162: FDW:=CHR(207)+FDW;
    163: FDW:=CHR(208)+FDW;
    164: FDW:=CHR(209)+FDW;
    165: FDW:=CHR(210)+FDW;
    166: FDW:=CHR(142)+FDW;
    167: FDW:=CHR(211)+CHR(157)+FDW;
    168: FDW:=CHR(211)+FDW;
    169: FDW:=CHR(212)+CHR(157)+FDW;
    170: FDW:=CHR(212)+FDW;
    171: FDW:=CHR(213)+CHR(157)+FDW;
    172: FDW:=CHR(213)+FDW;
    173: FDW:=CHR(214)+CHR(157)+FDW;
    174: FDW:=CHR(214)+FDW;
    175: FDW:=CHR(216)+CHR(157)+FDW;
    176..223 : FDW:=CHR(35)+FDW;
    224: FDW:=CHR(217)+CHR(157)+FDW;
    225: FDW:=CHR(218)+CHR(157)+FDW;
    226: FDW:=CHR(218)+CHR(157)+FDW;
    227: FDW:=CHR(218)+FDW;
    228: FDW:=CHR(218)+FDW;
    229: FDW:=CHR(219)+CHR(157)+FDW;
    230: FDW:=CHR(219)+CHR(157)+FDW;
    231: FDW:=CHR(219)+FDW;
    232: FDW:=CHR(219)+FDW;
    233: FDW:=CHR(221)+CHR(157)+FDW;
    234: FDW:=CHR(221)+FDW;
    235: FDW:=CHR(222)+CHR(157)+FDW;
    236: FDW:=CHR(222)+FDW;
    237: FDW:=CHR(223)+CHR(157)+FDW;
    238: FDW:=CHR(223)+FDW;
    239: FDW:=CHR(144)+CHR(157)+FDW;
    240: FDW:=CHR(144)+FDW;
    241: FDW:=CHR(225)+CHR(157)+FDW;
    242: FDW:=CHR(225)+CHR(199)+FDW;
    243: FDW:=CHR(225)+FDW;
    244: FDW:=CHR(227)+CHR(157)+FDW;
    245: FDW:=CHR(227)+FDW;
    246: FDW:=CHR(228)+CHR(157)+FDW;
    247: FDW:=CHR(228)+FDW;
    248: FDW:=CHR(230)+FDW;
    249: FDW:=CHR(229)+CHR(157)+FDW;
    250: FDW:=CHR(229)+FDW;
    251: FDW:=CHR(229)+FDW;
    252: FDW:=CHR(237)+CHR(157)+FDW;
    253: FDW:=CHR(237)+CHR(157)+FDW;
    254: FDW:=CHR(237)+FDW;
    255: FDW:=CHR(255)+FDW;
    end;
    end;
    FDOSWIN:=PCHAR(FDW);
    END;

    exports
    FDOSWIN;

    begin
    end.

  17. #17
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    آقای شفیعی این برای سایه است یا ایران سیستم ؟

  18. #18

    کد مبدل در php

    ضمن تشکر از دوستی که کد مبدل این کدپیج عهد دقیانوس را نوشته، من برای نیاز خودم کد را در PHP بازنویسی کردم، گفتم شاید به درد دیگران هم بخورد، لازم به ذکر است که این کد با رشته های ترکیبی انگلیسی و فارسی مشکلی ندارد.

    مهرداد


    function irsys2ar($x)
    {
    $i=-1;$j=0;$k=0;$_k2=0;$matn1='';$mat2='';$mat3='';
    while (strlen($x)>= $i)
    {
    $i=$i+1;
    $j=ord($x{strlen($x)-$i});

    $k=ord($x{strlen($x)-$i+1});
    $_k2=ord($x{strlen($x)-$i-1});


    // ShowMessage(inttostr($j));
    switch($j)
    {
    case 141:$matn1.=chr(194) ; break;
    case 198:$matn1.=chr(142) ; break;
    case 143:$matn1.=chr(193) ;//hamzeh
    break;
    case 145:
    case 144: $matn1.=chr(199); break;

    // 144: $matn1.=chr(199);

    case 146:
    if ($_k2!=255)
    $matn1.=chr(200).chr(32);
    else
    $matn1.=chr(200);
    break;

    case 147: $matn1.=chr(200); break;
    case 148:
    if ($_k2!=255)
    $matn1.=chr(129).chr(32);
    else
    $matn1.=chr(129);
    break;
    case 149: $matn1.=chr(129); break;

    case 150:
    if ($_k2!=255)
    $matn1.=chr(202).chr(32) ;
    else
    $matn1.=chr(202);
    break;
    case 151:
    $matn1.=chr(202);//t
    break;

    case 152:
    if ($_k2!=255)
    $matn1.=chr(203).chr(32) ;
    else
    $matn1.=chr(203);
    break;
    case 153: $matn1.=chr(203);//sth
    break;

    case 154:
    if ($_k2!=255)
    $matn1.=chr(204).chr(32);
    else
    $matn1.=chr(204);
    break;
    case 155: $matn1.=chr(204);//gim
    break;

    case 156:
    if ($_k2!=255)
    $matn1.=chr(141).chr(32);
    else
    $matn1.=chr(141);
    break;
    case 157: $matn1.=chr(141);//ch
    break;

    case 158:
    if ($_k2!=255)
    $matn1.=chr(205).chr(32);
    else
    $matn1.=chr(205);
    break;
    case 159:
    $matn1.=chr(205);//h gimi
    break;

    case 160:
    if ($_k2!=255)
    $matn1.=chr(206).chr(32);
    else
    $matn1.=chr(206);
    break;
    case 161: $matn1.=chr(206);//kh
    break;

    case 162: $matn1.=chr(207);//d
    break;
    case 163: $matn1.=chr(208);//zth
    break;
    case 164: $matn1.=chr(209);//r
    break;
    case 165: $matn1.=chr(210);//z
    break;
    case 166: $matn1.=chr(142);//zgh
    break;
    case 167:
    if ($_k2!=255)
    $matn1.=chr(211).chr(32);
    else
    $matn1.=chr(211);
    break;
    case 168: $matn1.=chr(211);//sin
    break;
    case 169:
    if ($_k2!=255)
    $matn1.=chr(212).chr(32);
    else
    $matn1.=chr(212);
    break;
    case 170: $matn1.=chr(212);//shin
    break;

    case 171:
    if ($_k2!=255)
    $matn1.=chr(213).chr(32);
    else
    $matn1.=chr(213);
    break;

    case 172: $matn1.=chr(213);//sad
    break;

    case 173:
    if ($_k2!=255)
    $matn1.=chr(214).chr(32);
    else
    $matn1.=chr(214);
    break;
    case 174: $matn1.=chr(214);//zad
    break;

    case 175:
    if (($_k2=145) || ($_k2=227) || ($_k2=231) || ($_k2=250))
    $matn1.=chr(216);
    else
    $matn1.=chr(216).chr(32);//ta
    break;
    case 224:
    if (($_k2!=255) && ($_k2!=145))
    $matn1.=chr(217).chr(32);
    else
    $matn1.=chr(217);//za

    break;
    case 225:
    case 226:
    if ($_k2!=255)
    $matn1.=chr(218).chr(32);
    else
    $matn1.=chr(218);
    break;
    case 227:
    case 228:
    $matn1.=chr(218);//ain
    break;

    case 229:
    case 230:
    if ($_k2!=255)
    $matn1.=chr(218).chr(32);
    else
    $matn1.=chr(219);
    break;
    case 231:
    case 232:
    $matn1.=chr(219);//ghain
    break;

    case 233:
    if ($_k2!=255)
    $matn1.=chr(221).chr(32);
    else
    $matn1.=chr(221);
    break;
    case 234:
    $matn1.=chr(221);//f
    break;

    case 235:
    if ($_k2!=255)
    $matn1.=chr(222).chr(32);
    else
    $matn1.=chr(222);
    break;
    case 236:
    $matn1.=chr(222);//ghaf
    break;

    case 237:
    if ($_k2!=255)
    $matn1.=chr(223).chr(32);
    else
    $matn1.=chr(223);
    break;
    case 238: $matn1.=chr(223);//kaf
    break;

    case 239:
    if ($_k2!=255)
    $matn1.=chr(144).chr(32);
    else
    $matn1.=chr(144);
    break;
    case 240: $matn1.=chr(144);//ghaf
    break;

    case 241:
    if ($_k2!=255)
    $matn1.=chr(225).chr(32);
    else
    $matn1.=chr(225);
    break;
    case 243:
    $matn1.=chr(225);//lam
    break;

    case 242:
    $matn1.=chr(225).chr(199);//la
    break;
    case 244:
    if ($_k2!=255)
    $matn1.=chr(227).chr(32);
    else
    $matn1.=chr(227);
    break;
    case 245:
    $matn1.=chr(227);//mim
    break;

    case 246:
    if ($_k2!=255)
    $matn1.=chr(228).chr(32);
    else
    $matn1.=chr(228);
    break;
    case 247: $matn1.=chr(228);//non
    break;

    case 248: $matn1.=chr(230);//vav
    break;

    case 249:
    if ($_k2!=255)
    $matn1.=chr(229).chr(32);
    else
    $matn1.=chr(229);

    break;
    case 250:
    case 251: $matn1.=chr(229);//h
    break;

    case 252:$matn1.=chr(237).chr(32); break;
    case 253:
    if ($_k2!=255)
    $matn1.=chr(237).chr(32);
    else
    $matn1.=chr(237);
    break;
    case 254: $matn1.=chr(237);//non
    break;

    case 128:$matn1.=chr(48) ;//0
    break;
    case 129:$matn1.=chr(49) ;//1
    break;
    case 130:$matn1.=chr(50) ;//2
    break;
    case 131:$matn1.=chr(51) ;//3
    break;
    case 132:$matn1.=chr(52) ;//4
    break;
    case 133:$matn1.=chr(53) ;//5
    break;
    case 134:$matn1.=chr(54) ;//6
    break;
    case 135:$matn1.=chr(55) ;//7
    break;
    case 136:$matn1.=chr(56) ;//8
    break;
    case 137:$matn1.=chr(57) ;//9
    break;

    case 37:$matn1.=chr(37) ;//.
    break;
    case 42:$matn1.=chr(42) ;//%
    break;
    case 45:$matn1.=chr(45) ;//-
    break;
    case 46:$matn1.=chr(46) ;//.
    break;

    case 48:$matn1.=chr(48) ;//0
    break;
    case 49:$matn1.=chr(49) ;//1
    break;
    case 50:$matn1.=chr(50) ;//2
    break;
    case 51:$matn1.=chr(51) ;//3
    break;
    case 52:$matn1.=chr(52) ;//4
    break;
    case 53:$matn1.=chr(53) ;//5
    break;
    case 54:$matn1.=chr(54) ;//6
    break;
    case 55:$matn1.=chr(55) ;//7
    break;
    case 56:$matn1.=chr(56) ;//8
    break;
    case 57:$matn1.=chr(57) ;//9
    break;

    case 138:$matn1.=chr(161) ;// ,
    break;
    case 140:$matn1.=chr(191) ;// ?
    break;
    case 40:$matn1.=chr(40) ;// (
    break;
    case 41:$matn1.=chr(41) ;// )
    break;
    case 47:$matn1.=chr(47) ;// /
    break;
    case 255:$matn1.=chr(32) ;// ' '
    break;

    default:
    $matn1.=chr($j);
    }
    // ShowMessage($matn1);
    }
    //

    ///
    $mat2='';$mat3='' ;

    for($i=0;$i<strlen($matn1);$i++)
    {
    // ShowMessage(matn{$i});
    if(strpos("1234567890/\'\\-()[]:{}&#!~,;?|.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl mnopqrstuvwxyz ",$matn1{$i})===false)
    {
    if(strlen($mat2)>0)
    {
    $mat3=$mat3.$mat2.$matn1{$i} ;
    $mat2='';
    }
    else
    $mat3=$mat3.$matn1{$i} ;
    }
    else
    {

    if ($matn1{$i}=='(')
    $matn1{$i}=')';
    else
    if ($matn1{$i}==')')
    $matn1{$i}='(';
    $mat2=$matn1{$i}.$mat2;
    }
    }


    return trim($mat3.$mat2);
    }



  19. #19
    با سلام خدمت دوستان می خواستم ببینم هیچکس این کد تبدیل از ویندوز به داس را توی VB6نداره . با تشکر

  20. #20
    من اینکار رو با مبدل پارسا 99 انجام می دادم
    دیگه نیازی به برنامه نویسی نبود

  21. #21
    با سلام
    این کد را در کجا بنویسم

  22. #22
    براي تبديل فونت سايه كسي تابعي سراغ نداره ؟ (تبديل سايه به ايران سيستم يا سايه به ويندوز)

  23. #23
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1385
    پست
    30

    نقل قول: تابعی برای تبدیل بانکها از dos به windows

    سلام
    تبديل اين ديتابيس كسي داره ؟؟؟
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip DAT.zip‏ (1.3 کیلوبایت, 123 دیدار)

  24. #24

    نقل قول: تابعی برای تبدیل بانکها از dos به windows

    با عرض سلام و خسته نباشی خدمت دوستان
    من با دلفی 7 یک نرم افزار برای مطب نوشتم که حدود 2 ماه وقتمو گرفت ولی موقع تحویل متوجه شدم که دکتر باید اطلاعات بیمه رو به صورت یک فایل txt که اصطلاحا بهش میگن دیسکت بیمه تحویل بده.که اسمشم فکر کنم باید NOS1.txtباشه. من چند تا فایل txt که با نرم افزار های دیگه ساخته شده بود رو دیدم که متن عجیبی داشت منم ازش چیزی نفهمیدم بعد متوجه شدم که اداره بیمه این فایل رو بوسیله یک برنامه تحت dos باز میکنه .حالا من موندم چطوری یک همچین خروجی از برنامه ام بگیرم ؟البته چند تا سئوال دیگه هم دارم.
    1. این فایل txt از report برنامه هست یا اطلاعات داخل بانک؟
    2. چطور می تونم این فایل txt رو تو دلفی بسازم ؟
    3. اطلاعاتی که بیمه میخواد باید بر اسا س فیلد ها و نام فیلد خاصی باشد؟یعنی نام فیلدها توسط بیمه تعریف شده و مشخص شده می باشد؟
    4.برای این تبدیل از الگوریت خاصی باید تبعیت کرد؟
    5. جریان این فایلها dbf چیه؟و چطور باید تو برنامه ام ازش استفاده کنم؟
    در ضمن ممنون میشم اگر دوستان سورس و نمونه برنامه ای دارن بزارن .
    من نمونه کدی که صفحه های قبل بوده رو آزمایش کردم ولی خروجیش با فایل txt ی که من نمونشو دیدم فرق داشت . باتشکر فراوان
    **** راستی یکی بگه چطوری میتونم فایلمو اینجا بزارم تا بقیه بتونن دانلود کنن؟***

  25. #25

    نقل قول: تابعی برای تبدیل بانکها از dos به windows

    **** راستی یکی بگه چطوری میتونم فایلمو اینجا بزارم تا بقیه بتونن دانلود کنن؟***
    برای این کار در پایین کادری که پستت رو در اون می نویسی بر روی حالت پیشرفته کلیک کن و برای ارسال فایل در صفحه ای که باز می شه با استفاده از قصمت ضمیمه نسبت به ارسال فایل اقدام کن.
    فایلت رو قرار بده. ما هم هر کمکی که از دستمون بر بیاد انجام می دیم.

  26. #26

    نقل قول: تابعی برای تبدیل بانکها از dos به windows

    اینم فایل txt ی که گفتم البته یک نرم افزار هم دانلود کردم که رایگانه ولی چون حجمش کمی بالاست تو این
    سایت نتونستم بزارم ولی تو سایت دیگه ای آپلود میکنم بعد لینکشو میزارم این فایل خروجی همون برنامه است:
    NOS1.rar

  27. #27

    نقل قول: تابعی برای تبدیل بانکها از dos به windows

    اینم لینک دانلود نرم افزاری که گفتم و فایل خروجیشو بالا گذاشتم:
    http://rapidshare.com/files/44531533...rdis_2.3.7.zip

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

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

  1. عدم نمایش Windows service در سرویس های Windows
    نوشته شده توسط Behsharp در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 23 مهر 1386, 12:12 عصر
  2. نصب vs.net بر روی windows 98
    نوشته شده توسط وفایی در بخش VB.NET
    پاسخ: 8
    آخرین پست: پنج شنبه 19 خرداد 1384, 06:33 صبح

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

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