Dodaj do ulubionych

hex to str

IP: *.wroclaw.dialog.net.pl 12.02.04, 20:19
czy jest w delphim jakies polecenie na zmiane z hex na stringa i na odwrot. jezeli nie ma to moze ktos poda mi link do programu ktory bedzie to robil, bo szukalem tego caly dzien i znajdowalem tylko tablice ascii
Obserwuj wątek
    • Gość: maciej__ Re: hex to str IP: *.neoplus.adsl.tpnet.pl 12.02.04, 22:58
      Sorki ale nie ma czegos takiego jak hex na str
      jest tylko strtoint lub inttistr
      wiesz najpierw musisz zamienic liczbe 16 na 10 nie che tego pisac wiec masz
      progerm co zamienia z 10 na 16
      var
      w,r:integer;
      s:string;
      begin
      if Edit1.text<>'' then w:=strtoint(edit1.Text)
      else w:=0;
      s:='';
      repeat
      r:= w mod 16;
      w:=w div 16;
      case r of
      10: s:= 'A' + s;
      11: s:= 'B' + s;
      12: s:= 'C' + s;
      13: s:= 'D' + s;
      14: s:= 'E' + s;
      15: s:= 'F' + s;
      else
      s:= inttostr(r)+ s;
      end;
      until w=0 ;
      edit2.text:=s;
      end;
      • Gość: w++ Re: hex to str IP: *.katowice.cvx.ppp.tpnet.pl 13.02.04, 03:13
        Jeszcze prościej.
        - z liczby na string szesnastkowy:
        jest gotowa funkcja IntToHex ( w module sysutils) zamieniająca integer na
        string. Ma drugi argument - ile znaków ma być (jak trzeba to od lewej dopełnia
        zerami).
        n.p. IntToHex(254,6) daje w wyniku stringa '0000FE' .
        Jeśli mamy stringa z zapisem liczby dziesiętnej
        n.p.
        var
        s:string;
        .
        .
        s:='254'; //postać dziesiętna
        to IntToHex(StrToInt(s),6) da nam wynik j.w.

        - ze stringu szesnastkowego na integer(ewentualnie zamieniony na string funkcją
        IntToStr) wystarczy zwykła funkcja StrToInt, z tym że na początku musi być dolar:
        n.p.
        var
        s:string;
        .
        s:='fe'; //zapis szesnastkowy
        s:='$'+s; //dodajemy dolar z lewej
        i wtedy StrToInt(s) daje w wyniku integer równy 254,
        a jak chcemy stringa to IntToStr(StrToInt(s)) da nam string '254'

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka