Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - cobein

#51
El problema con los codigos de barras es que son muy faciles de duplicar y el reconocimiento de voz ... no se que tan bueno es.
Yo optaria por algo mas dificil de duplicar como tarjetas RFID o magneticas pero esto requiere de conocimiento y presupuesto.

Lo unico que se me ocurre es una webcam apuntando a quien este marcando y un lectto de codigo de barras que en este caso seria opcional, es bastante simple de implementar y economico pero requiere trabajo extra aka vericicar las capturas.
#52
En los ejemplos muestra como agregar y leer datos... si te da flojera eso tambien dejaga el PC y anda a descansar (pero no mucho, no quiero que te de flojera descansar la flojera).
#53
No entinedo porque queres usar sqlite3_open_v2  y no sqlite3_open ... no creo que necesites ningun tipo de control especial sobre la BD ... pero bueno si queres usarla simplemente con leer la documentacion sobra.

http://www.sqlite.org/c3ref/open.html
#55
No hay necesidad de registrar los componentes desde XP SP2 se pueden cargar dinamicamente sin necesidad de utilizar el registro.

Lee aca si te interesa.

http://foro.elhacker.net/programacion_visual_basic/exe_activex_componente_activex_no_puede_crear_no_se_ha_definido_el_tipo-t283830.0.html;msg1413849#msg1413849
#56
Ahi arme algunas funciones de reemplazo, se pueden optimizar pero las deje asi para que se comprendan facilmente.

Private Type tLong
    lLong As Long
End Type

Private Type tByteWord
    b0 As Byte: b1 As Byte: b2 As Byte: b3 As Byte
End Type

Private Function inet_ntoa_(ByVal inn As Long) As String
    Dim tb As tByteWord
    Dim tl As tLong
    tl.lLong = inn
    LSet tb = tl
    inet_ntoa_ = tb.b0 & "." & tb.b1 & "." & tb.b2 & "." & tb.b3
End Function

Private Function inet_addr_(ByVal cp As String) As Long
    Dim svData()    As String
    Dim i           As Long
    svData = Split(cp, ".")
    inet_addr_ = "&h" & Padd2(svData(3)) & Padd2(svData(2)) & Padd2(svData(1)) & Padd2(svData(0))
End Function

Private Function htons_(ByVal hostshort As Long) As Integer
    Dim tb As tByteWord
    Dim tl As tLong
    tl.lLong = hostshort
    LSet tb = tl
    htons_ = "&h" & Padd2(tb.b0) & Padd2(tb.b1)
End Function

Private Function Padd2(bData As Variant) As String
    Padd2 = Right$("0" & Hex(bData), 2)
End Function
#57
Hay un error en el codigo, despues lo corrijo.
#58
Private Function CheckPrimality(ByVal lNum As Long) As Boolean
   Dim i       As Long

   If lNum < 10 Then
       If lNum = 2 Then CheckPrimality = True: Exit Function
       If lNum = 5 Then CheckPrimality = True: Exit Function
       If lNum = 1 Then Exit Function
   End If
   
   If Not (lNum And 1) = 1 Then Exit Function
   If (lNum And 5) = 5 Then Exit Function
   For i = 3 To Sqr(lNum) Step 2
       If lNum Mod i = 0 Then Exit Function
   Next
   CheckPrimality = True
End Function


Test project: http://uploading.com/files/c72amae6/Prime.rar/
No estoy seguro si la clase para testear la velocidad esta en la descarga, si no esta la pueden descargar de aca http://www.xbeat.net/vbspeed/download/CTiming.zip
#59
*PsYkE1* suena correcto lo que decis, el problema, en mi opinion es que para no comparar algun numero terminado en 5, agregarias mas operaciones que simplemente comprobandolo.
#60
Private Function CheckPrimality(ByVal lNum As Long) As Boolean
    Dim i       As Long
    Dim lSqr    As Long
       
    If lNum Mod 2 = 0 Then GoTo Composite:

    lSqr = Sqr(lNum)

    i = 3
    Do Until i > lSqr
        If lNum Mod i = 0 Then GoTo Composite:
        i = i + 2
    Loop
   
Prime:
    CheckPrimality = True
    Exit Function
Composite:
    If lNum = 2 Then CheckPrimality = True
End Function