我要把 s:string
i:int64s:=ff 转换成i:=$ff怎么转换?哪位帮帮小弟

解决方案 »

  1.   


    这样转换了 i:=255 啊 不是 i:=$ff我想转换成十六进制的
      

  2.   

    那你直接用i:=$ff就行了,如果想从字符串中拼接,就不能直接赋值
      

  3.   

    楼上的兄台 你好是这样,我有一条16进制的字符串 我从INI文件里读出来的 ,我想把它赋值给 i 然后写入内存 我怎么写都不行。你能教教我应该怎么做吗?或着告诉我思路也可以。谢谢
      

  4.   

    没有完全明白楼主的意思,是不是要把Integer转换成16进制字符串?是的话可以考虑IntToHex()函数
      

  5.   


    这样转换了 i:=255 啊 不是 i:=$ff 我想把 i 转换成十六进制的
      

  6.   

    IntToHex(i,2) 这个不是又转成字符串了?我的意思是 S:=FF ,然后 把值赋给 i ,结果是 i:=$FF
    可能我的表达有问题,不好意思哈。。
      

  7.   

    如果用 i := StrToInt64('$ff'); 的话 得到的结果是 i:=255
    不是我想要的 i:=$FF
      

  8.   

    这是我见过最白痴的问题了,$FF不就是255吗,你给i赋$FF和i:=255有什么区别。你显示的时候把i转成十六进制不就是FF了。 
      

  9.   


    这位兄弟,我是要做个转换写入内存,不是要显示出来,况且从ini文件中读出的字符串有很长,转换之后数字过大出现错误,如果这么转换可以的话我也不会来提问,要是能转换成16进制的形式的话,就能够转换。。
      

  10.   

    哦,哪位老大能告诉我下思路,我读到的s:='474554202F616C65727420485454502F312E310D0A557365722D4167656E743A20426C697A7A6172642057656220436C69656E740D0A486F73743A206C61756E636865722E77617263726166746368696E612E636F6D0D0A43616368652D436F6E74726F6C3A206E6F2D63616368650D0A436F6F6B69653A205F5F75746D613D39333936323236372E313738363630363136392E313235383631323036332E313235393630393034342E313235393736333530302E353B205F5F75746D7A3D39333936323236372E313235393736333530302E352E332E75746D6373723D776F772E3136332E636F6D7C75746D63636E3D28726566657272616C297C75746D636D643D726566657272616C7C75746D6363743D2F3B205F6E7465735F6E6E69643D38343535356536626632653465303635623764383436323932323265623561372C300D0A0D0A47'我要把它写在内存里,小弟对操作内存方面是小白,如果直接写到内存中,在读出来的值就是这个字符串的ASC码,我想直接把S 写进去,应该怎么弄,谢谢各位啊
      

  11.   

      StrToIntDef()
      IntToHex()
    两个方法实现,或者自己写一个!
      

  12.   

    一楼 二楼都对了啊i := 255;跟i := $ff; 是一回事,存的是同样东东,从人的角度用不同进制表示而已这个S 得一个个用1-2楼主方法转换到一个数组里去