2011-12-17 9 views
10

Sto cercando di convertire il codice Delphi per vb.net e io non sono sicuro di questa linea:

stream.Seek($42, soFromBeginning); 

ho familiarità con l'utilizzo di cercare sul filestreams (in vb.net) ma sono Non sono sicuro del $42.

Suppongo che corrisponda a una posizione, ma come si traduce in vb.net?

risposta

14

$ è il prefisso per una costante esadecimale. In VB.NET, è & H, quindi scrivere & H42.

+1

Delphi numeri interi consentiti 'x', '0x' e '$' per indicare una notazione esadecimale. Quindi '$' non è il prefisso THE. – az01

+0

@ az01 Posso credere 0x (anche se non ero a conoscenza e non ho ancora provato), ma sono assolutamente certo che né ax né xa sono un intero letterale. – hvd

+2

@ az01 E ora che l'ho provato, vedo che 0x non ha senso per quanto riguarda Delphi. – hvd

1

Il valore $ 42 rappresenta l'offset dall'inizio del flusso.

In VB.NET che sarebbe:

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

Il codice richiesto per VB.net è quasi identica:

stream.Seek(&H42, SeekOrigin.Begin) 

I punti di nota qui sono:

  • $ in Delphi è il prefisso esadecimale.
  • soFromBeginning corrisponde a SeekOrigin.Begin.
Problemi correlati