Visual basic 6

Solo disponible en BuenasTareas
  • Páginas : 11 (2516 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de junio de 2010
Leer documento completo
Vista previa del texto
VISUAL BASIC 6

GUIA 4
Ing. Raymond Marquina

1

MEJORAS AL PROGRAMA PHONE Ahora mejorara al programa Pone añadiendo un botón Buscar y botón Eliminar. Buscar le permitirá buscar un nombre particular y Eliminar borrar registros. • Agregue un botón de comando al formulario y establezca las siguientes propiedades de la siguiente manera: Objeto Command Button Command Button Propiedad NameCaption Name Caption Valor CmdSearch Buscar CmdDelete Eliminar

Teclee el siguiente código: Private Sub CmdSearch_click ( ) Dim NameToSearch As String Dim Found As Integer Dim RecNum As Long Dim TmpPerson As PersonInfo ' Obtiene del usuario el nombre a buscar NameToSearch = InputBox("Buscar por:", "Búsqueda") 'Si el usuario no da un nombre, ' se sale del procedimiento If NameToSearch = " " Then 'Dael enfoque al txtName TxtName.SetFocus 'Sale del procedimiento Exit Sub End If 'convierte el nombre a buscar en mayúsculas NameToSearch = UCase(NameToSearch) 'Incializa el indicador Found a False Found = False 'Busca el nombre que introdujo el usuario For RecNum = 1 To gLastRecord Get #gFileNum, RecNum, TmpPerson If NameToSearch = UCase(Trim(TmpPerson.Name)) Then Found = True Exit For
Ing.Raymond Marquina

2

End If Next ' Si encuentra el nombre despliega el registro ' del nombre encontrado If Found = True Then SaveCurrentRecord gCurrentRecord = RecNum ShowCurrentRecord Else MsgBox "Name " & NameToSearch & "No Encontrado!" End If 'Da el enfoque al campo txtName TxtName.SetFocus End Sub • Teclee el siguiente código en el procedimiento CmdDelete_Click:

Private Sub cmdDelete_Click( ) Dim TmpFileNum As Integer Dim TmpPerson As PersonInfo Dim RecNum As Long Dim TmpRecNum As Long 'Antes de borrar pide una confirmación del usuario. If MsgBox("Eliminar este Registro?", vbYesNo) = vbNo Then 'Da el enfoque al campo txtName TxtName.SetFocus 'Sale del procedimiento sin borrar Exit Sub End If 'Para borrar fisicamente el registro actual del PHONE.DAT 'Todos los registros de este, aexcepcion del registro actual son copiados 'a un archivo temporal (PHONE.TMP) y luego este archivo es renombrado a PHONE.DAT 'Se asegura de que PHONE.TMP no exista If Dir("PHONE.TMP") = "PHONE.TMP" Then Kill "PHONE.TMP"
Ing. Raymond Marquina

3

End If 'Crea PHONE.TMP con el mismo formato que PHONE.DAT TmpFileNum = FreeFile Open "PHONE.TMP" For Random As TmpFileNum Len = gRecordLen 'Copiatodos los registros de PHONE.DAT a PHONE.TMP, a excepcion del registro actual RecNum = 1 TmpRecNum = 1 Do While RecNum < gLastRecord + 1 If RecNum gCurrentRecord Then Get #gFileNum, RecNum, TmpPerson Put #TmpFileNum, TmpRecNum, TmpPerson End If RecNum = RecNum + 1 Loop 'Borra PHONE.DAT Close gFileNum Kill "PHONE.DAT" 'Renombra a PHONE.TMP como PHONE.DAT Close TmpFileNum Name "PHONE.TMP" As"PHONE.DAT" ' Vuelve a abrir PHONE.DAT gFileNum = FreeFile Open "PHONE.DAT" For Random As gFileNum Len = gRecordLen 'Actualiza el valor del ultimo registro gLastRecord = gLastRecord - 1 'Se asegura que gLastRecord no sea cero If gLastRecord = 0 Then gLastRecord = 1 'Se asegura que gCurrentRecord no este fuera de rango If gCurrentRecord > gLastRecord Then gCurrentRecord = gLastRecord End If 'Muestra elregistro actual ShowCurrentRecord
Ing. Raymond Marquina

4

'Da el enfoque al campo txtName TxtName.SetFocus End Sub

ARCHIVOS DE ACCESO SECUENCIAL Los archivos aleatorios son accesados registro por registro, y los secuenciales son accesados línea por línea. Esto es, cuando se escriben datos en un archivo secuencial, se escriben líneas de texto en el archivo. Cuando se leen datos de un archivosecuencial, se leen líneas de texto. El hecho de que los archivos secuenciales sean accesados línea por línea los hace ideales para usarlos en aplicaciones que manejan archivos de texto. Se puede abrir un archivo secuencial en alguna de tres formas: para salida, para adición o para entrada. Apertura de un Archivo Secuencial para Salida Para crear un archivo secuencial necesita abrir un archivo...
tracking img