• Lunes 18 de Noviembre de 2024, 07:51

Mostrar Mensajes

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


Mensajes - javierbalk

Páginas: 1 2 3 [4] 5 6
76
Visual Basic 6.0 e inferiores / Variables
« en: Miércoles 4 de Diciembre de 2002, 05:05 »
Te contesté en lawebdelprogramador.com

Saludos,
Javier

77
Visual Basic 6.0 e inferiores / Re: Validacion de los "text"
« en: Miércoles 4 de Diciembre de 2002, 02:22 »
Hola Cero Kull:

Y no, porque el lostfocus lo que hace es validar lo que tiene el y no los otros texts.
No lo he probado mucho, sino solo que modifiqué tu código, pero supongo que debe andar bien.
Si llegás a detectar algún problema lo solucionamos.

Saludos,
Javier

78
Visual Basic 6.0 e inferiores / Re: Validacion de los "text"
« en: Lunes 2 de Diciembre de 2002, 04:46 »
Hola Cero Kull:

No me parece que esté mal lo que hiciste, pero modifiqué tu código para hacerte la vida más sencilla.
Agrega un módulo estándar al proyecto y pega el sig. código:

'*********************************************
Public Sub ProcesarKeyPressTextSoloTexto(Keyascii As Integer, txt As TextBox)
    If Asc(UCase(Chr(Keyascii))) < Asc("A") Or Asc(UCase(Chr(Keyascii))) > Asc("Z") Then
        If Keyascii <> 8 And Keyascii <> 13 And Keyascii <> 209 And Keyascii <> 241 And Keyascii <> 34 And Keyascii <> 225 And Keyascii <> 233 And Keyascii <> 237 And Keyascii <> 32 And Keyascii <> 243 And Keyascii <> 250 Then
            Keyascii = 0
            Beep
        End If
        If Keyascii = 13 Then
            SendKeys "{TAB}"
        End If
    Else
        Keyascii = Asc(UCase(Chr(Keyascii)))
    End If
End Sub

Public Sub ProcesarLostFocusText(txt As TextBox)
    txt.Text = Trim(UCase(txt.Text))
    If txt.Text = "" Then
        MsgBox " INGRESE ALGO ", vbCritical
        txt.SetFocus
    End If
End Sub
'*********************************************

Luego en los TextBox cambia el código por el sig:

'*********************************************
Private Sub Text1_KeyPress(Keyascii As Integer)
    ProcesarKeyPressTextSoloTexto Keyascii, Text1
End Sub

Private Sub Text1_LostFocus()
    ProcesarLostFocusText Text1
End Sub
'*********************************************

De manera que ahí tienes centralizado el manejo de eso, y sólo tienes que agregar esas líneas por cada TextBox.

También notarás que hice unos cambios:
En lugar de enviar el foco al sig. control con SetFocus lo hice enviando la tecla Tab, de manera que no hace falta conocer cuál es, sólo que deberás poner bien en orden el TabIndex de cada uno para que funcione bien.

Además agregué que se pongan a mayúscula con cada letra y no solo al final.
También cambié a que luego ponga (de nuevo) todo a mayúsculas cuando pierde el foco el control, porque con el otro código si el usuario en lugar de presionar Enter presionaba Tab no se ponía a mayúscula, lo mismo si hacía click con el mouse en otro lado.

Ahora ¿para qué poner a mayúscula en el LostFocus si ya está todo mayúscula por cada pulsación? Bueno, si haces click con el botón derecho en el textbox verás que puedes copiar algo que esté en el portapapeles, es por eso, porque lo copia en minúsculas si está así.

Lo mismo con la validación por si está vacío, la puse en el LostFocus por la misma razón de más arriba (si cambia de control sin presionar Enter).

Con respecto a una rutina más simple, si es que quieres experimentar, hay una API que se llama IsAlphaNumeric que retorna 1 si el KeyAscii es un caracter alfanumérico y 0 si no lo es. Combinando esta API con IsNumeric podrías determinar si es un caracter de letra o no.

La declaración es:

Public Declare Function IsAlphaNumeric& Lib "user32" Alias "IsCharAlphaNumericA" (ByVal cChar As Byte) ' Si son letras o números devuelve 1, sino devuelve 0

Y se usa:

If IsAlphaNumeric(KeyAscii) = 1...

Espero que te haya ayudado.

Saludos,
Javier

79
Visual Basic 6.0 e inferiores / Tengo otro problema despues de empaquetado
« en: Lunes 2 de Diciembre de 2002, 01:39 »
Hola José:

Tienes que referenciar a la base de datos no con un path absoluto, por ej. "C:MisProgramasEsteBase.mdb", sino con un path relativo utilizando la variable App.Path, ej:

App.Path & "" & Base.mdb

La variable App.Path te da la ruta donde está corriendo tu programa.

Saludos,
Javier

80
Visual Basic 6.0 e inferiores / Errores despues de empaquetar proyecto
« en: Domingo 1 de Diciembre de 2002, 19:11 »
Si, en el Asistente de empaquetado y distribución hay un lugar para añadir archivos, tienes que agregarla ahí.

Saludos,
Javier

81
Visual Basic 6.0 e inferiores / Re: Estoy desesperada!!!!!!
« en: Domingo 1 de Diciembre de 2002, 16:46 »
Hola Macarena:

Primero no te desesperes por estas cuentiones de la vida.

Segundo tenes que hacer el paquete de instalación de modo de llevar todos los archivos necesarios, puedes usar el Asistente de empaquetado y distribución que viene con Visual Basic, te sale en Inicio, Programas, Visual Basic 6...

Saludos,
Javier

82
Visual Basic 6.0 e inferiores / Re: Errores despues de empaquetar proyecto
« en: Domingo 1 de Diciembre de 2002, 16:43 »
Cuando instales asegurate que no haya otros programas de VB corriendo, cierra todas las aplicaciones.
Lo que puede pasar es que esos archivos están en uso y no los puede actualizar.
Tal vez omitiéndolos ande todo bien también.

Saludos,
Javier

83
Visual Basic 6.0 e inferiores / Ayuda ODBC
« en: Sábado 30 de Noviembre de 2002, 17:40 »
No sé que será lo que estás haciendo, pero me parece que deberías usar algo como ASP y hacer que la aplicación corra en el servidor y que entregue los resultados en el Browser, sin tener que instalar nada en el cliente.

Saludos,
Javier

84
Visual Basic 6.0 e inferiores / Re: APLICACION EN SEGUNDO PLANO
« en: Sábado 30 de Noviembre de 2002, 02:11 »
Mejor di Señores amigotes...jeje

Si no quieres mostrar ningún formualrio en tu aplicación, puedes poner en un módulo un procedimiento:

Public Sub Main ()
    ' hacer lo que haya que hacer
End Sub

y luego en en menú Proyecto selecciona Propiedades, en donde dice Objeto inicial selecciona Sub Main.

Para que no esté todo el tiempo en un loop, lo que puedes es poner un Timer, pero ahi entonces vas a tener que agregar un formulario. Para no mostrarlo puedes hacerlo así:

Public Sub Main ()
    Load Form1
End Sub

en el timer coloca Interval = 5000

Luego en el procedimiento del timer escribes la consulta que quieres hacer.

Saludos,
Javier

85
Visual Basic 6.0 e inferiores / macro en VB6
« en: Viernes 29 de Noviembre de 2002, 19:52 »
No entiendo, ¿Podrís explicar mejor para los que no sabemos Clipper?

¿Quieres cambiar el nombre de las variables o el valor que tienen asigando?

Javier

86
Visual Basic 6.0 e inferiores / Re: Problema adjunto el programa
« en: Viernes 29 de Noviembre de 2002, 19:49 »
Ahí te hice la modificación para trabajar con la captura de errores y detectar que presionó el botón cancelar:

Private Sub Command1_Click()
    Cdl1.Filter = "Archivo de texto(*.txt)|*.txt"
    Cdl1.CancelError = True
    On Error Resume Next
    Cdl1.ShowSave
    If Err.Number = 0 Then
        Open Cdl1.FileName For Output As #1
            Print #1, Text1.Text
        Close #1
    End If
End Sub

Saludos,
Javier

87
Visual Basic 6.0 e inferiores / Re: porfa voooooooorrrrrrrrrrrrrrrrr
« en: Viernes 29 de Noviembre de 2002, 05:58 »
Sabes que pasa Michael, si haces una pregunta porque no sabes hacer algo especificamente de Visual el que sabe te va a responer, pero tu tienes que hacer un proyecto y no sabes ni como empezar, como van a saber que decirte los otros si ni siquiera saben bien como tiene que hacer tu proyecto.

Primero tienes que entender bien y saber exactamente que es lo que quieres hacer, con el mayor detalle posible, luego viene la parte de como hacerlo.
Entonces cuando ya empiezas a definir algo, si te trabas con un tema puedes preguntar eso que es específico.

Pero si haces una pregunta así es como si un aquitecto dijera a sus colegas: amigos, tengo que hacer una casa ¿que hago? Y nadie va a saber que decirle.

Bueno, no es para que lo tomes a mal, pero las cosas no son por magia, es por pensar y por trabajo.

Saludos,
Javier

88
VBA / Re: Maximizar Ventanas y Redimensionar Controles
« en: Viernes 29 de Noviembre de 2002, 03:05 »
Hola Alvarado:

No es tan sencillo, VB no lo soporta él mismo a eso.
Hay varios componentes OCX que lo hacen (algunos son gratis), puedes buscar en Google Visual Basic Resize, resizer, sizer.
También puedes buscar en http://www.pscode.com/vb/ que seguramente haya algo también.

Saludos,
Javier

89
Visual Basic 6.0 e inferiores / Problemar de alineamiento de texto?¿
« en: Jueves 28 de Noviembre de 2002, 03:46 »
El TextBox tiene la propiedad Alignment para acomodar el texto a la izquierda, derecha o centrado, justificado no tiene.

Para justificar lo que se me ocurre es tomar cada línea de texto e ir agregando espacios de más entre las palabras hasta llegar al ancho; pero hay que hacer la rutina.

Saludos,
Javier

90
Visual Basic 6.0 e inferiores / Re: que alguien me ayude porfavor, es urgente
« en: Jueves 28 de Noviembre de 2002, 03:41 »
Ahora, yo pregunto:
¿De qué manera podemos ayudarte?

Javier

91
Hola, bueno, no sé, será por la configuración de la pantalla, yo para unos programas los saqué así y habían quedado perfectos, pero lógicamente si encontrás los íconos mejor.
Saludos,

Javier

92
Tal vez ya no vuelvas a ver el mensaje, pero aunque sea para otros lo comento:

Si no los encuentras es muy sencillo, abres el Word (o la aplicación que sea), haces un PrintScreen, esa tecla de arriba a la derecha (-2), abres el Paint, lo recortas y lo pegas en otra ventana de Paint. Lo grabas y listo.

Saludos,
Javier

93
Visual Basic 6.0 e inferiores / Re: ¿Como evitar que salga el aspa de cerrar el form?
« en: Miércoles 27 de Noviembre de 2002, 15:39 »
Coloca la propiedad del formulario ControlBox = False

Saludos,
Javier

94
Visual Basic 6.0 e inferiores / Re: Borrar todos los registros de una Tabla DBF desde VB
« en: Miércoles 27 de Noviembre de 2002, 15:36 »
Mira, yo no trabajo muchos con bases de datos, pero me parece que el SQL "Delete * from Tabla" debería funcionar, el motor de bases de datos es el que se engarga del formato de la base, corregime si estoy equivocado.

Saludos,
Javier

95
Hola Joe:

Fijate un poco más abajo, la pregunta http://foros.solocodigo.com/viewthread.php?tid=1525 que una chica preguntó lo mismo y ya le respondieron.
Saludos,

Javier

96
Visual Basic 6.0 e inferiores / Se puede controlar el Salvepantallas con VB?
« en: Martes 26 de Noviembre de 2002, 05:25 »
1)
Para activar el salvapantallas que está configurado en Windows usa el sig. código (agrega un command a un proyecto nuevo y pega esto):

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_SYSCOMMAND = &H112&
Const SC_SCREENSAVE = &HF140&

Private Sub Command1_Click()
    Dim lRes As Long

    lRes = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
End Sub
'**************Fin del código*******

2)
Si en cambio lo que quieres es activar cualquier salvapantallas, agrega un command a un proyecto nuevo y usa el sig. código:

Private Sub Command1_Click()
    Shell "C:WindowsSystemLaberinto 3d.scr /s"
End Sub

Normalmente los salvapantallas están en el directorio de sistema, pero este puede ser diferente en cada instalación, por lo que deberías usar la API GetSystemDirectory para saber donde es.

3)
Si lo que quieres es programar uno, tienes que cambiar la extensión .exe por .scr.
En la dirección http://groups.google.com.ar/groups?q=vi ... cl&rnum=11 hay más datos.

Saludos,
Javier

97
Visual Basic 6.0 e inferiores / Re: llenar un solo campo de una base de datos
« en: Martes 26 de Noviembre de 2002, 05:02 »
Lo que dices es un imposible. Primero necesitas entender como está constituida una base de datos, que son las tablas, campos y registros.

Cada vez que agregas un registro se agregan todos los campos de esa tabla, es imposible agregar un campo solo, necesariamente siempre que agregas, agregas un registro.
Lo que puedes hacer es poner a 0 los campos que no te interesan, a 0 si son numéricos o a "" si son texto.

Saludos,
Javier

98
Visual Basic 6.0 e inferiores / Re: Una pregunta casi Ridicula!! Combo Box
« en: Lunes 25 de Noviembre de 2002, 01:56 »
Bueno, si estoy entendiendo lo que quieres, incluye esta línea en el código antes que se muestre:

Combo1.ListIndex = 0

Ahí va a mostrar el primer elemento de la lista.
Saludos,

Javier

99
Visual Basic 6.0 e inferiores / Re: CREAR UNA BASE DE DATOS CON MULTILISTAS ENCADENADAS
« en: Domingo 24 de Noviembre de 2002, 23:58 »
Hola Patty:

La forma más simple que conozco de crear la base de datos es en Access. Ahí puedes hacer también las relaciones entre las distintas tablas.
Luego desde VB la usas, y haces el ABM y consultas en tu programa VB.
Saludos,

Javier

100
Visual Basic 6.0 e inferiores / Manejar numeros muy grandes en VB6
« en: Domingo 24 de Noviembre de 2002, 23:55 »
El tipo de datos numérico más grande con el que trabaja VB es el Double.

Dim MiNumero as Double

Pero no tiene tantos dígitos, tal vez te convenga usar tipo de datos String si es que no tienes que hacer operaciones matemáticas.

Saludos,

Javier

Páginas: 1 2 3 [4] 5 6