TRUCOS
Aquí podéis encontrar una serie de trucos para hacer más fácil la programación de vuestras aplicaciones. Los nuevos trucos se añaden en la parte superior de la página:
IMPEDIR PEGAR TEXTO EN UN CUADRO DE TEXTO
Para impedir que en un cuadro de texto se inserte el contenido del portapapeles se pueden optar por varias soluciones:
Sub CuadroDeTexto_KeyDown (KeyCode As
Integer, Shift As Integer)
|
REALIZAR UNA GRÁFICA CON EL CONTROL GRAPH
Para hacer una gráfica con el control Graph teniendo los datos en un Grid:
Primero se
rellenan las etiquetas del graph (lo que es la
"leyenda") y se ponen a 0 los datos del Graph:´ Muchos cajeros, un sólo dato.
|
ADMITIR SÓLO NÚMEROS EN UN TEXT BOX
Una de las funciones más interesantes. Escribir este texto en el evento Key Press
| If KeyAscii <
Asc("0") Or KeyAscii > Asc ("9")
Then If KeyAscii <> 8 Then KeyAscii = 0 |
EJECUTAR CUALQUIER APLICACIÓN
Con este código podrás ejecutar cualquier aplicación (eso sí, deberás indicarle la ruta completa del archivo).
| Dim recurso As
Long recurso = Shell("start " & "C:\windows\notepad.exe") |
CENTRAR UNA VENTANA
Para que las pantallas de nuestros formularios aparezcan siempre centradas independientemente de la resolución a la que esté configurado el monitor:
Nombre_del_Formulario.Left = Screen.Width - Width \ 2 Nombre_del_Formulario.Top = Screen.Height - Height \ 2 |
OBTENER
UN NÚMERO ALEATORIO
Con el siguiente código obtendrás un número aleatorio. Para ello debes insertar en el formulario un Label y un Botón. Ahora en el evento click del botón introduce el siguiente código:
| Dim Numero As
Double Randomize Numero = Rnd Label1.Caption = Numero |
COMPROBAR
LA EXISTENCIA DE UN FICHERO
Para comprobar si existe o no un determinado fichero emplea este código:
| Dim x On Error GoTo Fallo |
SELECCIONAR EL CONTENIDO DE UN TEXTBOX
Con este código, cuando el cuadro de texto obtenga el foco, se seleccionará todo su contenido, evitando así el tener que arrastrar el ratón para seleccionar el texto. Inserta un cuadro de texto y el evento GetFocus inserta este código:
| Text1.SelStart =
0 Text1.SelLength = Len(Text1.Text) |
APAGAR EL EQUIPO Y REINICIAR EL SISTEMA
Se insertan dos botones (cbApagar y cbReiniciar). En las declaraciones generales del código se inserta lo siguiente:
| Private Declare Function ExitWindowsEx& Lib "user32" (ByValuFlags&, ByVal dwReserved&) |
En el evento click del cbApagar se escribe lo siguiente:
| Dim i As Integer i = ExitWindowsEx(1, 0&) |
Por último, en el evento click del cbReiniciar escribe esto:
| Dim i As Integer i = ExitWindowsEx(2, 0&) |
DETECTAR LA LETRA ASIGNADA AL
CD-ROM
Insertamos una Label y en las declaraciones generales insertamos lo siguiente:
| Private Declare
Function GetDriveType Lib "kernel32" Alias
"GetDriveTypeA" (ByVal nDrive As String) As
Long Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Private Const DRIVE_REMOVABLE = 2 Private Const DRIVE_FIXED = 3 Private Const DRIVE_REMOTE = 4 Private Const DRIVE_CDROM = 5 Private Const DRIVE_RAMDISK = 6 |
Ahora escribimos esta otra función:
| Function
StripNulls(startStrg$) As String Dim c%, item$ c% = 1 Do If Mid$(startStrg$, c%, 1) = Chr$(0) Then item$ = Mid$(startStrg$, 1, c% - 1) startStrg$ = Mid$(startStrg$, c% + 1, Len(startStrg$)) StripNulls$ = item$ Exit Function End If c% = c% + 1 Loop End Function |
Por último en el evento form Load escribimos esto otro:
| Dim r&,
allDrives$, JustOneDrive$, pos%, DriveType& Dim CDfound As Integer allDrives$ = Space$(64) r& = GetLogicalDriveStrings(Len(allDrives$), allDrives$) allDrives$ = Left$(allDrives$, r&) Do pos% = InStr(allDrives$, Chr$(0)) If pos% Then JustOneDrive$ = Left$(allDrives$, pos%) allDrives$ = Mid$(allDrives$, pos% + 1, Len(allDrives$)) DriveType& = GetDriveType(JustOneDrive$) If DriveType& = DRIVE_CDROM Then CDfound% = True Exit Do End If End If Loop Until allDrives$ = "" Or DriveType& = DRIVE_CDROM If CDfound% Then label1.Caption = "La unidad de CD-ROM corresponde a la unidad: " & UCase$(JustOneDrive$) Else label1.Caption = "Su sistema no posee CD-ROM o unidad no encontrada." End If |
Próximamente más trucos en esta sección. Estad atentos.