Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Visual Basic Avanzado - Función VB

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Función VB

Autor:Julio (1 intervención)
Fecha:16/07/2012 22:05:11
Hola a todos.

Tengo el siguiente problema en Visual Basic, estoy haciend un OCX, al que le paso y recibo parametros después desde PowerCOBOL.

Dim buffer() As Byte
Dim minData() As Byte
Public Function Capturar_huella(Modelo As Long, Huella_verifiación As String, Huella_capturada As String, ErrorControl As Long, TextoError As String) As Long
FpLibXCapture1.CodeName = Modelo
FpLibXCapture1.DeviceID = -1
FpLibXCapture1.Clear
If FpLibXCapture1.LiveCapture(6000, 50) = True Then
ReDim buffer(FpLibXCapture1.ImageSize) As Byte
If FpLibXCapture1.GetImageData(buffer()) = True Then
ReDim minData(FpLibXCapture1.MinutiaeSize) As Byte
If FpLibXCapture1.GetMinutiaeData(minData()) = True Then
Huella_capturada = StrConv(minData(1), vbUnicode, 1033)
Else
ErrorControl = FpLibXCapture1.ErrorCode
TextoError = FpLibXCapture1.ErrorString
End If
Else
ErrorControl = FpLibXCapture1.ErrorCode
TextoError = FpLibXCapture1.ErrorString
End If
Else
ErrorControl = FpLibXCapture1.ErrorCode
TextoError = FpLibXCapture1.ErrorString
End If
End Function

He descubierto haciendo pruebas, que la variable Byte por cada array guarda 3 caracteres númericos, haciendo la función SrtConv me lo convierte en un caracter string por array, de la manera que lo tengo no me lo hace entero, tendría que ir haciendo uno por uno, habría una función para convertir todo los arrays de la variable minData y llevarlo todo a un String sin array.

Gracias.
Responder Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Función VB

Autor:Lander Cayetano (5 intervenciones)
Fecha:13/08/2012 17:01:42
Yo también he pasado por este problema.
Existe una API de Windows que te hace lo que quieres pero tiene unas cuantas pegas.
1. Si, por lo que sea se redimensiona la matriz suele dar problemas, y esos problemas son de en plan "El programa no responde" y solo te queda la opción de finalizar tarea.
2. Consume muchos recursos de Windows y no hay mucha diferencia entre hacerlo tu en una funcion que usando API´s.

Así que sabiendo esto y sabiendo que muchas veces los programas los usan gente que no es programadora y tienen a asustarse al ver fallos de este tipo, en plan "este PC no vale para nada", te recomiendo que uses una función y la pongas en un módulo si la vas a usar bastante.

Sería bastante sencilla:
Function ConvSTR(Datos() as Byte) As String
Dim Resul As String
Dim ID as Long

Resul = ""
For ID = LBound(Datos) tu Ubound(Datos)
Resul = Resul & Chr(Datos(ID))
Next ID

ConvSTR = Resul
End Function

Este código es sencillo, siempre se puede mejorar y si no hay muchos datos en la array te recomiendo que lo hagas recursivamente. Es más complicado pero mejora bastante el proceso de este.

Un saludo, Lander
Comentar Subir