Simplemente basta con agregar éstas funciones y llamarlas de la siguiente manera:
Si Text1.Text tiene "aaaaaaaaa"
Llamamos a la función:
May Text1.Text
Obteniendo como resultado:
"AAAAAAAAAAA"
Si Text1.Text tiene "aaaaaaaaa" o "aAaAAA" o cualquier combinación que les parezca.
Llamamos a la función:
MayAMin Text1.Text
Obteniendo como resultado:
"Aaaaaaaa"
Public Function MayAMin(sTexto As String) As String
MayAMin = UCase(Mid(sTexto, 1, 1)) + LCase(Mid(sTexto, 2, Len(sTexto)))
End Function
Public Function May(sTexto As String) As String
May = UCase(sTexto)
End Function
Cargar datos de un RecordSet en un ListView en VB
List1.Clear 'Limpiamos el List por si contiene datos
Rs.Execute "Select Id, Nombre as Clientes"
If Not oRs Is Nothing Then
If Not (oRs.BOF And oRs.EOF) Then
Rs.MoveFirst
Do While Not Rs.EOF
List1.AddItem Rs!DESCRI 'Dato a visualizar en el List
List1.ItemData(lst.NewIndex) = Rs!Id 'Dato que guardo para identificar el item seleccionado
Rs.MoveNext
Loop
List1.ListIndex = 0 'Le digo que se pare en la primer posicion
End If
End If
Rs.Execute "Select Id, Nombre as Clientes"
If Not oRs Is Nothing Then
If Not (oRs.BOF And oRs.EOF) Then
Rs.MoveFirst
Do While Not Rs.EOF
List1.AddItem Rs!DESCRI 'Dato a visualizar en el List
List1.ItemData(lst.NewIndex) = Rs!Id 'Dato que guardo para identificar el item seleccionado
Rs.MoveNext
Loop
List1.ListIndex = 0 'Le digo que se pare en la primer posicion
End If
End If
Validar el CUIT en VB (Argentina)
En éste caso vamos a usar un MaskEdBox en lugar de un TextBox, al que en la propiedad Name lo llamamos txtCUIT y en la propiedad MASK le seteamos la siguiente mascara ##-########-#. Además le podemos setear en la propiedad MaxLenght la longitud de caracteres que se pueden ingresar, en este caso son 13, ya que los 2 guiones que establecimos en la máscara quedan fijos.
Yo lo utilizo en el evento validate del MaskEdBox, debido a que no lo dejo seguir avanzando campos sino ingresa un CUIT correcto.
Private Sub txtCuit_Validate(Cancel As Boolean)
Dim Sen As Integer, S As Integer, i As Integer
Dim Coef As String, CUIT As String
Dim R%
Coef = "5432765432" ' Destinado a la verificación del CUIT
CUIT = Left(txtCuit.Text, 2) + Mid(txtCuit.Text, 4, 8) + Right(txtCuit.Text, 1)
S = 0
' Efectuo suma en S de los productos de cada dígito del Coeficiente (COEF) * los del CUIT
For i = 1 To 10
S = S + Val(Mid(CUIT, i, 1)) * Val(Mid(Coef, i, 1))
Next
R = S Mod 11 ' Averiguo el remanente de dividir S / 11
If R > 1 Then ' Si el remanente es > 1 divido en R 11/R
R = 11 - R
End If
If R = Right(CUIT, 1) Then ' Si R=Código de verificación (dígito derecho del CUIT)
Else
MsgBox ("El CUIT ingresado es Incorrecto"), vbInformation
Cancel = True
End If
End Sub
Yo lo utilizo en el evento validate del MaskEdBox, debido a que no lo dejo seguir avanzando campos sino ingresa un CUIT correcto.
Private Sub txtCuit_Validate(Cancel As Boolean)
Dim Sen As Integer, S As Integer, i As Integer
Dim Coef As String, CUIT As String
Dim R%
Coef = "5432765432" ' Destinado a la verificación del CUIT
CUIT = Left(txtCuit.Text, 2) + Mid(txtCuit.Text, 4, 8) + Right(txtCuit.Text, 1)
S = 0
' Efectuo suma en S de los productos de cada dígito del Coeficiente (COEF) * los del CUIT
For i = 1 To 10
S = S + Val(Mid(CUIT, i, 1)) * Val(Mid(Coef, i, 1))
Next
R = S Mod 11 ' Averiguo el remanente de dividir S / 11
If R > 1 Then ' Si el remanente es > 1 divido en R 11/R
R = 11 - R
End If
If R = Right(CUIT, 1) Then ' Si R=Código de verificación (dígito derecho del CUIT)
Else
MsgBox ("El CUIT ingresado es Incorrecto"), vbInformation
Cancel = True
End If
End Sub
Permitir SOLO ingreso de Números en un TextBox en VB
En el Evento KeyPress del TextBox pegar el siguiente codigo:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8, 13, 27
KeyAscii = KeyAscii
Case 48 To 57
KeyAscii = KeyAscii
Case Else
KeyAscii = 0
End Select
End Sub
Si se quiere ingresar la coma como separación decimal quedaría de la siguiente manera:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8, 13, 27
KeyAscii = KeyAscii
Case 44, 46
If InStr(1, Text1.Text, ",") Then
KeyAscii = 0
Else
KeyAscii = 44
End If
Case 48 To 57
KeyAscii = KeyAscii
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8, 13, 27
KeyAscii = KeyAscii
Case 48 To 57
KeyAscii = KeyAscii
Case Else
KeyAscii = 0
End Select
End Sub
Si se quiere ingresar la coma como separación decimal quedaría de la siguiente manera:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8, 13, 27
KeyAscii = KeyAscii
Case 44, 46
If InStr(1, Text1.Text, ",") Then
KeyAscii = 0
Else
KeyAscii = 44
End If
Case 48 To 57
KeyAscii = KeyAscii
Case Else
KeyAscii = 0
End Select
End Sub
Pasar de un control a otro con el ENTER en VB
Solo basta con tildar la Propiedad del Formulario KeyPreview en true y pegar este codigo en el Evento KeyPress.
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If
End Sub
Imprimir directamente en el puerto COM SRP-270 en VB
Éste es un ejemplito de como imprimir directamente en el puerto COM con una impresora Bixolon SRP-270, emulando una impresora Epson.
No uso los drivers de Samsung porque la verdad me dieron muchos problemas y no encontré soporte sobre dichos drivers. Instalé una impresora como "generic / Only text" y con este ejempo me va de pelos.
Open "COM1" For Output As #1
Print #1, Chr(27) & "r" & Chr(0) '0 Color Negro, 1 para el Rojo
Print #1, Chr(27) & "!" & Chr(48) 'Agrando el titulo principal
Print #1, "Titulo principal"
Print #1, Chr(27) & "!" & Chr(0) 'Vuelvo a la configuración inicial
Print #1, "Subtitulo"
Print #1, "Direccion"
Print #1, "Localidad"
Print #1, "Telefono"
Print #1, "---------------------------------"
Print #1, "Nombre de Cliente"
Print #1, Chr(27) & "r" & Chr(1) '1 Color Rojo
Print #1, "Texto"
Print #1, Chr(27) & "r" & Chr(0) '0 Color Negro
Print #1, "Texto"
Print #1, "Texto"
Print #1, "---------------------------------"
Print #1, "Fecha: " & Format(Now, "dd/mm/yyyy hh:ss")
Print #1, " Que tenga un buen día !"
Print #1, Chr(27) & "J" 'Avanzo una linea
Print #1, Chr(27) & "m" 'Realizo el corte parcial del papel
Close #1
Hay algunos comando más, pero estos serían los basicos para imprimir un ticket. Para hacer retroceder el papel solo basta con poner:
Print #1, Chr(27) & "K" 'Retrocedo una linea
No uso los drivers de Samsung porque la verdad me dieron muchos problemas y no encontré soporte sobre dichos drivers. Instalé una impresora como "generic / Only text" y con este ejempo me va de pelos.
Open "COM1" For Output As #1
Print #1, Chr(27) & "r" & Chr(0) '0 Color Negro, 1 para el Rojo
Print #1, Chr(27) & "!" & Chr(48) 'Agrando el titulo principal
Print #1, "Titulo principal"
Print #1, Chr(27) & "!" & Chr(0) 'Vuelvo a la configuración inicial
Print #1, "Subtitulo"
Print #1, "Direccion"
Print #1, "Localidad"
Print #1, "Telefono"
Print #1, "---------------------------------"
Print #1, "Nombre de Cliente"
Print #1, Chr(27) & "r" & Chr(1) '1 Color Rojo
Print #1, "Texto"
Print #1, Chr(27) & "r" & Chr(0) '0 Color Negro
Print #1, "Texto"
Print #1, "Texto"
Print #1, "---------------------------------"
Print #1, "Fecha: " & Format(Now, "dd/mm/yyyy hh:ss")
Print #1, " Que tenga un buen día !"
Print #1, Chr(27) & "J" 'Avanzo una linea
Print #1, Chr(27) & "m" 'Realizo el corte parcial del papel
Close #1
Hay algunos comando más, pero estos serían los basicos para imprimir un ticket. Para hacer retroceder el papel solo basta con poner:
Print #1, Chr(27) & "K" 'Retrocedo una linea
Suscribirse a:
Entradas (Atom)