Escrita em arquivo binário

Olá pessoal.
Estou tendo problemas em gravar bytes em arquivo binário.
Fiz o seguinte códico, mas ele grava todos os bytes com o valor nulo (acho).
Quando debugo o programa, na escrita para o arquivo, o dado assume os valores normais na instução Put, mas quando leio com a intrução Get, os dados lidos são nulos.
Quando abro o arquivo gerado (Lixo.dat) através do Windows Explorer, ele possui o número de caracteres esperados, porém todos com o símbolo de um quadradinho.
Segue uma fração do código:
As variáveis i e ys estão dimensionadas como "Dim i As Integer, ys As Single" e a variável "No" como "No As Byte"
CommonDialog1.FileName assume "C:\Lixo.dat"; o que é o esperado.
"No" assume o número 1; também esperado.
Nos endereços ímpares (i = 1, 3, 5, ...) estou gravando o valor 2.
Nos endereços pares (i = 2, 4, 6, ...) estou gravando o valor inteiro de i / 10.
Os valores de todas as variáveis estão corretos, como esperado, mas o que está sendo visto no arquivo são quadradinhos.
O que está sendo recuperado do arquivo são zeros.
Já não sei mais onde procurar pelo erro.
MOR_AL
Estou tendo problemas em gravar bytes em arquivo binário.
Fiz o seguinte códico, mas ele grava todos os bytes com o valor nulo (acho).
Quando debugo o programa, na escrita para o arquivo, o dado assume os valores normais na instução Put, mas quando leio com a intrução Get, os dados lidos são nulos.
Quando abro o arquivo gerado (Lixo.dat) através do Windows Explorer, ele possui o número de caracteres esperados, porém todos com o símbolo de um quadradinho.
Segue uma fração do código:
- Código: Selecionar todos
No = FreeFile() ' Identifico o número do arquivo livre. Como no meu caso tem um arquivo só, poderia ser 1.
Open CommonDialog1.FileName For Binary As #No
For i = 1 To 10000 Step 2 ' Teste para escrever no arquivo.
Put #No, i, 2
ys = Int(i / 10)
Put #No, i + 1, ys
Next i
As variáveis i e ys estão dimensionadas como "Dim i As Integer, ys As Single" e a variável "No" como "No As Byte"
CommonDialog1.FileName assume "C:\Lixo.dat"; o que é o esperado.
"No" assume o número 1; também esperado.
Nos endereços ímpares (i = 1, 3, 5, ...) estou gravando o valor 2.
Nos endereços pares (i = 2, 4, 6, ...) estou gravando o valor inteiro de i / 10.
Os valores de todas as variáveis estão corretos, como esperado, mas o que está sendo visto no arquivo são quadradinhos.
O que está sendo recuperado do arquivo são zeros.
Já não sei mais onde procurar pelo erro.
MOR_AL