Newsgroup: it.comp.lang.visual-basic
Titolo: Conversione file random QB45->VB4

Ciao a tutti. Ho un problemino:
devo modificare files ad accesso casuale creati con un programma
scritto da me in VB45 tanto tempo fa. Mi sono accorto pero' che VB4
non prevede piu' l'utilizzo dei comandi CVI, CVS MKSBMF ecc. e non
riesco piu' a leggere il file.
anche creando un type di variabile personalizzato non ho problemi per
quanto riguarda la lettura delle stringhe ma non riesco a leggere i
dati che erano stati memorizzati con 4 byte (singola precisione)
es:
Type persona
	nome as string (ok)
	cognome as string (ok)
	anni as byte (ok)
	telefono as long (o single non fuinziona....)
end type
Qualcuno sa come posso fare? Grazie!!!!

riesco piu' a leggere il file.
  Hai provato a cercare nella knowledge base? Forse li' c'e' qualche
suggerimento, altrimenti devi provare a cercare in giro per i siti
Internet che parlano di VB.
  Ciao :-)
  Massimo
  Nell'indirizzo, sostituire DIESPAMMERS con MC1258
  In the address, replace DIESPAMMERS with MC1258

 scritto da me in VB45 tanto tempo fa. Mi sono accorto pero' che VB4
Ho avuto un problema, che forse e' simile al tuo.
Avevo un vecchio programma scritto in TurboBasic.
Riscrivendolo in VB5, ho avuto il problema di convertire un file random.
Ho letto il file random con un programmino in turbo basic, che poi lo ha
riscritto sotto forma di file sequenziale.
Con un altro programmino in VB5 ho poi letto il file sequenziale, e l'ho
riscritto come file random VB5. Cosi' ha funzionato perfettamente.
Non so se il tuo caso sia di questo tipo....
comunque spero di esserti stato utile.
 Ciao.   Franco.

riesco piu' a leggere il file.
Se in VB4 esiste ancora l'istruzione LSET (io uso ancora VB3) allora
eccoti alcune funzioni che rimpiazzano le varie CVI, ecc..
--------- CUT ------ CUT ------ CUT -------- CUT -----------
Option Explicit
Type AnyNumber
    ainteger    As Integer
    along       As Long
    asingle     As Single
    adouble     As Double
    acurrency   As Currency
End Type
Type AnyString
    ainteger    As String * 2
    along       As String * 4
    asingle     As String * 4
    adouble     As String * 8
    acurrency   As String * 8
End Type
Dim anumber As AnyNumber
Dim astring As AnyString
Function CVC (work As String) As Currency
    astring.acurrency = work
    LSet anumber = astring
    CVC = anumber.acurrency
End Function
Function CVD (work As String) As Double
    astring.adouble = work
    LSet anumber = astring
    CVD = anumber.adouble
End Function
Function CVI (work As String) As Integer
    astring.ainteger = work
    LSet anumber = astring
    CVI = anumber.ainteger
End Function
Function CVL (work As String) As Long
    astring.along = work
    LSet anumber = astring
    CVL = anumber.along
End Function
Function CVS (work As String) As Single
    astring.asingle = work
    LSet anumber = astring
    CVS = anumber.asingle
End Function
Function MKC (value As Currency) As String
    anumber.acurrency = value
    LSet astring = anumber
    MKC = astring.acurrency
End Function
Function MKD (value As Double) As String
    anumber.adouble = value
    LSet astring = anumber
    MKD = astring.adouble
End Function
Function MKI (value As Integer) As String
    anumber.ainteger = value
    LSet astring = anumber
    MKI = astring.ainteger
End Function
Function MKL (value As Long) As String
    anumber.along = value
    LSet astring = anumber
    MKL = astring.along
End Function
Function MKS (value As Single) As String
    anumber.asingle = value
    LSet astring = anumber
    MKS = astring.asingle
End Function
--------- CUT ------ CUT ------ CUT -------- CUT -----------
Spero di esserti stato di aiuto.
Ciao.
Massimiliano
ma...@pinet.it
--
Ciao.
Massimiliano.
ma...@pinet.it