现在有一个文本文件比方说里面内容是
字符0A 0B现在要求读取这个0A 0B字符后把0A 和0B当成16进制写到另外一个文件里还要能去调空格
文本文件内容是这样
0A 23 EF B2 等这样的字符 读取这些字符 把0A 23 EF B2这些当16进制的值写成一个新文件! 
  
就是说新文件用16进制查看器看到里面的内容就是 转换前用记事本 打开的内容!

解决方案 »

  1.   

    不是的!  是这样的 比方说一个文本文件1.txt 里面的内容是0A 0B 0C字符串 现在软件读取他 然后直接写16进制成另外一个文件dat.dat dat.dat用16进制文件查看器查看里面的内容就是0A0B0C 这样子
    帮忙啊 各位!
      

  2.   

    怎么不是呀?我说的转换就是比如STR=0A 0B 0C
    删去空格后,STR=0A0B0C
    隔两位转换一次指TMPSTR=STR[0]+STR[1],再把TMPSTR转成整数,再用CHR(TMPSTR)转成字符,然后TMPSTR=STR[2]+STR[3],如此循环下去.
    最后把转换后的字符写入文件
      

  3.   

    完整代码自己思考才能提高自己嘛,我给个思路.十六进制数转为整数:
         STRTOINT('$'+TMPSTR)
    整数转字符:
         CHR(INT)
    读文件用STRINGLIST来LOAD,再转为STR删空格就依次读字符串,遇到空格跳过.
      

  4.   

    这个好象很简单,楼主怎么啦
    给你几个函数,你看看用吧//函数描述:截去字符串中的空格
    //参数    :s       :要处理的字符串
    //返回值  :        :最后得到的字符串
    //例程    :        s:='1 2 3 4';
    //        :        result:='1234'
    function DelBlank(s:string):string;
    var
    ws:string;
    i:integer;
    beginfor i:=1 to length(s) do
    if s[i]<>' ' then
    ws:=ws+s[i];
    result:=ws;end;   //*******************************************
       // 将16进制转换成整形在转换成字符串(长度为8)
       // modified by wanjun
       //*******************************************
    {
    function   hextointtostr(P:string;start,finish:integer):string;
    var
     i:integer;
     sum:real;
     str:string;
    begin
     sum:=0;
     for i:=start to finish do
     sum:=sum+(ord(p[i]))*exp((finish-i)*ln(256));
     str:=format('%.8d',[trunc(sum)]);
     result:=str;
    end;
    }