Resumen Acceso a archivo de datos COBOL desde VB

Mensaje enviado por "Alberto Vernieri" <AVernieri@juncalnet.com.ar>

Hola!

Aqui te mando un parcito de funciones que te permiten acceder a campos COMP-3 (Packed decimal).

El campo en el archivo lo debes definir como String * (la mitad de los dígitos del campo + 1, redondeado hacia arriba) o sea, si tnés un pic 9(4) COMP-3 el campo debe ser String * 3.

Espero que te sirvan.
Saludos
Alberto


Function unpack(packnum As String) As String
Dim hexnum As String, unpacknum As String
Dim n As Integer, I As Integer

n = Len(packnum)
For I = 1 To n ' Set up n repetitions.
    hexnum = Right$("00" & Hex$(Asc(Mid$(packnum, I, 1))), 2)
    unpacknum = unpacknum & hexnum
Next I

unpacknum = Left$(unpacknum, Len(unpacknum) - 1)
unpack = unpacknum
End Function

Function pack(unpacknum As String) As String
Dim packnum As String, uaux As String
Dim c As Integer
Dim n As Integer, lu As Integer, I As Integer


 lu = Len(unpacknum)
 uaux = unpacknum
 If (lu Mod 2) = 0 Then uaux = "0" & uaux 'si la entrada es par agrega un cero adelante

 uaux = uaux & "F"
 lu = Len(uaux)
 packnum = ""

 For I = 1 To lu Step 2 ' Set up lu/2 repetitions.
    c = Asc(Mid$(uaux, I, 1)) - 48 ' offset de digitos decimales
    n = 16 * c

    c = Asc(Mid$(uaux, I + 1, 1)) - 48 ' offset de dígitos decimales
    If c > 48 Then c = c - 32 ' minúsculas a mayúsculas
    If c > 9 Then c = c - 7 ' letras a dígitos hexadecimales
    n = n + c
    packnum = packnum & Chr$(n)
 Next I

pack = packnum
End Function



>>> "Sergio Martínez" <smartinez@pergamino.inta.gov.ar> 28/12/1999 14:56:53 >>>
Listeros.
 Lo del asunto. ¿ Alguien conoce si existe algo al respecto ? Gracias.

Sergio Martínez.
Pergamino. Argentina.
smartinez@pergamino.inta.gov.ar



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com