• Lunes 18 de Noviembre de 2024, 05:42

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 ... 4 5 [6]
126
Visual Basic 6.0 e inferiores / ¿que formulario esta activo?
« en: Jueves 31 de Octubre de 2002, 02:05 »
Hola:

MsgBox Screen.ActiveForm.Name

Eso da el nombre del formulario activo.

Pero no significa que no haya otros formularios cargados.

Si queres saber cuales son todos los formularios cargados:

Dim F as Form

For each F in Forms
    MsgBox F.Name
Next

Saludos,

Javier

127
Visual Basic 6.0 e inferiores / Comprobar si esta instalado un programa
« en: Jueves 31 de Octubre de 2002, 02:01 »
Hola:

Cada verificación sería diferente. Yo tengo un código que verifica si está Excel, sin duda modificándolo un poco se puede ver si están los otros componentes de Office, los otros programas hay que verlos de otra forma.

Coloca un CommandButton en un form y copia esto:

Private Sub Command1_Click()
    MsgBox IsAppPresent("Excel.SheetCurVer", "")
End Sub

Ahora Abre un Module y copia esto:

Option Explicit

Global Const gstrSEP_DIR$ = ""                         ' Carácter separador de directorios
Public Const gstrSEP_REGKEY$ = ""                      ' Carácter de separación de claves del Registro.
Global Const gstrSEP_DRIVE$ = ":"                       ' Carácter de separación de unidad, p.e., C:
Global Const gstrSEP_DIRALT$ = "/"                      ' Carácter alternativo de separación de directorio
Global Const gstrSEP_EXT$ = "."                         ' Carácter de separación de extensión de archivo
Public Const gstrSEP_PROGID = "."
Public Const gstrSEP_FILE$ = "|"                        ' Usa el carácter para delimitar listas de nombres de archivo ya que no es un carácter válido en un nombre de archivo.
Public Const gstrSEP_LIST = "|"

Global Const gstrCOLON$ = ":"

Private Declare Function RegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, lpReserved As Long, lptype As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCloseKey& Lib "advapi32" (ByVal hKey&)

Private Const REG_SZ = 1
Private Const REG_EXPAND_SZ = 2
Private Const ERROR_SUCCESS = 0
Public Const HKEY_CLASSES_ROOT = &H80000000


Public Function IsAppPresent(strSubKey$, strValueName$) As Boolean
    IsAppPresent = CBool(Len(GetRegString(HKEY_CLASSES_ROOT, strSubKey, strValueName)))
End Function

Public Function GetRegString(hKey As Long, strSubKey As String, strValueName As String) As String
    Dim strSetting As String
    Dim lngDataLen As Long
    Dim lngRes As Long
   
    If RegOpenKey(hKey, strSubKey, lngRes) = ERROR_SUCCESS Then
        strSetting = Space(255)
        lngDataLen = Len(strSetting)
        If RegQueryValueEx(lngRes, strValueName, ByVal 0, REG_EXPAND_SZ, ByVal strSetting, lngDataLen) = ERROR_SUCCESS Then
            If lngDataLen > 1 Then
                GetRegString = Left(strSetting, lngDataLen - 1)
            End If
        End If
   
        If RegCloseKey(lngRes) <> ERROR_SUCCESS Then
           'MsgBox "RegCloseKey Failed: " & strSubKey, vbCritical
        End If
    End If
End Function

Saludos,

Javier

128
Visual Basic 6.0 e inferiores / Acciones con ventanas
« en: Martes 29 de Octubre de 2002, 01:25 »
Si buscas en el Cd de Visual Basic vas a encontrar un archivo que es Systray.ocx, ese componente te sirve para poner tu programa al lado del reloj, o mejor dicho en la Bandeja de sistema (System tray en inglés)
También está el código fuente por si lo quieres modificar.

En cuanto a que se minimize al presionar la X hace lo siguiente:
Para el evento Form_QueryUnload escribí:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = 0 Then
        Cancel = True
        WindowState = vbMinimized
        ' o bien SysTray1.OnTray = True
    End If
End Sub

Después vas a tener que hacer una forma para que se vuelva a restaurar y otra para poder cerrarlo definitivamente.
Saludos,

Javier

129
Visual Basic 6.0 e inferiores / Re: Array
« en: Domingo 27 de Octubre de 2002, 21:46 »
Primero que todo: ¿Qué es lo que querés hacer?

Javier

130
Visual Basic 6.0 e inferiores / HAcer transparente el commandbutton
« en: Domingo 27 de Octubre de 2002, 09:05 »
Hola:

La verdad que lo de transparente resulta un tanto confuso, porque yo pensaba que si querés que sea transparente, entonces querés que no se vea, y para eso no lo pongas.

Después leo un mensaje de RS
La verdad que parece un tanto poético.

Traslúcido sería otra cosa, eso si se puede. He visto ejemplos de eso pero con un form, con los controles seguramente se puede hacer también (en lugar de usar el Hwnd del form usar el Hwnd del control)
Un ejemplo con un formulario traslúcido está en http://www.pscode.com/vb/scripts/ShowCo ... 8&lngWId=1

Ahora, por otro lado, si lo que se quiere es hacer transparente una parte del CommandButton también se puede, esto es con llamadas a la API.
No tengo el código completo en mente, pero las API son: CreateRoundRectRgn (o CreateRectRgn, según la forma que se desee)  y SetWindowRgn

Saludos,

Javier

131
Visual Basic 6.0 e inferiores / cerrar programa adecuadamente
« en: Sábado 26 de Octubre de 2002, 23:42 »
¿A que te refieres con que no se descarga todo el programa, porque en el entorno de desarrollo ves que sigue ejecutandose?

Si es así se debe a que queda algún formulario cargado, fijate que debes usar Unload Nombre_Del_Formulario y no Nombre_Del_Formulario.Hide para ocultar los mismos.

En tu programa, asçi como está ahora, verás que si no presentas ningun otro formulario que el principal y luego lo cierras, ahi se cierra bien.
Bueno, eso es porque no hay ningún formulario cargado.

En cualquier momento que accedas a una propiedad o control contenido en un form, por ejemplo Form2.BackColor = vbRed, o Form2.Label1.Caption = "Prueba", el formulario se carga en memoria y luego debes descargarlo con la orden Unload.

Saludos,

Javier

132
Visual Basic 6.0 e inferiores / Necesito ayuda Urgente
« en: Viernes 25 de Octubre de 2002, 07:35 »
Yo te diría que si son deberes los trates de hacer vos, que es la manera de aprender.
Si lo intentás, haces algo y no te funciona, entonces sugeriria que junto con el mensaje publiques el código de lo que hiciste así te podemos ayudar a arreglar lo que no funcione.
Saludos,

Javier

133
Visual Basic 6.0 e inferiores / para solocodigo
« en: Viernes 25 de Octubre de 2002, 07:30 »
Sugerencia: sería muy útil tener la opción de ser notificado por email cuando alguien responde a un mensaje que uno puso, ya que a veces alguien puede ver la respuesta que uno escribió a una pregunta hecha y a su vez preguntar algo más y uno no se entera a no ser que haya vuelto a ver el mensaje.
Saludos y gracias,

Javier

134
Visual Basic 6.0 e inferiores / Barra de herramientas
« en: Viernes 25 de Octubre de 2002, 07:27 »
No se cuales serian los "pasos convencionales", pero para crear una barra de herramientas tenes que ir al menu proyecto, componentes y seleccionar Microsoft Windows Common Controls.
Luego añadir un control ToolBar y un ImageList, agregarle los iconos al ImageList, relacionar el control ToolBar con el ImageList, agregar los botones al Toolbar.

Ahora si a esto es lo que llamas los "pasos convencionales", todo esto lógicamente se puede hacer también a través de código, ¿en que parte te trabas?

Javier

135
Yo te diría que lo más sencillo es usar un form para eso y entonces le pones lo que vos quieras.

Javier

136
Visual Basic 6.0 e inferiores / seguridad ante todo
« en: Sábado 19 de Octubre de 2002, 02:13 »
Me parece que tendrias que encriptar los textos y luego desencriptarlos antes de mostrarlos.

Javier

137
Visual Basic 6.0 e inferiores / Un Scrollbar en un formulario
« en: Viernes 18 de Octubre de 2002, 10:53 »
Hola,

Bueno, para eso podes poner un PictureBox conteniendo los controles e ir cambiando el Top del PictureBox en el evento Scroll (y/o Change) del VScroll.

También podrías poner el PictureBox dentro de un Frame.

Vas a tener que calcular los valores correctos de las propiedades del VScroll, Min, Max, SmallChange, LargeChange.

Saludos y suerte,

Javier

138
Visual Basic 6.0 e inferiores / cancelar consulta
« en: Jueves 17 de Octubre de 2002, 17:28 »
Dim Cancelar as Boolean

Cancelar = False
Do While...

'hacer lo que haya que hacer

   Doevents
   if Cancelar then
      Exit Do
   End If
Loop


Private Sub cmdCancelar_Click
   Cancelar = True
End Sub

'cmdCancelar es el CommandButton

'¿Se entiende?

Javier

139
Visual Basic 6.0 e inferiores / Programas...
« en: Miércoles 16 de Octubre de 2002, 23:57 »
También puedes usar las funciones del registro de configuraciones, GetSetting y SaveSetting. Pero debes tener en cuenta que un usuario avanzado podría descubrir esto y modificarlo a mano.
Saludos y suerte,

Javier

140
Visual Basic 6.0 e inferiores / Como evitar que se pirateen mi sistema?
« en: Miércoles 16 de Octubre de 2002, 23:50 »
Bueno, serán hábiles y listos, pero parece que no saben mucha ortografía... "aviles"
(no te enojes)

141
Visual Basic 6.0 e inferiores / Re: NECESITO AYUDA CON UN PROGRAMA
« en: Miércoles 16 de Octubre de 2002, 23:47 »
a simple vista parece que debería funcionar
¿en que linea te da el error?
Si pones como archivo adjunto la base de datos lo pruebo y veo

142
Visual Basic 6.0 e inferiores / calculo del tiempo
« en: Martes 8 de Octubre de 2002, 00:50 »
Dim Inicio
    Dim Fin
   
    Inicio = Timer
    HacerRutina
    Fin = Timer
    MsgBox Fin - Inicio

Si el cálculo de los decimales debe ser sumamente exacto habria que usar algun otro codigo, ya que este toma intervalos de tiempo de la PC (creo que son cada 16 milisegundos)

Páginas: 1 ... 4 5 [6]