Ho bisogno di leggere i dati da un file di database legacy prodotto da Visual Basic 6. Dal software legacy ho scoperto che il file è stato scritto utilizzando Put e passare una sorta di record come parametri alla funzione Put. Queste strutture sono definiti come segue:Lettura (con Filesystem.FileGet) File di registrazione VB6 (scritto con Put) con C#
Type THE_TYPE
FIELD_1 As Single
FIELD_2 As String * 20
FIELD_3(1 To 50) As Single
FIELD_4(1 To 10) As String * 1
End Type
Il genere sono più grandi e più complessi, ma ho messo in THE_TYPE le diverse definizioni che ho nel mio progetto. Ho scoperto che importare Microsoft.VisualBasic mi dà accesso alle funzioni VB simili a quelle usate per scrivere il file, quindi sto aprendo e chiudendo il file con FileSystem.OpenFile() e .CloseFile(); ora ho bisogno di leggere finalmente dati contenuti e dal momento che la funzione originale era:
Public RecordContent As THE_TYPE
[...]
Get #1, recordNumber, RecordContent
Suppongo che posso usare qualcosa di simile, come Microsoft.VisualBasic.FileSystem.FileGet(). Quindi la domanda è, come posso definire un contenitore, suppongo una classe, simile al VB6 originale Tipo "THE_TYPE"? Come chiamo .FileGet() per riempire correttamente questo oggetto?
Mentre GSerg potrebbe averti indicato nella giusta direzione, sappi che ci sono grandi differenze nel modo in cui 'Put' funziona tra le modalità' Apri' di 'Random' e' Binary'. Vedere http://msdn.microsoft.com/en-us/library/aa266212(v=VS.60).aspx e http://msdn.microsoft.com/en-us/library/aa266177(v=vs. 60) .aspx per i dettagli. Ne parlo perché se i membri 'String' e array sono tutti di dimensione fissa, mi chiedevo se l'app VB6 usasse la modalità' Open ... Binary'. – rskar
Era in modalità casuale – ccalboni
+1 per importare 'Microsoft.VisualBasic' e usando' FileSystem'. Saresti stupito [come] (http://stackoverflow.com/questions/7290976/vb6-how-are-binary-files-encoded-using-put-statement) [spesso] (http://stackoverflow.com/questions/8886096/converting-quick-basic-to-vb-net-random-access-files) le persone si affacciano su quelle! – MarkJ