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

نام تاپیک: تبدیل اطلاعات

  1. #1

    Question تبدیل اطلاعات

    سلام دوستان .
    من یک فایل دارم که تو اون یک سری رکورد از یک سیستم تحت داس وجود داره .
    می‌خوام اطلاعات اون رو تبدیل به کدپیچ ویندوز کنم .
    کمکم کنید ممنون می‌شم .

  2. #2
    قبلا" یه تابع در همین سایت واسه تبدیل اطلاعات از داس به ویندوز و ویندوز به داس قرار دادم

  3. #3
    function WinToDosStr(WinStr:string):string;
    var Nflag :boolean;
    Ch : Char;
    T,N,M,I,J,DosI :integer;
    TmpStr,Str1,Str2 :String;
    DosSt :String;
    begin
    DosSt:='';
    // M:=length(WinStr);
    // for I:=1 to M do
    // if ord(winstr[i])=157 then
    // WinStr[i]:=' ';
    WinStr:=WinStr+' ';
    M:=length(WinStr);
    for I:=1 to M do
    DosSt:=DosSt + #32;
    DosI:=M;
    Str1:='';
    for I:=1 To M do
    begin
    Nflag:=False;
    case WinStr[i] Of
    ' ' :Begin
    Ch:=#32;
    end;
    '.','0' .. '9'
    : begin
    Ch:=chr(ord(WinStr[i])+80);
    if (WinStr[i])='.' then
    ch:=#140;
    str1:=str1+ch;
    Nflag:=true;
    ch:=#0;
    end;
    'a' .. 'z',
    'A' .. 'Z'
    : begin
    Ch:=WinStr[i];
    str1:=str1+ch;
    Nflag:=true;
    ch:=#0;
    end;
    'Â' :begin
    ch:=#141;
    end;
    'Æ' :Begin
    Ch:=#142;
    end;
    'Á' :Begin
    Ch:=#143;
    end;
    'Ç' :begin
    Ch:=#145;
    if((WinStr[i-1]=' ')or
    (WinStr[i-1]=#157)or
    (WinStr[i-1]='Ç')or
    (WinStr[i-1]='æ')or
    (WinStr[i-1]='Ï')or
    (WinStr[i-1]='Ð')or
    (WinStr[i-1]='Ñ')or
    (WinStr[i-1]='Ò')or
    (WinStr[i-1]='Ž')or
    (i=1 )
    )
    then
    ch:=#144;
    end;
    'È' : begin
    Ch:=#147;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    Ch:=#146;
    end;
    '' : begin
    Ch:=#149;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    Ch:=#148;
    end;
    'Ê' :begin
    Ch:=#151;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    Ch:=#150;
    end;
    'Ë' :begin
    Ch:=#153;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#152
    end;
    'Ì' :begin
    Ch:=#155;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#154
    end;
    '' :begin
    Ch:=#157;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#156;
    end;
    'Í' :begin
    Ch:=#159;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#158;
    end;
    'Î' :begin
    Ch:=#161;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#160;
    end;
    'Ï' :begin
    Ch:=#162;
    end;
    'Ð' :begin
    Ch:=#163;
    end;
    'Ñ' :begin
    Ch:=#164;
    end;
    'Ò' :begin
    Ch:=#165;
    end;
    'Ž' :begin
    Ch:=#166;
    end;
    'Ó' :begin
    Ch:=#168;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    Ch:=#167;
    end;
    'Ô' :begin
    Ch:=#170;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#169;
    end;
    'Õ' :begin
    Ch:=#172;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#171;
    end;
    'Ö' :begin
    Ch:=#174;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#173;
    end;
    'Ø' :begin
    ch:=#175 ;
    end;
    'Ù' :begin
    ch:=#224
    end;
    'Ú' :begin
    Ch:=#227;
    if((WinStr[i-1]=' ')or
    (WinStr[i-1]=#157)or
    (WinStr[i-1]='Ç')or
    (WinStr[i-1]='æ')or
    (WinStr[i-1]='Ï')or
    (WinStr[i-1]='Ð')or
    (WinStr[i-1]='Ñ')or
    (WinStr[i-1]='Ò')or
    (WinStr[i-1]='Ž')or
    (i=1) )
    then
    ch:=#228;
    if ((WinStr[i+1]=' ') or (i=M)) then
    if (ch=#228) then
    ch:=#225
    else
    ch:=#226;
    end;
    'Û' :begin
    Ch:=#231;
    if((WinStr[i-1]=' ')or
    (WinStr[i-1]=#157)or
    (WinStr[i-1]='Ç')or
    (WinStr[i-1]='æ')or
    (WinStr[i-1]='Ï')or
    (WinStr[i-1]='Ð')or
    (WinStr[i-1]='Ñ')or
    (WinStr[i-1]='Ò')or
    (WinStr[i-1]='Ž')or
    (i=1) )
    then
    ch:=#232;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    if (ch=#232) then
    ch:=#229
    else
    ch:=#230;
    end;
    'Ý' :begin
    Ch:=#234;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#233;
    end;
    'Þ' :begin
    Ch:=#236;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#235;
    end;
    'ß' :begin
    Ch:=#238;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#237;
    end;
    '' :begin
    Ch:=#240;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#239 ;
    end;
    'á' :begin
    Ch:=#243;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#241;
    end;
    'ã' :begin
    Ch:=#245;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ') or (WinStr[i+1]='Â')) then
    ch:=#244;
    end;
    'ä' :begin
    Ch:=#247;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#246;
    end;
    'æ' :begin
    ch:=#248 ;
    end;
    'å' :begin
    Ch:=#250;
    if((WinStr[i-1]=' ')or
    (WinStr[i-1]=#157)or
    (WinStr[i-1]='Ç')or
    (WinStr[i-1]='æ')or
    (WinStr[i-1]='Ï')or
    (WinStr[i-1]='Ð')or
    (WinStr[i-1]='Ñ')or
    (WinStr[i-1]='Ò')or
    (WinStr[i-1]='Ž')or
    (i=1 ))
    then
    ch:=#251;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#249;
    end;
    'í' :begin
    Ch:=#254;
    if ((WinStr[i+1]=#157) or (WinStr[i+1]=' ')) then
    ch:=#252;
    if (ord(WinStr[i])=236)then
    Ch:=#254;
    end;
    'Ü' :begin
    ch:=#139 ;
    end;
    else
    ch:=WinStr[i];
    end;
    if (Nflag=false) and(ch<>#0) and (DosI>0 )then
    begin
    N:=length(str1);
    for j:=N downto 1 do
    if (WinStr[i]<>#157) then
    begin
    DosSt[DosI]:=str1[j];
    Dec(DosI);
    end;
    if (WinStr[i]<>#157) then
    begin
    DosSt[DosI]:=Ch; Dec(DosI);
    end;
    str1:='';
    end;
    end;
    if (Nflag=True) and(ch=#0) and (DosI>0 )then
    begin
    N:=length(str1);
    for j:=N downto 1 do
    begin
    DosSt[DosI]:=str1[j];
    Dec(DosI);
    end;
    end;
    WinToDosStr:=copy(DosSt,2,length(DosSt));
    end;
    function dostowinstriran(DosStr :string):String;
    var
    N,I :integer;
    StrTmp,WinSt:String;
    winstr:string;
    // EnFlag,OldFlag :boolean;
    begin
    N:=StrLen(Pchar(DosStr));
    WinSt:='';
    WinStr:='';
    for I:=N DownTo 1 do
    begin

    case DosStr[i] Of
    #32,#127 :Begin
    // EnFlag:=True;
    WinStr:= ' '+ WinStr ;
    end ;
    #38 .. #48:
    begin
    // EnFlag:=True;
    WinStr:= WinStr+chr(ord(DosStr[i])) ;
    end;
    #128 .. #138
    : begin
    // EnFlag:=True;
    WinStr:= WinStr+ chr(ord(DosStr[i])-80) ;
    end;
    #141 :begin
    // EnFlag:=True;
    WinStr:= '&Acirc;'+ WinStr ;
    end;
    #142 :Begin
    // EnFlag:=True;
    WinStr:='&AElig;'+ WinStr ;
    end;
    #143 :Begin
    WinStr:= '&Aacute;'+ WinStr ;
    // EnFlag:=True;
    end;
    #144..#145 :begin
    // EnFlag:=True;
    WinStr:= '&Ccedil;'+ WinStr ;
    { if DosStr[i]=#145 then
    WinStr:= ' '+ WinStr ;}
    end;
    #146..#147
    : begin
    // EnFlag:=True;
    WinStr:= '&Egrave;'+ WinStr ;
    if DosStr[i]=#146 then
    WinStr:= ' '+ WinStr ;
    end;
    #148..#149
    : begin
    // EnFlag:=True;
    WinStr:= ''+ WinStr ;
    if DosStr[i]=#148 then
    WinStr:= ' '+ WinStr ;
    end;
    #150..#151: begin
    // EnFlag:=True;
    WinStr:= '&Ecirc;'+ WinStr ;
    if DosStr[i]=#150 then
    WinStr:= ' '+ WinStr ;
    end;
    #152..#153: begin
    // EnFlag:=True;
    WinStr:= '&Euml;'+ WinStr ;
    if DosStr[i]=#152 then
    WinStr:= ' '+ WinStr ;
    end;
    #154..#155: begin
    // EnFlag:=True;
    WinStr:= '&Igrave;'+ WinStr ;
    if DosStr[i]=#154 then
    WinStr:= ' '+ WinStr ;
    end;
    #156..#157: begin
    // EnFlag:=True;
    WinStr:= ''+ WinStr ;
    if DosStr[i]=#156 then
    WinStr:= ' '+ WinStr ;
    end;
    #158..#159: begin
    // EnFlag:=True;
    WinStr:= '&Iacute;'+ WinStr ;
    if DosStr[i]=#158 then
    WinStr:= ' '+ WinStr ;
    end;
    #160..#161: begin
    // EnFlag:=True;
    WinStr:= '&Icirc;'+ WinStr ;
    if DosStr[i]=#160 then
    WinStr:= ' '+ WinStr ;
    end;
    #162 :begin
    // EnFlag:=True;
    WinStr:= '&Iuml;'+ WinStr ;
    end;
    #163 :begin
    // EnFlag:=True;
    WinStr:= '&ETH;'+ WinStr ;
    end;
    #164 :begin
    // EnFlag:=True;
    WinStr:= '&Ntilde;'+ WinStr ;
    end;
    #165 :begin
    // EnFlag:=True;
    WinStr:= '&Ograve;'+ WinStr ;
    end;
    #166 :begin
    // EnFlag:=True;
    WinStr:= 'Ž'+ WinStr ;
    end;
    #167..#168 :begin
    // EnFlag:=True;
    WinStr:= '&Oacute;'+ WinStr ;
    if DosStr[i]=#167 then
    WinStr:= ' '+ WinStr ;
    end;
    #169..#170 :begin
    // EnFlag:=True;
    WinStr:= '&Ocirc;'+ WinStr ;
    if DosStr[i]=#169 then
    WinStr:= ' '+ WinStr ;
    end;
    #171..#172 :begin
    // EnFlag:=True;
    WinStr:= '&Otilde;'+ WinStr ;
    if DosStr[i]=#171 then
    WinStr:= ' '+ WinStr ;
    end;
    #173..#174 :begin
    // EnFlag:=True;
    WinStr:= '&Ouml;'+ WinStr ;
    if DosStr[i]=#173 then
    WinStr:= ' '+ WinStr ;
    end;
    #175..#176 :begin
    // EnFlag:=True;
    WinStr:= '&Oslash;'+ WinStr ;
    // if DosStr[i]=#175 then
    // WinStr:= ' '+ WinStr ;
    end;
    #224 :begin
    // EnFlag:=True;
    WinStr:= '&Ugrave;'+ WinStr ;
    end;
    #225..#228 :begin
    // EnFlag:=True;
    WinStr:= '&Uacute;'+ WinStr ;
    if DosStr[i]=#225 then
    WinStr:= ' '+ WinStr ;
    end;
    #229..#232 :begin
    // EnFlag:=True;
    WinStr:= '&Ucirc;'+ WinStr ;
    if DosStr[i]=#229 then
    WinStr:= ' '+ WinStr ;
    end;
    #233..#234 :begin
    // EnFlag:=True;
    WinStr:= '&Yacute;'+ WinStr ;
    if DosStr[i]=#233 then
    WinStr:= ' '+ WinStr ;
    end;
    #235..#236 :begin
    // EnFlag:=True;
    WinStr:= '&THORN;'+ WinStr ;
    if DosStr[i]=#235 then
    WinStr:= ' '+ WinStr ;
    end;
    #237..#238 :begin
    // EnFlag:=True;
    WinStr:= '&szlig;'+ WinStr ;
    if DosStr[i]=#237 then
    WinStr:= ' '+ WinStr ;
    end;
    #239..#240 :begin
    // EnFlag:=True;
    WinStr:= ''+ WinStr ;
    if DosStr[i]=#239 then
    WinStr:= ' '+ WinStr ;
    end;
    #241..#243 :begin
    // EnFlag:=True;
    WinStr:= '&aacute;'+ WinStr ;
    if DosStr[i]=#241 then
    WinStr:= ' '+ WinStr ;
    if DosStr[i]=#242 then
    WinStr:= '&Ccedil;'+ WinStr ;
    end;
    #244..#245 :begin
    // EnFlag:=True;
    WinStr:= '&atilde;'+ WinStr ;
    if DosStr[i]=#244 then
    WinStr:= ' '+ WinStr ;
    end;
    #246..#247 :begin
    // EnFlag:=True;
    WinStr:= '&auml;'+ WinStr ;
    if DosStr[i]=#246 then
    WinStr:= ' '+ WinStr ;
    end;
    #248 :begin
    // EnFlag:=True;
    WinStr:= '&aelig;' + WinStr ;
    end;
    #249..#251 :begin
    // EnFlag:=True;
    WinStr:= '&aring;'+ WinStr ;
    if DosStr[i]=#249 then
    WinStr:= ' '+ WinStr ;
    end;
    #252..#254 :begin
    // EnFlag:=True;
    WinStr:= '&iacute;'+ WinStr ;
    if DosStr[i]=#252 then
    WinStr:= ' '+ WinStr ;
    end;
    #139 :begin
    // EnFlag:=True;
    WinStr:= '&Uuml;'+ WinStr ;
    end
    else begin
    // EnFlag:=True;
    WinStr:= WinStr + DosStr[i] ;
    end;
    end; // End of case
    end; // End Of for I:=N DownTo 1 do

    N:=Length(WinStr);
    StrTmp:='';
    for I:=1 To N do
    StrTmp:=WinStr[i] + StrTmp;
    dostowinstriran:=strtmp;
    //DosToWinStr:=winstr;
    end;

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

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