Visual Basic - Antiguo BASIC empaquetado de datos

Life is soft - evento anual de software empresarial
 
Vista:

Antiguo BASIC empaquetado de datos

Publicado por j956 (2 intervenciones) el 30/08/2000 00:00:00
Estoy preparando un programa para convertir unos ficheros con datos numericos y de cadenas, pero el formato de los numeros enteros, largos, precision simple y doble, no se me convierten bien. En BASIC antiguo existias unas instrucciones que lo hacian directamente: CVI, CVS, CVL y CVD que ahora no existen en VB. ¿podria alguien decirme si existen las equivalentes en VB?
o bien como se empaquetan estos cuatro formatos para construir una rutina de conversion.
gracias por anticipado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Antiguo BASIC empaquetado de datos

Publicado por Javier Pérez (170 intervenciones) el 30/08/2000 00:00:00
¿Qué formato tienen los ficheros? ¿Como están escritos los valores numéricos? Si no conocemos ese detalle, malamente te podremos ayudar, ya que el tratamiento es distinto si el fichero es ASCII, binario o de algún otro tipo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Antiguo BASIC empaquetado de datos

Publicado por j956 (2 intervenciones) el 30/08/2000 00:00:00
El fichero es binario. En el antiguo GWBASIC o en QBASIC se leian de fichero el numero de bytes (2 para entero, 4 para entero largo, 4 para precision simple y 8 para precision doble, estos ultimos en coma flotante) y se convertian los bytes leidos mediante las sentencias CVI, CVL, CVS y CVD al numero con su correspondiente precision. Estas funciones han desaparecido en VISUALBASIC y por tanto los ficheros antiguos no se como leerlos.
Si se como convertir numeros enteros en los que el bit mas alto es el indicador de signo y en el caso de ser el numero negativo se trasforma con el metodo del complemento a dos, con uns seudocodigo parecido a este
Bit mas alto = 1 numero negativo. Sustraer al resto de bytes 1 y hallar el complementario. Calcular el numero
Bit mas alto =0 numero positivo. Calcular el numero.
El numero se calcula B0*2¨0+B1*2¨1+....+Bn-1*2¨n-1

pero en el caso de numeros en coma flotante no tengo ni la mas remota idea de como se empaquetan.

gracias por vuestra atencion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar