Programowanie w języku Delphi » FAQ

Konwersja liczby heksadecymalnej na integer

  • 4 komentarze
  • 2008 odsłon
  • Oceń ten tekst jako pierwszy
function HexToInt(const Hex: String; Sign: Boolean = False): Integer;
var
  Int, Code: Integer;
begin
  // Konwersja...
  Val('$' + Hex, Int, Code);
  // Gdy wystapi error podczas konwersji
  if Code <> 0 then Result := 0 else
  // Parametr Sign odpowiada za dodanie (lub nie) znaku;
  // Liczba ze znakiem to liczba ujemna
  if Sign then Result := -Int else Result := Int;
end;
 
// For example:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption := FormatFloat('#,###', HexToInt('7FFFFFFF', True));
  Caption := Caption + ', ' + IntToStr(HexToInt('7FFFFFFF'));
end;

4 komentarze

warlock 2004-07-31 23:50

ColorToStr też działa!!!

wotek 2004-04-05 10:07

Masz racje, ale do tego potrzeba unitu SysUtils; rozmiar programu wtedy bardzo sie zwiekszy...

MatroX 2004-03-31 14:15

Sorry: StrToIntDef('$ABCDEF', 0);

MatroX 2004-03-31 14:13

Caption := FormatFloat('#.###', StrToInt('$ABCDEF'));

Nie łatwiej? :)