12
EXPLICACIÓN MANEJO DE ARCHIVO DE TEXTO Contenido Contenido: Este apunte es para aquellas personas que tienen conocimientos mínimos de Visual Basic 6 y quieren acceder a archivos de texto con varios fines. Ya sea crear sus propios registros o editar o visualizar archivos de texto u otro tipo. A continuación se explica como se utilizan el acceso a archivos y además se da un ejemplo de una agenda personal. Este apunte esta dedicado a mis mejores amigos: los cuales siempre me han apoyado en mis comienzos informaticos y electrónicos: Muchas gracias Técnico Electrónico or Robótica Fernando Blaha Técnico Electrónico or Robótica Leonardo Blaha Técnico Electrónico or Robótica Santiago Montero Técnico Electrónico or Robótica Emilio Biggeri Y a mis profesores por su enseñanza y orientación espero haber aprendido algo de la pedagogía que ustedes emplearon. Prof. Martín A. Pacheco Prof. Ingeniero Gustavo Alberto Vázquez Prof. Ingeniero Jorge Cubo. Prof. Ingeniero Graciela Azzaroni. Autor : Técnico Electrónico or Robótica Klaus Daniel Karner

Control de Archivos con VB6

Embed Size (px)

DESCRIPTION

Explicacion de Control de Archivos de Texto con Visual Basic 6

Citation preview

Page 1: Control de Archivos con VB6

EXPLICACIÓN MANEJO DE ARCHIVO DE TEXTO

Contenido Contenido: Este apunte es para aquellas personas que tienen conocimientos mínimos de Visual Basic 6 y quieren acceder a archivos de texto con varios fines. Ya sea crear sus propios registros o editar o visualizar archivos de texto u otro tipo. A continuación se explica como se utilizan el acceso a archivos y además se da un ejemplo de una agenda personal. Este apunte esta dedicado a mis mejores amigos: los cuales siempre me han apoyado en mis comienzos informaticos y electrónicos: Muchas gracias Técnico Electrónico or Robótica Fernando Blaha Técnico Electrónico or Robótica Leonardo Blaha Técnico Electrónico or Robótica Santiago Montero Técnico Electrónico or Robótica Emilio Biggeri Y a mis profesores por su enseñanza y orientación espero haber aprendido algo de la pedagogía que ustedes emplearon. Prof. Martín A. Pacheco Prof. Ingeniero Gustavo Alberto Vázquez Prof. Ingeniero Jorge Cubo. Prof. Ingeniero Graciela Azzaroni. Autor : Técnico Electrónico or Robótica Klaus Daniel Karner

Page 2: Control de Archivos con VB6

Manejo de Archivos Para poder manejar archivos propios entendiéndose como propios a archivos lo cuales no son base de datos Estándar como archivos de dbase o MS ACCSES (DBF o MDB) Visual Basic tenemos 2 opciones

• Manejo en Forma Secuencial Leo o escribo en el archivo carácter por carácter o (Renglón por renglón) de archivo sin poder insertar caracteres o desplazarme sin dejar de leer un carácter

BOTON ABRIR ARCHIVO

Private Sub Abrir() Aquí comienza la subrutina abrir hasta el primer End Sub Separador = Chr$(13) and Chr$(10) digo que separador es igual a ENTER y Comenzar a la izquierda Open Archiv For Input As #Canal Abro Archiv para leer en forma secuencial por Canal Do Repito la operación que esta desde el siguiente Renglón hasta el loop until de acuerdo a la condición del UNTIL Input #Canal, TextoDato Leo del archivo un renglón , si vuelo a pasar por esta línea leo el renglón siguiente Text1.text = text1.text +Separador + TextoDato Envio la información al text1.text sin borrar la información del renglón anterior Loop Until EOF(Canal) = True Repito hasta llegar al final del archivo Close #Canal Cierro el archivo End Sub Termino la sub Rutina Abrir

BOTON GUARDAR ARCHIVO

Private Sub Guardar() Aquí comienza la subrutina abrir hasta el primer End Sub Open Archiv For Output As #Canal Abro el Archivo para grabar por medio de Canal Write #Canal, Text1.text Guardo los datos del Text1.Text separador por renglón Close #Canal Cierro el archivo End Sub Termino la sub Rutina Abrir

BOTON LIMPIAR Private Sub Limpiar() Aquí comienza la subrutina abrir hasta el primer End Sub Texto.Text = "" Limpio los datos del Text1.Text

Page 3: Control de Archivos con VB6

End Sub Termino la sub Rutina Abrir BOTON SALIR Private Sub Salir() Aquí comienza la subrutina abrir hasta el primer End Sub End Termino el programa End Sub Termino la sub Rutina Abrir

DATOS DEL FORMULARIO Private Sub Form_Load () Aquí comienza la subrutina abrir hasta el primer End Sub Canal = FreeFile Indico que canal será un enlace a archivo

Archiv = “C:’\agenda.txt” Indico donde y como se va a llamar el archivo que

contendra los datos de nuestra base de datos End Sub Termino la sub Rutina Abrir Ej De Una Interfase

Abrir , Guardar , Limpiar , Salir son botones con la propiedad Name = su caption

Page 4: Control de Archivos con VB6

• Manejo en forma Aleatoria Leo o escribo en el archivo sin la necesidad de leer o escribir carácter por carácter pudiendo saltear x cantidad de caracteres. Definiciones GENERALES Dim reg As Integer Defino la Variable reg como un Numero la cual nos Nos informa el valor del registro en el cual nos vamos a encontrar Dim Archiv As String En la variable Archiv guardaremos el nombre del Archivo que contendrá los datos de nuestra base de datos Private Type re Esto instrucción permite crear una base de datos a nuestra medida aquí podremos los campos de nuestra base y limitaremos la cantidad de caracteres nombre As String * 10 Campo nombre de texto y guardara 10 caracteres apellido As String * 10 Campo apellido de texto y guardara 10 caracteres direccion As String * 20 Campo dirección de texto y guardara 20 caracteres telefono As String * 10 Campo nombre de texto y guardara 10 caracteres no se utiliza Integer ya que si no se llenara el campo tomaría como valor 0 y tampoco se podría utilizar el – para separar el numero cp As String * 4 Campo Código Postal de texto y guarda 4 caracteres localidad As String * 10 Campo localidad de texto y guardara 10 caracteres borrado As Bolean Campo borrado nos dice si este registro se muestra o no End Type Aquí termino de definir la base de datos Dim BaseDeDatos As re Defino al Objeto BaseDeDatos con la estructura de nuestra base de datos anteriormente definida Dim canal Como una variable del tipo VARIANT DATOS DEL FORMULARIO Private Sub Form_Load() De aquí hasta donde el primer end sub defino todos los datos que se ejecutran cuando inicio el programa reg = 1 Defino un Numero de Registro

Page 5: Control de Archivos con VB6

Archiv = "c:\agenda.txt" Indico donde y como se va a llamar el archivo que contendra los datos de nuestra base de datos canal = FreeFile Indico que canal será un enlace a archivo Open Archiv For Random As canal Len = Len(BaseDeDatos) Abro un archivo (agenda.txt) en forma aleatoria por medio de canalN de longitud del tamaño de nuestra base de datos End sub FIN DE LA RUTINA DE INICIALIZACION

BOTON GRABAR Private Sub GRABAR_Click() Esta linea de comando nos indica que a partir de aquí hasta el primer end Sub se encontrara la información acerca del boton grabar BaseDeDatos.apellido = Text1.Text Transfiero el contenido de TEXT1.TEXT a nuestra base de datos en el campo apellido BaseDeDatos.direccion = Text2.Text Transfiero el contenido de TEXT1.TEXT a nuestra base de datos en el campo apellido BaseDeDatos.telefono = Text3.Text Transfiero el contenido de TEXT1.TEXT a nuestra base de datos en el campo apellido BaseDeDatos.nombre = Text4.Text Transfiero el contenido de TEXT1.TEXT a nuestra base de datos en el campo apellido BaseDeDatos.cp = Text5.Text Transfiero el contenido de TEXT1.TEXT a nuestra base de datos en el campo apellido BaseDeDatos.localidad = Text6.Text Transfiero el contenido de TEXT1.TEXT a nuestra base de datos en el campo apellido BaseDeDatos.borrado = False Fijo en la Base de Datos el campo borrado con El valor FALSO Put canal, Val(reg), BaseDeDatos GUARDO en el ARCHIVO en EL REGISTRO reg nuestros datos End Sub Termina la subrutina Grabar

Page 6: Control de Archivos con VB6

BOTON ABRIR Private Sub Abrir() Esta linea de comando nos indica que a partir de aquí hasta el primer end Sub se encontrara la información acerca del boton Abrir Get canal, Val(reg), BaseDeDatos Traigo los datos de la base de datos del Registro Reg Text1.Text = BaseDeDatos.apellido Busco los datos del campo apellido de nuestra Base de datos y lo transfiero al objeto Text1.text Text2.Text = BaseDeDatos.dirección Busco los datos del campo direccion de nuestra Base de datos y lo transfiero al objeto Text2.text Text3.Text = BaseDeDatos.telefono Busco los datos del campo telefono de nuestra base de datos y lo transfiero al objeto Text3.text Text4.Text = BaseDeDatos.nombre Busco los datos del campo nombre de nuestra base de datos y lo transfiero al objeto Text4.text Text5.Text = BaseDeDatos.cp Busco los datos del campo cp de nuestra base de datos y lo transfiero al objeto Text5.text Text6.Text = BaseDeDatos.localidad Busco los datos del campo localidad de nuestra Base de datos y lo transfiero al objeto Text6.text End Sub Termina la subrutina Grabar BOTON LIMPIAR

Private Sub Limpiar Text1.Text = “” Limpia los datos del objeto Text1.text Text2.Text = “” Limpia los datos del objeto Text2.text Text3.Text = “” Limpia los datos del objeto Text3.text Text4.Text = “” Limpia los datos del objeto Text4.text Text5.Text = “” Limpia los datos del objeto Text5.text Text6.Text = “” Limpia los datos del objeto Text6.text End Sub

BOTON SALIR

Private Sub Salir Close Canal Cierro el Archivo End Sub

Page 7: Control de Archivos con VB6

Ej Grafico de la Interfase

Grabar , Abrir , Limpiar , Salir Botones con la propiedad Name = Su caption Apellido , Telefono , Cp , Dirección Nombre , Localiad = Labels identificatorios y a su costado un text.

Ejemplo de una agenda en fomrma aleatoria

Page 8: Control de Archivos con VB6

Dim reg As Integer Dim Archiv As String Private Type re nombre As String * 10 apellido As String * 10 direccion As String * 20 telefono As String * 10 cp As String * 4 localidad As String * 10 borrado As Boolean End Type Dim BaseDeDatos As re Dim canal Private Sub ACEPTAR_Click() BaseDeDatos.apellido = Text1.Text BaseDeDatos.direccion = Text2.Text BaseDeDatos.telefono = Text3.Text BaseDeDatos.nombre = Text4.Text BaseDeDatos.cp = Text5.Text BaseDeDatos.localidad = Text6.Text BaseDeDatos.borrado = False Put canal, Val(reg), BaseDeDatos Deshabilitar_Text Habilitar End Sub Private Sub AGREGAR_Click() Habilitar_Text reg = Val(LOF(canal) / Len(BaseDeDatos)) reg = reg + 1 Borrar_text Deshabilitar End Sub Private Sub ANTERIOR_Click() reg = reg - 1 If reg < 1 Then reg = Val(LOF(canal) / Len(BaseDeDatos)) End If consultar DoEvents Do If BaseDeDatos.borrado = True Then ANTERIOR_Click End If

Page 9: Control de Archivos con VB6

Loop Until BaseDeDatos.borrado = False End Sub Private Sub AnteriorMenu_Click() ANTERIOR_Click End Sub Private Sub BORRAR_Click() BaseDeDatos.borrado = True Put canal, Val(reg), BaseDeDatos BaseDeDatos.borrado = False ANTERIOR_Click SIGUIENTE_Click End Sub Private Sub CANCELAR_Click() ANTERIOR_Click SIGUIENTE_Click Deshabilitar_Text Habilitar End Sub Private Sub Form_Load() reg = 1 Archiv = "c:\mati.txt" canal = FreeFile Open Archiv For Random As canal Len = Len(BaseDeDatos) PRIMERO_Click End Sub Private Sub Form_Terminate() Close #1 End Sub Private Sub MODIFICAR_Click() Habilitar_Text Deshabilitar End Sub Private Sub PRIMERO_Click() reg = 1 Do Get canal, Val(reg), BaseDeDatos If BaseDeDatos.borrado = True Then If reg = Val(LOF(canal) / Len(BaseDeDatos)) Then reg = 1 End If

Page 10: Control de Archivos con VB6

reg = reg + 1 End If Loop Until BaseDeDatos.borrado = False consultar End Sub Private Sub Salir_Click() End End Sub Private Sub SIGUIENTE_Click() If reg = Val(LOF(canal) / Len(BaseDeDatos)) Then reg = 0 End If reg = reg + 1 consultar DoEvents Do If BaseDeDatos.borrado = True Then SIGUIENTE_Click End If Loop Until BaseDeDatos.borrado = False End Sub Private Sub SiguienteMenu_Click() SIGUIENTE_Click End Sub Private Sub ULTIMO_Click() reg = Val(LOF(canal) / Len(BaseDeDatos)) Do Get canal, Val(reg), BaseDeDatos If BaseDeDatos.borrado = True Then If reg = 1 Then reg = Val(LOF(canal) / Len(BaseDeDatos)) End If reg = reg - 1 End If Loop Until BaseDeDatos.borrado = False consultar End Sub

Page 11: Control de Archivos con VB6

Public Sub Habilitar() PRIMERO.Enabled = True ULTIMO.Enabled = True ANTERIOR.Enabled = True SIGUIENTE.Enabled = True BORRAR.Enabled = True MODIFICAR.Enabled = True BUSCAR.Enabled = True AGREGAR.Enabled = True ACEPTAR.Enabled = False CANCELAR.Enabled = False End Sub Public Sub Deshabilitar() PRIMERO.Enabled = False ULTIMO.Enabled = False ANTERIOR.Enabled = False SIGUIENTE.Enabled = False BORRAR.Enabled = False MODIFICAR.Enabled = False BUSCAR.Enabled = False AGREGAR.Enabled = False ACEPTAR.Enabled = True CANCELAR.Enabled = True End Sub Public Sub Habilitar_Text() Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True End Sub Public Sub Deshabilitar_Text() Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text5.Enabled = False Text6.Enabled = False End Sub Public Sub consultar()

Page 12: Control de Archivos con VB6

Get canal, Val(reg), BaseDeDatos Text1.Text = BaseDeDatos.apellido Text2.Text = BaseDeDatos.direccion Text3.Text = BaseDeDatos.telefono Text4.Text = BaseDeDatos.nombre Text5.Text = BaseDeDatos.cp Text6.Text = BaseDeDatos.localidad End Sub Public Sub Borrar_text() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" End Sub