Rejestr - problem z wartościami DWORD, z wartością literową

0

Witam,
mam problem z uwzględnieniem w wartości dword wartości złożonej, z liter (a jak wiadomo system szesnastkowy uwzględnia od A do F). Gdy używam funkcji Integer i chcę wpisać wartość np. FF, to występuje błąd
undeclared identifier: 'ff'
Podejrzewam, że kod należy przekształcić, tak jak to było w przypadku wartości binarnych przy uwzględnianiu wartości składających się z większej liczby członów.
Niestety w przypadku Integer nie wiem jak to zrobić..
A tak wygląda przykładowy kod z użyciem wartości literowych, przy którym występuje ten błąd:

procedure TForm3.Button9Click(Sender: TObject);
var Reg:TRegistry;
begin
  Reg:=TRegistry.Create;
  try
    Reg.RootKey:=HKEY_CURRENT_USER;
    Reg.OpenKey('Software\Microsoft\Command Processor',True);
    Reg.WriteInteger('DefaultColor',f);
  finally
    Reg.Free;
  end;
end;

A może było by łatwiej przekształcić ten kod tak, aby wpisywał wartości w systemie dziesiętnym, a nie szesnastkowym (np. 255, zamiast FF)?

0

jak chcesz zapisywać w systemie szesnastkowym to zapisuj to jako string a jeśli musi to być jako integer to musisz zamieniać na system dziesiętny

0
Arthan napisał(a)

jak chcesz zapisywać w systemie szesnastkowym to zapisuj to jako string a jeśli musi to być jako integer to musisz zamieniać na system dziesiętny

Hmmm musi być integer niestety (w przykładzie, który podałem niekoniecznie, ale w innych trzeba), możesz mi opisać, jak zmienić ten kod tak, aby zapisywał w systemie dziesiętnym, a nie szesnastkowym?

0

w internecie (na 4P również) z łatwością znajdziesz jak zamienić liczbę z hex na int ;)

0

Thx, już wiem co zrobić ^^, dzięki za podsunięcie pomysłu z HexToInt.

1 użytkowników online, w tym zalogowanych: 0, gości: 1