Что означает "$" перед номером в Delphi?

Я пытаюсь преобразовать код Delphi в vb.net, и я не уверен в этой строке:

stream.Seek($42, soFromBeginning);

Я знаком с использованием seek on filestreams (в vb.net), но я не уверен в $42.

Я предполагаю, что соответствует позиции, но как это переводит на vb.net?

Ответ 1

$является префиксом для шестнадцатеричной константы. В VB.NET это & H, поэтому вы должны написать & H42.

Ответ 2

Код, необходимый для VB.net, почти идентичен:

stream.Seek(&H42, SeekOrigin.Begin)

Здесь следует отметить следующие моменты:

  • $ в Delphi - это префикс для шестнадцатеричного.
  • soFromBeginning соответствует SeekOrigin.Begin.

Ответ 3

Значение $42 - это смещение от начала потока.

В VB.NET это будет:

reader.BaseStream.Seek(66, IO.SeekOrigin.Begin)