elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6
21  Programación / Programación Visual Basic / Re: funcion para convertir un inporte en letra en visual basic 6.0 en: 30 Junio 2006, 05:05 am
Hola

Yo lo hago de esta forma, necesitas "2 text (txt,  tletras) y 3 botones (cmd, command1, command2)":

Código:
Option Explicit
Private sw As cls_NumSpanishWord

Private Sub cmd_Click()
    Set sw = New cls_NumSpanishWord
    tletras = sw.ConvertCurrencyToSpanish(txt, "Quetzales")
    Set sw = Nothing
End Sub

Private Sub Command1_Click()
End
End Sub

Private Sub Command2_Click()
txt.Text = ""
tletras.Text = ""
txt.SetFocus
End Sub

Para el modulo:
Código:
DefLng A-Z
Option Explicit

Public Const Void As String = ""
Public Const Dot  As String = "."

'//String utility
Public Sub ReplaceStringFrom(s As String, OldWrd As String, NewWrd As String, ptr)
    s = Left$(s, ptr - 1) + NewWrd + Mid$(s, Len(OldWrd) + ptr)
End Sub

'//String utility
Public Sub ReplaceAll(s As String, OldWrd As String, NewWrd As String)
    Dim ptr
    Do
       ptr = InStr(s, OldWrd)
       If ptr Then
          s = Left$(s, ptr - 1) + NewWrd + Mid$(s, Len(OldWrd) + ptr)
       End If
    Loop Until ptr = 0
End Sub

'//String utility
Public Function Singular(s As String) As String
    If Len(s) >= 2 Then
       If Right$(s, 1) = "s" Then
          If Right$(s, 2) = "es" Then
             Singular = Left$(s, Len(s) - 2)
          Else
             Singular = Left$(s, Len(s) - 1)
          End If
       Else
          Singular = s
       End If
    End If
End Function

Para el modulo clase:
Código:
DefLng A-Z
Option Explicit

'//PROPERTY: m_FeminineGenerous
Private m_FeminineGenerous As Boolean

Public Function ConvertCurrencyToSpanish( _
    ByVal Number As Variant, _
    ByVal CurrentMoney As Variant, _
    Optional FeminineGenerous As Variant = False _
    ) As String
    Dim s            As String
    Dim DecimalPlace As Long
    Dim IntPart      As String
    Dim Cents        As String

    m_FeminineGenerous = FeminineGenerous
    s = Format(Val(Number), "0.00")
    DecimalPlace = InStr(s, Dot)
   
    If DecimalPlace Then
       IntPart = Left$(s, DecimalPlace - 1)
       Cents = Left$(Mid$(s, DecimalPlace + 1, 2), 2)
    Else
       IntPart = s
       Cents = Void
    End If

    If IntPart = "0" Or IntPart = Void Then
       s = "Cero "
    ElseIf Len(IntPart) > 7 Then
       s = IntNumToSpanish(Val(Left$(IntPart, Len(IntPart) - 6))) + _
           "Millones " + IntNumToSpanish(Val(Right$(IntPart, 6)))
    Else
       s = IntNumToSpanish(Val(IntPart))
    End If

    If Right$(s, 9) = "Millones " Or Right$(s, 7) = "Millón " Then
       s = s + "de "
    End If
    Select Case s
        Case "Un ", "Una "
            s = s & Singular(CStr(CurrentMoney))
        Case Else
            s = s & CurrentMoney
    End Select

    If Val(Cents) Then
       Cents = " con " + IntNumToSpanish(Val(Cents)) + "Centavos"
    Else
       Cents = " con Cero Centavos"
    End If

    ConvertCurrencyToSpanish = s + Cents
End Function

Public Function IntNumToSpanish(numero As Long) As String
    Dim ptr
    Dim n
    Dim i
    Dim s   As String
    Dim rtn As String
    Dim tem As String
   
    s = CStr(numero)
    n = Len(s)

    tem = Void
    i = n
    Do Until i = 0
       tem = EvalPart(Val(Mid$(s, n - i + 1, 1) + String$(i - 1, "0")))
       If Not tem = "Cero" Then
          rtn = rtn + tem + " "
       End If
       i = i - 1
    Loop
   
    '//Filters
    GoSub filterThousands
    GoSub filterHundreds
    GoSub filterMisc
    GoSub filterOne
    GoSub addAnd
 
    IntNumToSpanish$ = rtn
Exit Function

filterThousands:
  ReplaceAll rtn, " Mil Mil", " Un Mil"
  Do
     ptr = InStr(rtn, "Mil ")
     If ptr Then
        If InStr(ptr + 1, rtn, "Mil ") Then
           ReplaceStringFrom rtn, "Mil ", "", ptr
        Else: Exit Do
        End If
     Else: Exit Do
     End If
  Loop
Return

filterHundreds:
  ptr = 0
  Do
     ptr = InStr(ptr + 1, rtn, "Cien ")
     If ptr Then
        tem = Left$(Mid$(rtn, ptr + 5), 1)
        If tem = "M" Or tem = Void Then
        Else
           ReplaceStringFrom rtn, "Cien", "Ciento", ptr
        End If
     End If
  Loop Until ptr = 0
Return

filterMisc:
  ReplaceAll rtn, "Diez Un", "Once"
  ReplaceAll rtn, "Diez Dos", "Doce"
  ReplaceAll rtn, "Diez Tres", "Trece"
  ReplaceAll rtn, "Diez Cuatro", "Catorce"
  ReplaceAll rtn, "Diez Cinco", "Quince"
  ReplaceAll rtn, "Diez Seis", "Dieciseis"
  ReplaceAll rtn, "Diez Siete", "Diecisiete"
  ReplaceAll rtn, "Diez Ocho", "Dieciocho"
  ReplaceAll rtn, "Diez Nueve", "Diecinueve"
  ReplaceAll rtn, "Veinte Un", "Veintiun"
  ReplaceAll rtn, "Veinte Dos", "Veintidos"
  ReplaceAll rtn, "Veinte Tres", "Veintitres"
  ReplaceAll rtn, "Veinte Cuatro", "Veinticuatro"
  ReplaceAll rtn, "Veinte Cinco", "Veinticinco"
  ReplaceAll rtn, "Veinte Seis", "Veintiseís"
  ReplaceAll rtn, "Veinte Siete", "Veintisiete"
  ReplaceAll rtn, "Veinte Ocho", "Veintiocho"
  ReplaceAll rtn, "Veinte Nueve", "Veintinueve"
Return

filterOne:
  If Left$(rtn, 1) = "M" Then
     rtn = "Un " + rtn
  End If
  '//Un Mil...
  If Left$(rtn, 6) = "Un Mil" Then
     rtn = Mid$(rtn, 4)
  End If
Return

addAnd:
  For i = 65 To 88
      If Not i = 77 Then
         ReplaceAll rtn, "a " + Chr$(i), "* y " + Chr$(i)
      End If
  Next
  ReplaceAll rtn, "*", "a"
Return

End Function

Private Function EvalPart(x As Long) As String
    Dim rtn As String, s As String, i
    Do
       GoSub SinglePart
       If s = Void Then
          i = i + 1
          x = x / 1000
          If x = 0 Then i = 0
       Else
         Exit Do
       End If
    Loop Until i = 0
   
    rtn = s
    GoSub EngPart
   
    EvalPart = rtn + s
Exit Function

SinglePart:
    Select Case x
           Case 0:  s = "Cero"
           Case 1:  s = "Un"
           Case 2:  s = "Dos"
           Case 3:  s = "Tres"
           Case 4:  s = "Cuatro"
           Case 5:  s = "Cinco"
           Case 6:  s = "Seis"
           Case 7:  s = "Siete"
           Case 8:  s = "Ocho"
           Case 9:  s = "Nueve"
           Case 10: s = "Diez"
           Case 20: s = "Veinte"
           Case 30: s = "Treinta"
           Case 40: s = "Cuarenta"
           Case 50: s = "Cincuenta"
           Case 60: s = "Sesenta"
           Case 70: s = "Setenta"
           Case 80: s = "Ochenta"
           Case 90: s = "Noventa"
           Case 100: s = "Cien"
           Case 200: s = "Doscientos"
           Case 300: s = "Trescientos"
           Case 400: s = "Cuatrocientos"
           Case 500: s = "Quinientos"
           Case 600: s = "Seiscientos"
           Case 700: s = "Setecientos"
           Case 800: s = "Ochocientos"
           Case 900: s = "Novecientos"
           Case 1000: s = "Mil"
           Case 1000000: s = "Millón"
    End Select
    If m_FeminineGenerous Then
       ReplaceAll s, "tos", "tas"
       If s = "Un" Then s = "Una"
    End If
Return

EngPart: '//E+00...
    Select Case i
           Case 0: s = Void
           Case 1: s = " Mil"
           Case 2: s = " Millones"
           Case 3: s = " Billones"
    End Select
Return

End Function

Salu2
22  Programación / Programación Visual Basic / Necesito ayuda para convertir C a VB en: 30 Junio 2006, 04:36 am
Buen Dia

Si alguien me puede ayudar, ya que quiero programar en VB con active X de un programa que se llama FOLIO, ademas, trae ejemplos pero vienen en C y necesito convertirlo a VB, por lo cual si alguien conoce FOLIO y me puede ayudar a importar documentos en FOLIO  a traves de VB o si me puden apoyar para convertir el codigo de C a VB.


Salu2
23  Programación / Programación Visual Basic / Datos de tablas en un datagrid en: 22 Junio 2006, 05:28 am
Hola

Tengo este problema, quiero ver los datos de 3 tablas diferentes de una misma base de datos, en un datagrid, a traves de 3 botones (para cada tabla), lo estaba intentando hacer pero no he podido, osea cuando presione un boton cambia de tabla y el datagrid me lo debe mostrar, a se me olvidaba uso el control adodc.
Ejemplo:
"Si presiono el boton1  que el datagrid me muestre los datos de la tabla1, asi sucesivamente con los demas botones"

Tienen alguna otra idea mejor, de como ver los datos da una tabla, para poder hacer mas facil este problema.

Cualquier ayuda será bienvenida, de antemano gracias

Salu2
24  Programación / Programación Visual Basic / consulta con ADO en: 9 Junio 2006, 05:08 am
Hola

Tengo esta consulta en una base de datos hecha con DAO pero necesito implementarla para que funcione con ADO.

'consulta para validar al usuario y password
Código:
Private Sub validar()
Dim path As String
Dim consulta As String
path = App.path & "\mantenimiento.mdb"
Set misesion = Workspaces(0)
Set mibd = misesion.OpenDatabase(path)
consulta = "select usuarios.usuario, usuarios.password "
consulta = consulta & "from usuarios WHERE(usuarios.usuario='" & usuario(conexion) & "')  AND (usuarios.password='" & password(conexion) & "')"
Set rs2 = mibd.OpenRecordset(consulta, dbOpenDynaset)
If rs2.EOF = True And rs2.BOF = True Then
    valido = False
Else
    valido = True
End If
rs2.Close
End Sub

De ante mano gracias por su ayuda.

Salu2
25  Programación / Programación Visual Basic / Enfocar Celda Datagrid en: 12 Mayo 2006, 03:24 am
Hola

El problema que tengo es que al momento de un datagrid recibir el enfoque por medio de TAB si se enfoca pero no se selecciona ninguna celda quisiera saber el método o la función para que cuando DataGrid reciba el enfoque a la vez se enfoque en la primera celda y la primera columna, ayuda porfavor.

de antemano gracias

Salu2
26  Programación / Programación Visual Basic / Consultas por fechas en: 12 Mayo 2006, 03:21 am
Hola

Mi consulta es la siguiente como puedo hacer que al momento de ingresar dos fechas una ya sea de inicio y la otra de termino, y al hacer enter esta me traiga todos los datos, ya sea desde el 1 de mayo hasta el día de hoy por ejemplo, favor de ayudarme he hecho de todo y nada me resulta, desde ya muchas gracias.

Salu2
27  Programación / Programación Visual Basic / simplificar dos numeros en: 9 Mayo 2006, 06:23 am
Hola:

Necesito ayuda, como puedo poner,  por ej: en dos textbox los 2000 y 600  y que me le pase a dos label a 10 y 3 (osea simplificado).


Muchisima gracias

Salu2
28  Programación / Programación Visual Basic / Buscar BD disponibles en: 9 Mayo 2006, 06:17 am
Hola

1-Realizo una conexion a una base de datos que se encuentra en un servidor que utiliza informix. El usuario teclea la base de datos en un textbox, este dato se pasa como parametro en las especificaciones de la conexion, asi es como realizo la conexion:

Private conexionBD As ADODB.Connection

Set conexionBD = New ADODB.Connection

With conexionBD
    .Provider = "MSDASQL.1;"
        .ConnectionString = "Data Source=noreste; Password=sdfsdfeE; Persist Security Info=True;" & _
User ID=informix; Initial Catalog=" & txtbaseD.Text '<-contenido   'textbox
End With
conexionBD.Open

2-Este trabajo lo realiza bien, sin embargo, me gustaria saber como obtener las bases de datos que se encuentran en el servidor y asi colocarlas en un listbox en lugar de utlizar el textbox, y tambien como le puedo hacer para validar que la BD tecleada por el usuario sea una existente..ç

...............

Gracias.
29  Programación / Programación Visual Basic / Re: cual son las aplicaciondes de keypress de F1....F12 en: 1 Mayo 2006, 04:53 am
Hola

Buenas, en un from nuevo pon solo un label1 y con este codigo te dira el nº de la tecla pulsada. Clave:

Código:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Label1 = KeyCode
End Sub

 
espero k te sirva.

Salu2
30  Programación / Programación Visual Basic / Re: Guardar me da error... en: 29 Abril 2006, 05:45 am
gracias
 pero ya encontre el problema, a simple vista, si el nombre de un campo tiene espacios debe ir entre corchetes [Titulo CDRom]

esto era, debe ir entre corchetes.


Gracias
Páginas: 1 2 [3] 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines