Konwersja kodu

0

Próbowałem przetłumaczyć ten kod z VB do Delphi (służy do włączania / wyłączania - Automatycznie wykryj ustawienia):

Moja wiedz na temat VB jest zerowa, czego skutkiem jest ten kod:

function DecToHex(Num: integer) : string;
begin
  DecToHex := Format('%x', [Num]);
end;

procedure SetIEAutoDetect(Enable: Boolean);
var
  Registry: TRegistry;
  Buf, pBuf: Integer;
  Byte, pByte: String;
begin
  Registry := TRegistry.Create;
  Registry.RootKey := HKEY_CURRENT_USER;
  if Registry.OpenKeyReadOnly('Software\Microsoft\Windows\CurrentVersion\Internet Settings') then
    begin
      Registry.ReadBinaryData('DefaultConnectionSettings', Buf, SizeOf(Buf));
      Registry.CloseKey;
      Byte := IntToStr(Buf);
      Byte := Copy(Byte, 18, 1);
      pBuf := StrToInt(Byte);
      if Enable then
        pBuf := pBuf or 8
      else
        pBuf := pBuf and 7;
      pByte := DecToHex(pBuf);
      Byte := IntToStr(Buf);
      Byte := Copy(Byte, 1, 17) + pByte + Copy(Byte, 19, Length(Byte) - 18);
      Registry.WriteBinaryData('DefaultConnectionSettings', Byte, SizeOf(Byte));
    end;
end;

Wiem, że jest on niepoprawny ;]. Mam nadzieję, iż ktoś mi pomoże poprawić to i owo. A może ma ktoś swój sposób lepszy i mogłby tu zaprezentować. Z góry dziękuje za wszystkie odpowiedzi.

Pozdrawiam

0

Coś nie coś jest chyba ort!, ale poco OpenRegistryReadOnly jak <ort>pÓźniej </ort>go modyfikujesz ?? I po co zamykasz <ort>pÓźniej </ort>ten rejestr ?

// czy Ty wiesz, co to słownik ortogaficzny? - ŁF

0

Zapomnialem pozmieniac conieco, ale nie zmienia faktu ze nic nie pobiera...

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