|
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
26
« en: Domingo 22 de Diciembre de 2002, 05:14 »
Hola Maxier:
No sé como bloquear las teclas, ni tampoco entiendo que es eso que pasa, pero lo que te sugiero es colocar ese formulario cubriendo toda la pantalla, es decir maximizado y BorderStyle = 0 y ponerlo fijo por sobre todas las demás ventanas. Para eso puedes utilizar este código. Para probarlo abre un proyecto nuevo, coloca un CommadnButton y pega lo sig:
'******************************** Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, Y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOSIZE = &H1 Private Const SWP_NOACTIVATE = &H10 Private Const SWP_SHOWWINDOW = &H40 Private Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Sub HacerSiempreVisible(Valor As Boolean, nHwnd As Long) If Valor Then SetWindowPos nHwnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS Else SetWindowPos nHwnd, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS End If End Sub
Private Sub Command1_Click() If Command1.Caption = "Hacer siempre visible" Then HacerSiempreVisible True, hwnd Command1.Caption = "Hacer no siempre visible" Else HacerSiempreVisible False, hwnd Command1.Caption = "Hacer siempre visible" End If End Sub
Private Sub Form_Load() Command1.Caption = "Hacer siempre visible" End Sub '********************************
Saludos, Javier
27
« en: Sábado 21 de Diciembre de 2002, 04:37 »
Hola Rober:
Muchas veces yo usé el evento Resize o Activate (o Paint) e hice algo así:
Static sPrimeroYaEsta as Boolean
If Not sPrimeroYaEsta Then ' Hacer algo sPrimeroYaEsta = True End If
Saludos, Javier
28
« en: Sábado 21 de Diciembre de 2002, 04:33 »
Hola:
Probá cambiadno por
Do Until bdgeo.Recordset.RecordCount = 0
Saludos, Javier
30
« en: Lunes 16 de Diciembre de 2002, 01:55 »
Hola Code:
¿Podrías decir que quieres hacer con la imagen, porque no entiendo eso de pasar a "binario"?
Saludos, Javier
31
« en: Lunes 16 de Diciembre de 2002, 01:42 »
Hola MindEye:
Numero = Int (Numero * 100)/ 100
Saludos, Javier
32
« en: Domingo 15 de Diciembre de 2002, 23:45 »
Hola Cero Kull:
Si querés que el usuario pueda salir y dejar en blanco el Text en algunos casos, solo coloca una variable a modo de bandera. Por ejemplo una variable Cancelar booleana a nivel del formulario, cuando el usuario hace click en un botón que quieres que no saque el mensaje, en el evento MouseDown y en el GotFocus la pones Cancelar = True, luego antes de llamar a la rutina de validación de los text que está en el LostFocus, preguntas por esa variable: If Not Cancelar Then ProcesarLostFocusText Text1
Esto no lo probé, pero creo que tiene que funcionar, fijate si lo podés hacer andar.
Saludos, Javier
33
« en: Sábado 14 de Diciembre de 2002, 06:47 »
Hola Lucas:
La función que hace eso se llama Asc.
Ej: Msgbox Asc("A")
La contraria es Chr
Ej: Msgbox Chr(65)
Saludos, Javier
34
« en: Sábado 14 de Diciembre de 2002, 06:45 »
Hola cero Kull:
Tenías razón, si el text donde estás y el que sigue están los dos vacíos, se queda dando el error de que igrese algo de ambos text y no se puede más salir de los mensajes.
Cambiá el código de la rutina de ProcesarLostFocusText a este otro:
'***************************** Public Sub ProcesarLostFocusText(txt As TextBox) Static Procesando As Boolean
If Procesando Then Exit Sub Procesando = True txt.Text = Trim(UCase(txt.Text)) If txt.Text = "" Then MsgBox " INGRESE ALGO ", vbCritical txt.SetFocus DoEvents End If Procesando = False End Sub '*****************************
Le agregué una variable estática para saber si ya está procesando el LostFocus de otro y un DoEvents para que luego de que haga el SetFocus vaya inmediatamente.
Saludos, Javier
35
« en: Viernes 13 de Diciembre de 2002, 21:14 »
Hola Robert: No se asusten tan rápido!! La mayoría de las cosas tienen solución (muchas puede ser que uno no las sepa, me atajo) Para tu caso hay varias: 1) Declarar el array en un módulo como public. 2) Declararlo en el formulario con Private o Dim y hacer un procedimiento de propiedad público para accederlo: Private VariableMiArray() as Variant Redim... etc Public Property Get MiArray(Dimension1 As Long, dimension2 As Long) As Variant MiArray = VariableMiArray(Dimension1, dimension2) End Property Public Property Let MiArray(Dimension1 As Long, dimension2 As Long, NuevoValor As Variant) VariableMiArray(Dimension1, dimension2) = NuevoValor End Property desde Form2 lo accedes con Form1.MiArray 3) Algo parecido, pero de una manera diferente. A) Si solo tienes que leerlo desde Form2: En Form1 va: Public Property Let MiArray(nArray As Variant) VariableMiArray = nArray End Property desde Form2 lo accedes con Form1.MiArray Si tines que leerlo, y poder modificarlo: En Form1 va: Public Property Get MiArray() As Variant MiArray = VariableMiArray End Property Public Property Let MiArray(nArray As Variant) VariableMiArray = nArray End Property En form2 para leerlo: Form1.MiArray(indice1,indice2) Para modificarlo: Dim ElArray ElArray = Form1.MiArray ElArray(1, 1) = "Otra cosa" Form1.MiArray = ElArray Y podría haber más opciones. Saludos, Javier
36
« en: Viernes 13 de Diciembre de 2002, 06:10 »
Hola Gabycas:
No sé que será lo que estás buscando, tendrías que decir más específicamente que querés hacer.
Por mi parte te adelanto que no sé mucho de VBA, pero creo que como está planteada tu pregunta sería conveniente que expliques un poco más para que alguien entienda que necesitas.
Otra sugerencia que te hago es que busques con Google utilizando las palabras apropiadas.
Saludos, Javier
37
« en: Viernes 13 de Diciembre de 2002, 06:00 »
Hola Cero Kull:
No sé que pasará. En lugar de Ctrl+Alt+Del presiona Ctrl+Pausa y luego F8 para ver adonde se quedo trabado haciendo algo en el código.
Para transformar a mayúsculas usa Ucase, para ver en detalle la función busca Ucase en la ayuda de VB.
Saludos, Javier
39
« en: Miércoles 11 de Diciembre de 2002, 23:20 »
Hola Roedor: Con la API ExitWindowsEx puedes cerrar Windows, creo que funciona en todas las versiones. Podés consultar su uso en http://www.allapi.netSaludos, Javier
40
« en: Miércoles 11 de Diciembre de 2002, 18:02 »
Hola Robert:
Shell "Notepad.exe [Path]NombreArchivo.log", vbNormalFocus
Saludos, Javier
41
« en: Miércoles 11 de Diciembre de 2002, 13:00 »
Hola José:
Si no has agregado componentes nuevos (ActiveX, Dlls) y si no han variado las versiones de los usados anteriormente; con solo compilar el nuevo exe y sobreescribir el otro tiene que andar bien.
Saludos, Javier
42
« en: Miércoles 11 de Diciembre de 2002, 12:55 »
Muy sencillo:
poné una variable a nival de formulario, por ej. Cancelado, en el Unload la pones a true.
Luego en el proceso, preguntas a continuación del DoEvents, si es True se va del proceso.
Saludos, Javier
43
« en: Miércoles 11 de Diciembre de 2002, 02:33 »
Hola Rulsly:
Una forma es:
SendKeys "{F1}"
Envía una pulsación de la tecla F1.
Saludos, Javier
44
« en: Miércoles 11 de Diciembre de 2002, 02:30 »
Hola Cero Kull:
Bueno, eso es lo que hice la vez pasada justamente y vi que me andaba bien, lo probé con dos text. ¿Por qué no me decís cual es el problema? Porque haciendo así como me decís es como vi que me funcionaba bien y te escribí el post anterior.
Obviamente de esa forma ningún text va a aceptar números, si necesitas que otros acepten números vas a tener que escribir otra funcion similar pero para los que son de números.
Espero que me aclares esto, así entiendo que pasa.
Saludos, Javier
45
« en: Martes 10 de Diciembre de 2002, 18:50 »
Hola Rober:
Coloca un DoEvents antes del Next.
Saludos, Javier
46
« en: Martes 10 de Diciembre de 2002, 16:35 »
Por lo que dices parecería que tienes mal instalado alguno de los componentes. Yo probaría instalando de nuevo el Visual Basic y (primero) ese calendario de programadores.
Saludos, Javier
47
« en: Martes 10 de Diciembre de 2002, 16:31 »
Hola Onil:
Para alinear números o texto a la derecha dentro de una variable String:
Dim Campo As String Campo = Space(20) ' cambiar el 20 por el ancho deseado en caracteres RSet Campo = (NumeroOTexto)
Saludos, Javier
48
« en: Martes 10 de Diciembre de 2002, 16:26 »
Hola Empar:
El código es:
Erase NombreVector
Saludos, Javier
49
« en: Martes 10 de Diciembre de 2002, 07:05 »
Hola Jorge:
Acá va el código:
Private Declare Function ShowCursor& Lib "user32" (ByVal bShow As Long)
Private Sub MostrarMouse(nValor As Boolean) Dim Aux As Long If nValor Then Aux = ShowCursor(True) Do Until Aux >= 0 Aux = ShowCursor(True) Loop Else Aux = ShowCursor(False) Do Until Aux < -5 Aux = ShowCursor(False) Loop End If End Sub
Saludos, Javier
50
« en: Martes 10 de Diciembre de 2002, 03:07 »
Michael:
Escribe Ramdomize y pulsa F1 estando sobre la palabra, te va a salir la ayuda de VB que explicará para que sirve la función Randomize.
Saludos, Javier
|
|
|