2011-12-17 28 views
10

我想德爾福代碼轉換爲vb.net,我不知道這行:

stream.Seek($42, soFromBeginning); 

我熟悉使用徵求文件流(在vb.net),但我不知道$42

我假設對應的位置,但如何轉換爲vb.net?

回答

14

$是十六進制常量的前綴。在VB.NET中,這是& H,所以你會寫& H42。

+1

德爾福整數litterals允許'x','0x'和'$'來表示一個十六進制符號。所以'$'不是前綴。 – az01 2011-12-17 19:55:53

+0

@ az01我可以相信0x(雖然我不知道它,但還沒有嘗試它),但我絕對肯定,ax和xa都不是整數字面量。 – hvd 2011-12-18 00:00:38

+2

@ az01現在我已經嘗試過了,就德爾福而言,我發現0x也是無稽之談。 – hvd 2011-12-18 00:10:23

1

$ 42值是從流開頭的偏移量。

在VB.NET,這將是:

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

爲VB.net所需的代碼幾乎是相同的:

stream.Seek(&H42, SeekOrigin.Begin) 

注意到這裏的要點是:

  • Delphi中的$是十六進制的前綴。
  • soFromBeginning對應於SeekOrigin.Begin
相關問題