Microsoft Scripting Runtime en VB.NET 2003 (PARTE III)
Insertar y Buscar registros en un archivo de texto (.txt)

Fecha: 11/Dic/2004 (Diciembre 11 de 2004)
Autor: Luis Fernando Chavarriaga Cano ([email protected])

 


Utilizaremos de nuevo la referencia COM de MSR (Microsoft Scripting Runtime)

[Formulario de trabajo]

Conceptos Clave

M�todo OpenTextFile: Recibe dos par�metros, el primero es un String con el nombre y ubicaci�n del archivo en el cual deseamos guardar lo que digitamos; el segundo par�metro recibe el modo en el cual se abrir� el archivo, para este caso tenemos tres posibilidades

IOMode.ForAppending: Se utiliza para anexar texto al archivo sin que el contenido que ya est� en �l se borre

IOMode.ForReading: Se utiliza para abrir el archivo de modo que solo sea para lectura

IOMode.ForWriting: Se utiliza para escribir sobre el archivo borrando el contenido que tenga cada vez que se vaya a escribir en �l

C�digo Fuente

Imports Scripting
Public Class MainForm
    Inherits System.Windows.Forms.Form
    Private fso As New FileSystemObject
    Private tst As TextStream
    Private file As String = "c:\registros.txt"
    'procedimiento para insertar registros
    Friend Sub Insertar()
        Dim nombre, dni As String
        nombre = tinombre.Text.ToUpper
        dni = tidni.Text.ToUpper
        If fso.FileExists(file) Then
            tst = fso.OpenTextFile(file, IOMode.ForAppending)
        Else
            MsgBox("El archivo no existe")
            tst = fso.CreateTextFile(file)
        End If
        tst.WriteLine(nombre & "||" & dni)
        tst.Close()
    End Sub
    Private Sub bguardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bguardar.Click
        Insertar()
    End Sub
    'procedimiento para buscar registros
    Friend Sub Buscar()
        Dim dni, reg As String
        Dim vec() As String 'declaramos un vector de string
        dni = tbdni.Text.ToUpper 'capturamos el dni a buscar
        If fso.FileExists(file) Then
            tst = fso.OpenTextFile(file, IOMode.ForReading)
        Else
            MsgBox("El archivo no existe")
        End If
        While Not tst.AtEndOfLine 'leemos el archivo mientras no sea final del archivo
            reg = tst.ReadLine
            vec = Split(reg, "||") 'almacenamos el registro en un vector, en donde cada campo estar� en una posici�n_
            'esto lo hacemos con el m�todo split.
            'en la posici�n vec(0) est� el nombre, y en vec(1) el dni
            If vec(1) = dni Then
                MsgBox(vec(0) & " " & vec(1) & " registro encontrado")
            End If
            tst.Skip(0) ' avanzamos a la siguiente l�nea en la posici�n 0
        End While
        tst.Close()
    End Sub
    Private Sub bbshow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bbshow.Click
        Buscar()
    End Sub
End Class

Cualquier inquietud pueden enviarla al correo.

Hasta luego.

Observaci�n: Si tiene problemas al importar la referencia indicada, dir�jase a la parte I de este art�culo aqu�:

Colabora .NET- Microsoft Scripting Runtime en VB NET 2003


ir al índice

Fichero con el c�digo de ejemplo: luisf_msr3_guardarbuscarentxt.zip - 9 KB