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.

Volver a la Pagina Principal