trucos de Visual Basic trucos para visual basic

manuales, tutoriales, programacion
programming tutorials, programming manuals
visual basic>actualizacion de un registro existente en ASP
RegistrateNewsletter
+ de 45.000 registrados
AñadenosFavoritos
trucos y tutoriales de Visual basic
TRUCO 1: ¿Cómo registrar/desregistrar controles ActiveX rápidamente?. A continuación, se indica cómo registrar/desregistrar DLLs y OCXs, asociando un tipo de fichero con una acción:
  1. Desde el Explorador de Windows seleccione en el menú Ver\Opciones y elija la pestaña Tipos de Archivo.
  2. Haga clic en el botón Nuevo tipo.
  3. Rellene el campo Descripción del tipo. Ejemplos:

    Ficheros DLL

    Ficheros OCX

  4. Rellene el campo Extensión asociada. Ejemplos:

    DLL

    OCX

  5. Haga clic en el botón Nueva para añadir una acción al tipo de fichero.
  6. Rellene el campo Acción. Ejemplos:

    Registrar

    DeRegistrar

  7. En el campo Aplicación utilizada para realizar la acción indique la aplicación Regsvr32.exe. Ejemplos:

    - Para registrar un fichero utilice Regsvr32.exe.

    - Para desregistrar un fichero utilice Regsvr32.exe /u.

    Observe que Regsvr32 es sólo para ficheros de 32-bit. Si intenta registrar ficheros de 16-bit ocurrirá un error.


TRUCO 2: ¿Cómo obtener un puntero a una variable?. Una de las características de Visual Basic que los programadores de C o Pascal echan de menos es el uso de punteros. Visual Basic 5.0 proporciona una serie de funciones no documentadas ni soportadas que permiten obtener un puntero a una variable, a un objeto o una cadena. Con un poco de imaginación y gracias a esta nueva funcionalidad se pueden construir listas enlazadas, árboles, etc., que permitan superar las limitaciones de Visual Basic. A continuación, se describen estas funciones no documentadas: VarPtr(nombre_variable): obtiene un puntero a una variable de tipo Integer, Long, etc., excepto String. StrPtr(nombre_variable_string): obtiene un puntero a una variable de tipo String. ObjPtr(nombre_variable_objeto): obtiene un puntero a una variable de tipo objeto. Ejemplo: Dim x As String * 255 Dim y As New Form1 Dim z As Integer MsgBox StrPtr(x) MsgBox ObjPtr(y) MsgBox VarPtr(z)

TRUCO 3: ¿Cómo desplazar bits de forma similar a los comandos << y >> de C?. Las operaciones de desplazamiento de bits << y >> de C no están implementadas en Visual Basic. Sin embargo, se pueden desarrollar un par de funciones de forma sencilla que nos permitan obtener esta funcionalidad.

Para desplazar 1 bit a la izquierda hay que multiplicar por 2, para desplazar 2 bits a la izquierda hay que multiplicar por 4 y así sucesivamente.

Para desplazar 1 bit a la derecha hay que dividir por 2, para desplazar 2 bits a la derecha hay que dividir por 4 y, así sucesivamente.

A continuación, se muestra la implementación de las funciones aplicando el algoritmo anteriormente descrito: Function LShift(iVariable As Integer, iNumbits As Integer) As Integer LShift = iVariable * (2 ^ iNumbits) End Function Function RShift(iVariable As Integer, iNumbits As Integer) As Integer RShift = iVariable \ (2 ^ iNumbits) End Function Private Sub Command1_Click() MsgBox LShift(1, 1) MsgBox RShift(2, 1) End Sub

TRUCO 4: ¿Cómo desactivar los repintados de una ventana?. En ocasiones es conveniente que durante un cierto tiempo una ventana determinada no produzca repintados, ya que la información que se quiere mostrar es amplia y no interesa que el usuario vaya viendo cómo se va generando. La función LockWindowUpdate permite inhibir los repintados hasta que se vuelva a llamar de nuevo a esta función con el parámetro NULL.

Al llamar a la función LockWindowUpdate, la ventana no procesa los repintados no pudiendo tampoco el usuario moverla de posición.

A continuación, se muestra un ejemplo:
  1. Cree un nuevo proyecto con dos botones y una caja de texto.
  2. Copie el siguiente código en el formulario: Private Declare Function LockWindowUpdate Lib "user32" _ (ByVal hwndLock As Long) As Long Private Sub Command1_Click() LockWindowUpdate Me.hWnd Text1 = "prueba" End Sub Private Sub Command2_Click() LockWindowUpdate 0& End Sub
  3. Pulse el botón Command1. Comprobará que la caja de texto no cambia a pesar de modificar su propiedad Text. Si pulsa el botón Command2 podrá observar cómo se reflejan los cambios.


TRUCO 5: ¿Cómo registrar/de-registrar servidores EXE?. La utilidad REGSVR32 puede ser utilizada para registrar DLLs y OCXs, pero ¿ cómo registrar servidores OLE de tipo EXE ?.

Utilizando las opciones de la línea de comandos /regserver y /unregserver es posible registrar y desregistrar cualquier servidor EXE sin necesidad de invocar el interfaz de usuario de la aplicación. Ejemplo:

miservidor /regserver

miservidor /unregserver

Cuando se crea en Visual Basic un componente ActiveX EXE, la librería de COM añade automáticamente el procesamiento de estos comandos.

Recomendar
Recomendar esta pagina a un amigo