PDA

View Full Version : [VB6] Leggere e Manipolare file Binari


leadergl
08-03-2005, 12:33
Ragazzi ho un problema,
quello che devo fare è prendere un file e dividerlo in più parti secondo un criterio ben preciso...

il problema viene dal fatto che il file va letto in binario altrimenti ci sono degli errori nella lettura di alcuni caratteri!

Il file è così strutturato:

Header
S0...
S3...
...
S3...
S7...
S0...
S3...
...
S3...
S7

Questo in linea generale, il mio problema è che devo generare nuovi file a seconda gli S0 in pratica, facendo riferimento all'esempio, devo generare:
1) un file con l'Header
2) un file che va dal primo S0 al primo S7 inclusi
3) un secondo file che va dal secondo S0 al secondo S7 incluso

ecco il problema sta nell'applicare questo criterio quando leggo un file come binario....

chi mi aiuta?

leadergl
08-03-2005, 14:42
Ok,
ci sono arrivato facendo così (probabilmente ci sono strade migliori e più veloci...ma al momento non ho altre idee):

Indice = 0
If cdlBrowse.FileName <> "" Then
Open cdlBrowse.FileName For Binary Access Read As #1
Open (sDestinazione & "\Header.hmg") For Binary Access Write As #2
While Not EOF(1)
DoEvents
Get #1, , bTemp
If bTemp = "83" Then
bAppoggio = bTemp
Get #1, , bTemp
If bTemp = "48" Then
Close #2
Indice = Indice + 1
Open (sDestinazione & "\Codegroup " & Indice & ".shx") For Binary As #2
End If
Put #2, , bAppoggio
Put #2, , bTemp
Else
Put #2, , bTemp
End If
Wend
Close #2
Close #1
MsgBox Indice & " Codegroups created!", vbOKOnly, "Write Succesfull"
End If


Il problema però è che quando mi chiude i files mi aggiunge dei caratteri...in pratica va a capo...come faccio per evitare questo? (credo che io debba usare un comando diverso dal "Put"...ma quale?

leadergl
08-03-2005, 21:00
dai raga...mi serve un piccolo aiuto...ci sono quasi...devo solo capire xkè quando termina un file ci aggiunge una riga...

come faccio ad impedire questo?

leadergl
12-03-2005, 19:58
x favore...nessuno sa come aiutarmi?

come faccio ad impedire a VB di aggiungere un rigo nella chiusura di un file?