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 (inherits002@yahoo.es)

 


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