
En Esta Pagina Encontrara todos los trucos disponibles hasta el momento, los mismos fueron recopilados por Paladin Software, y los ususarios que visiten esta pagina pueden enviarlos a : paladinsoft@hotmail.com
Esta pagina fue actualizada por ultima vez el : 09/09/98
Determinar si un fichero existe
1. Crear un nuevo proyecto en Visual Basic, por defecto será
Form1
2. Añadir el siguiente código a Global Module:
Type OFSTRUCT '136 bytes in length
cBytes As String * 1
fFixedDisk As String * 1
nErrCode As Integer
reserved As String * 4
szPathName As String * 128
End Type
3.En la sección Global Declaration de Form1, añadir el
siguiente codigo
(Nota: se ha de escribir en una sola linea de texto):
Declare Function OpenFile% Lib "Kernel" (ByVal
lpFileName$, lpReOpenBuff As OFSTRUCT, ByVal wStyle%)
4.Continuar añadiendo estas lineas de codigo en Global
Declaration del Form1:
Dim wStyle As Integer
Dim Buffer As OFSTRUCT
Dim IsThere As Integer
Dim TestFile As String
5.Añadir el codigo siguiente a Form_Load() event procedure:
Sub Form_Load()
TestFile = "c:\testfile.dat"
IsThere = OpenFile(TestFile, Buffer, OF_EXIST)
If IsThere < 0 Then
GoTo CheckForError
Else
Debug.Print "Este fichero existe"
End If
CheckForError:
IsThere = Buffer.nErrCode
If IsThere = 3 Then
Debug.Print "No se encuentra"
End If
Como copiar ficheros desde un directorio a
otro
1. Crear un nuevo proyecto en Visual Basic por defecto es
"Form1"
2. Añadir el siguiente codigo al evento "Form_load"
del Form1
Private Sub Form_Load()
text1.Text = ""
text2.Text = ""
End Sub
3. Añadir un label control al form1, por defecto es label1,
escribir en
propiedades Caption "Directorio Fuente"
4. Añadir un segundo label control al form1, por defecto es
label2, escribir
en propiedades Caption "Directorio de Destino"
5. Añadir un control "Text Box" al Form1, por defecto
será Text1
6. Añadir un segundo control "Text Box", por defecto
será Text2
7. Añadir un boton al Form1 "Command Button" en
propiedades caption
escribir "Copiar Ficheros"
8. Añadir el siguiente codigo al evento "Click" de
Command1:
Private Sub Command1_Click()
Dim SourceDir As String
Dim TargetDir As String
Dim X As Integer
Dim P As Integer
SourceDir = text1.Text
TargetDir = text2.Text
CopyFile SourceDir, TargetDir, P
MsgBox "Numeros de ficheros copiados = " & Str$(P)
End Sub
9. Crear una nueva subrutina llamada CopyFile y añadirle el
codigo siguiente.
Sub CopyFile(SrcDir As String, TrgtDir As String, NumFiles As
Integer)
Dim OldDir As String
Dim NewDir As String
Dim FileName As String
Dim sType As String
OldDir = SrcDir
If Right$(OldDir, 1) <> "\" Then
OldDir = OldDir & "\"
End If
NewDir = TrgtDir
If Right$(NewDir, 1) <> "\" Then
NewDir = NewDir & "\"
End If
NumFiles = 0
FileName = Dir$(OldDir & "*.*")
While FileName <> ""
On Error Resume Next
FileCopy (OldDir & FileName), (NewDir & FileName)
If Err = 0 Then
NumFiles = NumFiles + 1
Else
Beep
MsgBox Error$, MB_ICONEXCLAMATION, ("Error copiando fichero
"
& FileName)
End If
On Error GoTo 0
FileName = Dir$
DoEvents
Wend
End Sub
Como detectar una unidad de CD-ROM?
Este ejemplo de programa demuestra como localizar una unidad de
CD_ROM
instalada en tu ordenador.
1. Crear un proyecto nuevo en Visual Basic, por defecto será
Form1
2. Añadir el siguiente codigo a formulario en General
Declarations.
Nota: escribirlo en una sola linea de texto)
Private Declare Function GetDriveType Lib "kernel32"
Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
3. Añadir un control Command Button al Form1
4. Añadir el siguiente codigo al evento Click de Command Button
Private Sub Command1_Click()
Text1.Text = FindCDROM
End Sub
5. Añadir un control Text Box al Form1.
En propiedades "Multiline" fijar "true"
6. Crear una función llamada FindCDROM y añadir el siguiente
codigo:
Function FindCDROM() As String
Dim Drive As Integer
Const DRIVE_CDROM = 5
FindCDROM = "No hay CD_ROM Instalado"
For Drive = 65 To 90
If GetDriveType(Chr(Drive) & ":\") = DRIVE_CDROM
Then
FindCDROM = "CD-ROM Drive " & Chr(Drive) &
":\"
Exit For
End If
Next Drive
End Function
Ejecutar el ejemplo pulsando F5. Escribir el nombre de el
directorio Fuente.
Como entrar en las propiedades de
Accesibilidad?
Ejemplo de programa
1. Crear un nuevo formulario, Form1 por defecto
2. Añadir un boton al formulario "Command Button
control"
3. Añadir el siguiente codigo a la propieded Clik del boton.
Private Sub Command1_Click()
X = Shell("Rundll32.exe shell32.dll,Control_RunDLL main.cpl
@2")
End Sub
Como entrar en las propiedades de pantalla
Ejemplo de programa
1. Crear un nuevo formulario, Form1 por defecto
2. Añadir un boton al formulario "Command Button
control"
3. Añadir el siguiente codigo a la propieded Clik del boton.
Private Sub Command1_Click()
X = Shell("rundll32.exe shell32.dll,Control_RunDLL
desk.cpl,,0")")
End Sub
Como leer un fichero de texto desde Visual
Basic
Ejemplo de Programa
1. Crear un nuevo proyecto en Visual basic, por defecto será
Form1
2. Añadir un control Text Box al formulario, fijar en
propiedades "Multiline"
en "TRUE" y en "ScrollBars" en 3-Both.
3 Añadir el siguiente codigo al formulario en
"Form_Load"
Form_Load()
crlf$ = Chr(13) & Chr(10)
Text1.Text = ""
open "C:\AUTOEXEC.BAT" for input as #1
while not eof(1)
line input #1, file_data$
Text1.Text = Text1.Text & file_data$ & crlf$
wend
close #1
End Sub
Como ejecutar desde una aplicacion Visual
Basic un programa en MS-DOS o Windows.
1. Crear un nuevo proyecto por defecto será Form1
2. Añadir al formulario un control Command Button, por defecto
será Command1
en propiedades caption escribir "Ejecutar Aplicacion.
3. Añadir el siguiente codigo al evento Click de Command1:
Private Sub Command1_Click()
Dim AppToLaunch As String
AppToLaunch = "c:\windows\notepad.exe" REM La aplicación
a ejecutar
Call ExecuteAndWait(AppToLaunch)
End Sub
4. Crear una subrutina llamada "ExecuteAndWait" y añadirle
el siguiente codigo:
Public Sub ExecuteAndWait(cmdline$)
Dim NameOfProc As PROCESS_INFORMATION
Dim NameStart As STARTUPINFO
Dim X As Long
NameStart.cb = Len(NameStart)
X = CreateProcessA(0&, cmdline$, 0&, 0&, 1&,
NORMAL_PRIORITY_CLASS,
0&, 0&, NameStart, NameOfProc)
X = WaitForSingleObject(NameOfProc.hProcess, INFINITE)
X = CloseHandle(NameOfProc.hProcess)
End Sub
5. Desde Visual basic seleccionar añadir Modulo, por defecto será
Module1.bas
6. Añadir el siguiente codigo al Module1.bas.
Nota: Las lineas de declaración se deben de escribir en una sola
linea de texto
Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type
Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessID As Long
dwThreadID As Long
End Type
Global Const NORMAL_PRIORITY_CLASS = &H20&
Global Const INFINITE = -1&
Declare Function CloseHandle Lib "kernel32" (hObject As
Long) As Boolean
Declare Function WaitForSingleObject Lib "kernel32"
(ByVal hHandle As Long,
ByVal dwMilliseconds As Long) As Long
Declare Function CreateProcessA Lib "kernel32" (ByVal
lpApplicationName As Long,
ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long,
ByVal
lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal
dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal
lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO,
lpProcessInformation As PROCESS_INFORMATION) As Long
Determinar si un fichero existe
1. Crear un nuevo proyecto en Visual Basic, por defecto será
Form1
2. Añadir el siguiente código a Global Module:
Type OFSTRUCT '136 bytes in length
cBytes As String * 1
fFixedDisk As String * 1
nErrCode As Integer
reserved As String * 4
szPathName As String * 128
End Type
3.En la sección Global Declaration de Form1, añadir el
siguiente codigo
Nota: se ha de escribir en una sola linea de texto):
Declare Function OpenFile% Lib "Kernel" (ByVal
lpFileName$, lpReOpenBuff As OFSTRUCT, ByVal wStyle%)
4.Continuar añadiendo estas lineas de codigo en Global
Declaration del Form1:
Dim wStyle As Integer
Dim Buffer As OFSTRUCT
Dim IsThere As Integer
Dim TestFile As String
5.Añadir el codigo siguiente a Form_Load() event procedure:
Sub Form_Load()
TestFile = "c:\testfile.dat"
IsThere = OpenFile(TestFile, Buffer, OF_EXIST)
If IsThere < 0 Then
GoTo CheckForError
Else
Debug.Print "Este fichero existe"
End If
CheckForError:
IsThere = Buffer.nErrCode
If IsThere = 3 Then
Debug.Print "No se encuentra"
End If
Como ver la capacidad de un disco y el
espacio libre
1. Crear un nuevo proyecto en Visual Basic, por defecto será
form1
2. Añadir un control Text Box, en propiedades Multiline fijar en
True
3. Añadir un control Command Button
4. Añadir el siguiente codigo al evento click del control
Command1
Private Sub Command2_Click()
Dim X As Long
X = GetDiskSpace("c:\")
If X Then
sFreeSpace = Format$(CurrentDisk.FreeBytes,
"###,###,##0")
sTotalSpace = Format$(CurrentDisk.TotalBytes,
"###,###,##0")
sFreePcnt = Format$(CurrentDisk.FreePcnt, "Percent")
sUsedPcnt = Format$(CurrentDisk.UsedPcnt, "Percent")
End If
Text1.Text = "Espacio libre: " & sFreeSpace &
" Porcentaje: " & sFreePcnt & Chr(13) &
Chr(10)
Text1.Text = Text1.Text & "Espacio Total: " &
sTotalSpace & " Porcentaje: " & sUsedPcnt
End Sub
5. Crear una función y llamarla GetDiskSpace.
Añadir el siguiente codigo:
Function GetDiskSpace(sRootPathName As String) As Long
Dim X As Long
Dim lSectorsPerCluster As Long, lBytesPerSector As Long
Dim lNumberOfFreeClusters As Long, lTotalNumberOfClusters As Long
X = GetDiskFreeSpace(sRootPathName, lSectorsPerCluster,
lBytesPerSector, lNumberOfFreeClusters, lTotalNumberOfClusters)
GetDiskSpace = X
If X Then
CurrentDisk.RootPath = sRootPathName
CurrentDisk.FreeBytes = lBytesPerSector * lSectorsPerCluster *
lNumberOfFreeClusters
CurrentDisk.TotalBytes = lBytesPerSector * lSectorsPerCluster *
lTotalNumberOfClusters
CurrentDisk.FreePcnt = (CurrentDisk.TotalBytes -
CurrentDisk.FreeBytes) / CurrentDisk.TotalBytes
CurrentDisk.UsedPcnt = CurrentDisk.FreeBytes /
CurrentDisk.TotalBytes
Else
CurrentDisk.RootPath = ""
CurrentDisk.FreeBytes = 0
CurrentDisk.TotalBytes = 0
CurrentDisk.FreePcnt = 0
CurrentDisk.UsedPcnt = 0
Exit Function
End If
End Function
6. Desde Visual Basic, seleccionar agregar modulo, por defecto
será module1.bas
7. Añadir el siguiente codigo
Declare Function GetDiskFreeSpace Lib "kernel32" Alias
"GetDiskFreeSpaceA" (ByVal lpRootPathName As String,
lpSectorsPerCluster As Long, lpBytesPerSector As Long,
lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long)
As Long
Type DISKSPACEINFO
RootPath As String * 3
FreeBytes As Long
TotalBytes As Long
FreePcnt As Single
UsedPcnt As Single
End Type
Global CurrentDisk As DISKSPACEINFO
Como hacer un scroll horizontal con una
linea de texto
1. Crear un nuevo proyecto en Visual Basic, por defecto Form1
2. 2. Añadir un control Picture Box 3. Añadir un control de
tiempo Timer1 por defecto, en propiedades Interval fijar a 250
4. Añadir el siguiente codigo a timer1
Private Sub Timer1_Timer()
ShowMessage
End Sub
5. Crear un función llamarla ShowMessage().
Añadir el siguiente codigo a la función:
Sub ShowMessage()
Static MsgPtr As Integer
Static MyText As String
If Len(MyText) = 0 Then
MsgPtr = 1
MyText = "Saludos desde Trucos y Atajos en Visual
Basic!"
End If
Picture1.Cls
Picture1.Print Mid$(MyText, MsgPtr); MyText;
MsgPtr = MsgPtr + 1
If MsgPtr > Len(MyText) Then
MsgPtr = 1
End If
End Sub
Como centrar un formulario en la pantalla?
1. Crear un nuevo proyecto en Visual Basic, por defecto Form1
2. Añadir el siguiente codigo al evento Form_load
Private Sub Form_Load()
Dim TopCorner As Integer
Dim LeftCorner As Integer
If Form1.WindowState <> 0 Then Exit Sub
TopCorner = (Screen.Height - Form1.Height) \ 2
LeftCorner = (Screen.Width - Form1.Width) \ 2
Form1.Move LeftCorner, TopCorner
End Sub
Como borrar directorios desde Visual Basic?
En este truco tomamos por ejemplo un directorio de nombre
c:\demos que será el que eliminaremos.
1. Crear un nuevo proyecto en Visual Basic, por defecto Form1
2. Añadir un control Command Button al formulario
3. Añadir el siguiente codigo al evento Click de Command1
Sub Command1_Click()
Dim TempDir As String
TempDir = "c:\demos" Rem directorio de ejemplo a borrar
Borrar TempDir
End Sub
4. Añadir una subrutina llamada Borrar y añadir el siguiente
codigo:
Sub Borrar (DirName As String)
Const ATTR_NORMAL = 0
Const ATTR_DIRECTORY = 16
Dim OriginalDir, FileName, NextFileName As String
OriginalDir = CurDir$
ChDir DirName
FileName = Dir$("*.*", ATTR_NORMAL)
Do While FileName <> ""
Kill FileName
FileName = Dir$
Loop
Do
FileName = Dir$("*.*", ATTR_DIRECTORY)
While FileName = "." Or FileName = ".."
FileName = Dir$
Wend
If FileName = "" Then Exit Do
Borrar (FileName)
Loop
ChDir OriginalDir
RmDir DirName
End Sub
Como saber donde está instalado Windows?
Ejemplo de programa
Este programa muestra como buscar desde una aplicacion Visual
Basic
donde se encuentra instalado Microsoft Windows
1. Crear un nuevo proyecto en VB por defecto será Form1
2. Añadir el siguiente codigo a Form1 en Declare statement de
General Declarations
Nota escribir en una sola linea de texto):
Private Declare Function Donde_esta_Windowsdirectory Lib
"kernel32" Alias "GetWindowsDirectoryA"
(ByVal lpBuffer As String, ByVal nSize As Long) As Long
3. Añadir un control Text Box al Form1
4. Añadir un control Command Button al Form1
Private Sub Command1_Click()
Dim DirName As String
DirName = Donde_esta_Windows()
Text1.Text = DirName
End Sub
6. Crear una función y llamarla Donde_esta_Windows añadirle el
siguiente codigo
Function Donde_esta_Windows() As String
Dim Temp As String
Dim Ret As Long
Const MAX_LENGTH = 145
Temp = String$(MAX_LENGTH, 0)
Ret = Donde_esta_Windowsdirectory(Temp, MAX_LENGTH)
Temp = Left$(Temp, Ret)
If Temp <> "" And Right$(Temp, 1) <>
"\" Then
Donde_esta_Windows = Temp & "\"
Else
Donde_esta_Windows = Temp
End If
End Function
Como saber si un formulario está cargado
en memoria
1. Crear un nuevo proyecto en Visual Basic, por defecto será
form1
2. Crear un segundo proyecto en Visual Basic, por defecto será
form2
3. Crear un tercer proyecto en Visual Basic, por defecto será
form3
4. Añadir el siguiente codigo a Form_load del form1:
Private Sub Form_Load()
Form2.Show
End Sub
5. Añadir un control Command Button al Form1, por defecto será
Command1
6. Añadir el siguiente codigo al evento click de Command1
Private Sub Command1_Click()
Dim X As Integer
X = IsFormLoaded(Form2)
If X Then
MsgBox "El Formulario 2 está cargado en memoria"
End If
X = IsFormLoaded(Form3)
If X = False Then
MsgBox "El Formulario 3 no está cargado en memoria"
End If
End Sub
7. Crear una nueva función y llamarla IsFormLoaded.
Añadir el siguiente codigo a la función:
Function IsFormLoaded(FormToCheck As Form) As Integer
Dim Y As Integer
For Y = 0 To Forms.Count - 1
If Forms(Y) Is FormToCheck Then
IsFormLoaded = True
Exit Function
End If
Next
IsFormLoaded = False
End Function
Como se puede conectar o desconectar el
teclado numerico
Ejemplo de Programa
Este programa demuestra como se puede conectar o desconectar el
teclado
numerico (NUM LOCK)
1. Crear un nuevo proyecto en visual basic
2. Añadir el siguiente codigo a General Declarations
del foumulario Form1
Private Declare Sub GetKeyboardStateByString Lib
"user32" Alias "GetKeyboardState" (ByVal
pbKeyState As String)
Private Declare Sub SetKeyboardStateByString Lib
"user32" Alias "SetKeyboardState" (ByVal
lppbKeyState As String)
Const VK_NUMLOCK = &H90
3. Añadir un control Command Button al Form1. Command1 será por
defectot.
en propiedades caption escribir "Conectar".
4. Añadir el siguiente codigo al evento Click de Command1:
Private Sub Command1_Click()
Dim NumLockKey As String * 256
NumLockKey = Space$(256)
GetKeyboardStateByString (NumLockKey)
Mid$(NumLockKey, VK_NUMLOCK + 1, 1) = Chr$(1)
Call SetKeyboardStateByString(NumLockKey)
End Sub
5. Añadir un segundo control Command Button al formulario por
defecto será Command2
en propiedades caption escribir "Desconectar".
6. Añadir el siguiente codigo al evento click de Command2:
Private Sub Command2_Click()
Dim NumLockKey As String * 256
NumLockKey = Space$(256)
GetKeyboardStateByString (NumLockKey)
Mid$(NumLockKey, VK_NUMLOCK + 1, 1) = Chr$(0)
Call SetKeyboardStateByString(NumLockKey)
End Sub
Como ejecutar un archivo de sonido .WAV
desde VB
1. Crear un nuevo proyecto en VB por defecto será Form1
2. Añadir el siguiente codigo a General Declarations de form1
Private Declare Function sndPlaySound Lib
"winmm.dll" Alias "sndPlaySoundA" (ByVal
lpszSoundName As String, ByVal uFlags As Long) As LongConst
SND_SYNC = &H0 Const SND_NODEFAULT = &H2
3. Añadir un control Command Button al Form1. Command1 por
defecto.
4. Añadir el siguiente codigo al evento Click de Command1:
Private Sub Command1_Click() Dim X As Long Rem indicar en
"c:\demo\fichero.wav" el fichero por defecto X =
sndPlaySound("c:\demo\fichero.wav", SND_SYNC Or
SND_NODEFAULT) End Sub
EVITAR LA CAMPANILLA AL DAR CON EL INTRO EN
LAS TEXT BOX
Muchas veces, nos encontramos con formularios llenos de TEXTBOX, y todos sabemos lo molesto que resulta ir con el ratoncillo dandole a cada una (TEXTBOX) después de rellenarla.Introducid este código en el procedimiento KeyPress de la TextBox:
If KeyAscii = 13 Then KeyAscii = 0: SendKeys "{tab}"El "KeyAscii = 0" es para que no suene el BEEP.
Simple ¿ no ?, cuidadon con lo del "{tab}" y antes
numerad bien el TABINDEX con las TEXTBOX que tengais en el FORM
para que resulte lo más rápido posible "navegar" por
las TEXTBOX.
METER UN WAV O UN MIDI EN UN PROGRAMA
Si queremos reproducir un archivo de tipo onda (WAV) lo mejor es
hacer una
llamada a la función de la API sndPlaySound.
Se declara de la siguiente forma:
Declare Function sndPlaySound Lib "winmm.dll" Alias
"sndPlaySoundA" (ByVal lpszSoundName As String, ByVal
uFlags As Long) As Long
Para hacer la llamada propiamente dicha incluye lo siguiente en
un botón, por ejemplo.
vr% = sndPlaySound(ByVal "fichero.wav", 1)
Si lo que se quiere es hacer sonar un archivo .MID se tiene que
declarar la
siguiente función de la API:
Declare Function mciExecute Lib "winmm.dll" (ByVal
lpstrCommand As String) As Long
y después hacer la llamada en un botón, por ejemplo:
vr% = mciExecute("Play archivo.mid")
Para detener un archvivo MID muy largo, se puede meter un botón
y escribir el mismo còdigo anterior pero en vez de
"Play", "Stop".
Todas las Declare son para usar con la versión del Visual de 32
bit.
Como cambiar de resolución desde una
aplicación VB
Se supone que tu pantalla está en estos momentos en una resolución
de 640x480 y desde este programa la cambiamos a 800x600.
1. crear un nuevo proyecto desde Visual basic, por defecto será
Form1
2. Añadir el siguiente codigo a General Declarations de Form1
Option Explicit
Private Declare Function EnumDisplaySettings Lib
"user32" Alias "EnumDisplaySettingsA" (ByVal
lpszDeviceName As Long,ByVal iModeNum As Long, lpDevMode As Any)
As Boolean
Private Declare Function ChangeDisplaySettings Lib
"user32" Alias "ChangeDisplaySettingsA"
(lpDevMode As Any, ByVal dwflags As Long) As Long
Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Dim DevM As DEVMODE
3. Añadir un control Command Button en Form1.
4. Añadir el siguiente codigo al evento Click de Command1:
Private Sub Command1_Click()
Dim a As Boolean
Dim i&
i = 0
Do
a = EnumDisplaySettings(0&, i&, DevM)
i = i + 1
Loop Until (a = False)
End Sub
5. Añadir un segundo control Command Button al Form1. Command2
será por
defecto
6. Añadir el siguiente codigo al evento Click de Command2:
Private Sub Command2_Click()
Dim b&
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = 800
DevM.dmPelsHeight = 600
b = ChangeDisplaySettings(DevM, 0)
End Sub
Como visualizar una lista de componentes
sobre un List Box
y despues mostrarlo sobre un label?.
1. Creamos un fichero de texto en la unidad c:\Fichero.txt
el contenido del fichero, por ejemplo será,una lista de verduras
Tomates
Lechugas
Zanahorias
Berengenas
Apio
Pimientos
Una vez tengamos el fichero creado c:\fichero.txt
2. Creamos un nuevo formulario por defecto será Form1
3. Añadimos un control List Box al formulario
4. Insertamos el siguiente codigo al control List Box
Private Sub List1_Click()
Label1.Caption = List1
End Sub
5. Agregamos al formulario un control label que por defecto
será Label1
6. Agregamos al formulario un control Command Button
que por defecto será Command1 en Caption escribe
"Visualizar Fichero"
y le insertamos el siguiente codigo al control.
Private Sub Command1_Click()
List1.Clear
Open "c:\fichero.txt" For Input As #1
Rem Recuerda que Fichero.txt será la lista de componentes
Do Until EOF(1)
Input #1, B$
List1.AddItem B$
Loop
Close #1
End Sub
Como saber la cantidad de Bytes que ocupa
un directorio?
Sub Form_Load()
Dim FileName As String
Dim FileSize As Currency
Dim Directory As String
Directory = "c:\windows\"
FileName = Dir$(Directory & "*.*")
FileSize = 0
Do While FileName <> ""
FileSize = FileSize + FileLen(Directory & FileName)
FileName = Dir$
Loop
Text1.Text = "Este directorio ocupa la cantidad de bytes =
" + Str$(FileSize)
End Sub
Como determinar cuantos colores permite una
pantalla
Ejemplo de programa
1. Crear un nuevo proyecto en Visual Basic, por defecto será
Form1
2. Añadir un control Text Box al formulario
3. Añadir las siguientes funciones a "General
Declarations"
Declare Function GetDeviceCaps Lib "GDI" (ByVal hDC As
Integer, ByVal nIndex As Integer) As Integer
Declare Function CreateDC Lib "GDI" (ByVal lpDriverName
As String, ByVal lpDeviceName As String, ByVal lpOutput As
String, ByVal lpInitData As Any) As Integer
Declare Function DeleteDC Lib "GDI" (ByVal hDC As
Integer) As Integer
Const BitsPixel = 12 Const Planes = 14
4. Añadir el siguiente codigo a Form_load del formulario
Sub Form_Load()
Dim NumColors As Long
Dim hDC As Integer
Dim X As Integer
Dim PL As Integer
Dim BP As Integer
hDC = CreateDC("DISPLAY", "", "",
"")
PL = GetDeviceCaps(hDC, Planes)
BP = GetDeviceCaps(hDC, BitsPixel)
NumColors = 2 ^ CLng(PL * BP)
X = DeleteDC(hDC)
Text1.Text = Str$(NumColors)
End Sub
Visualizar Caracteres en diferentes colores
Ejemplo de programa
El siguiente codigo de Visual Basic muestra el abecedario en
diferentes colores
1. Crear un nuevo proyecto en Visual Basic, por defecto será
Form1
2. Añadir el siguiente codigo al evento Paint de Form1
Sub Form_Paint()
Dim I As Integer, X As Integer, Y As Integer
Dim C As String
Cls
For I = 65 To 91
X = CurrentX
Y = CurrentY
C = Chr(I)
Line -(X + TextWidth(C), Y = TextHeight(C)), QBColor(Rnd * 16),
BF
CurrentX = X
CurrentY = Y
ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
Print C;
Next
End Sub
Como visualizar el Label
"Etiqueta" de un disco?
Ejemplo de programa:
1. Crear un nuevo proyecto en Visual Basic, por defecto será
Form1
2. Añadir el siguiente codigo a General Declarations del Form1:
Const ATTR_VOLUME = &H8
3. Añadir un control Text Box al Form1
4. Añadir un control Command Button al Form1
5. Añadir el siguiente codigo al evento Click de Command1
Private Sub Command1_Click()
Dim TempBuffer As String
TempBuffer = Dir$("C:*.*",ATTR_VOLUME) Rem Indicar la
unidad a leer
Text1.Text = TempBuffer
End Sub
Ejecutar el ejemplo pulsando F5.
Cuando pulses sobre el List Box veras que el Item seleccionado
aparece en el Label1
Bueno esto ha sido todo por ahora, por favor les pedimos que si poseen algun "truco" util para otros ususarios mandenlos a paladinsoft@hotmail.com , asi podremos mejorar esta pagina, tambien pueden mandar a esa direccion comentarios, sugerencias...etc.