viernes, 19 de julio de 2013

Modificar Dato en x Linea de Archivo de configuración [Visual Basic 6]

Los datos de configuración de un archivo de sistema para las aplicaciones de índole privadas y configuración interna, suelen ser modificados con frecuencia en la labor de nuestros programas.

El problema es que no siempre se necesitan aplicar cambios en TODOS los elementos del archivo y solo precisamos cambiar 1 o unos pocos, por lo que presentamos una forma simple de recorrer TODO el archivo y modificar los datos que necesitemos:

     
Public Function SvVl_Log(unaRuta As String, rcR As Integer, Valor As Boolean)
    Dim unArray() As String
    ' abrimos el archivo para lectura y cargamos cada linea en la matriz
    Open unaRuta For Input As #1
           unArray = Split(Input(LOF(1), #1), vbNewLine)
    Close #1
    ' el primer elemento en matriz es el 0, no olvidar
    'ya tenemos TODOS los datos en el array
    unArray(6) = "Value_reg = " & Valor 'modificamos solo el valor de la linea 7
    ' volvemos a abrir el txt para escritura (sobreescribe al anterior)
    Open unaRuta For Output As #1
          For rcR = LBound(unArray) To UBound(unArray)
              Print #1, unArray(rcR)
         Next rcR
    Close #1
    End Function

Este código se puede implementar a cualquier versión de .NET fue testeado en 2008, 2010 y 2012 con pocas modificaciones se obtiene el mismo resultado.

Saludos.