Konwersja liczby heksadecymalnej na integer

wotek
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;
FAQ

4 komentarzy

ColorToStr też działa!!!

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

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

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

Nie łatwiej? :)