none
¿como puedo crear un archivo de texto con fecha y hora actual? RRS feed

  • Pregunta

  • Hola a todos, soy nuevo en el foro y en visual basic. Estoy haciendo un programa que compara 2 archivos de texto predeterminados (ale y ale2), los compara linea por linea y detecta las "coordenadas" del o los caracteres diferentes entre estos archivos (no detecta cual es el caracter que difiere, solo sus coordenadas). una vez ya ha comparado muestra el resultado en una pantalla que ha sido designada para esta función, y también se graba esta información en un archivo de texto llamado escrito2.

    En la pantalla se muestra la fecha en formato "dd/mm/yyyy" y también la hora en formato "hh:mm:ss" en una sola linea, en las lineas siguientes se muestra la ubicación de del caracter diferente, con el sig. formato "linea distinta Nº x Caracter X". 

    Si se necesita comparar nuevamente, en la pantalla se ve una actualización de la fecha y la hora y también indica las lineas que aún son diferentes y elimina las lineas que ya fueron corregidas.   

    En el archivo de texto se muestra tan solo las "coordenadas" del caracter, y si necesito comparar nuevamente , se agregan los resultados a continuación de las lineas generadas anteriormente.

    Lo que necesito es que al momento de comparar se genere un archivo de texto nuevo cada vez que se compare, con la fecha y la hora a la cual se hizo la comparación 

    y también necesito que el programa me diga cual es el caracter diferente, no las "coordenadas" y las copie en un archivo de texto.

    Muchas gracias de antemano, estaré muy agradecido por cualquier ayuda que se me pueda otorgar.

    .......................................programa............................ 

    Imports System
    Imports System.IO
    Imports System.Collections



    Public Class Form1



        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            Comparar()

        End Sub


        'La siguiente funcion compara fila a fila 2 archivos de texto.
        Private Sub Comparar()
            TextBox1.Text = DateTime.Now().ToString("dd/MM/yyyy hh:mm:ss tt") + vbCrLf 'incluye la fecha (dd/mm/aa, hh:mm:ss) en el text.box

            Dim direccion1 As String = "E:\Documents and Settings\bhenriquez\Escritorio\Juan.RetamalM\PRUEBAS 1\PRUEBA 1\ale.txt"  ' direccion archivo texto
            Dim direccion2 As String = "E:\Documents and Settings\bhenriquez\Escritorio\Juan.RetamalM\PRUEBAS 1\PRUEBA 1\ale2.txt"  ' direccion archivo texto

            Dim objReader1 As New StreamReader(direccion1)
            Dim objReader2 As New StreamReader(direccion2)

            Dim LineaDiag As String = ""
            Dim LineaPatr As String = ""

            Dim contador As Integer = 0

            '-------------------------------------------------
            Do
                contador = contador + 1
                LineaDiag = objReader1.ReadLine()
                LineaPatr = objReader2.ReadLine()


                If LineaPatr Is Nothing Then
                    Exit Do                     'Si sLine1  es EOF, sale. La sentencia Do sin esta linea (exit) me compara los string 1 vez adicional al EOF.
                End If


                'Comparacion entre lineas de archivo de texto

                If (LineaDiag <> LineaPatr) Then


                    TextBox1.Text += "Linea distinta n°" + Convert.ToString(contador) + " Caracter "

                    descrimina(LineaDiag, LineaPatr, contador)

                    TextBox1.Text += vbCrLf


                End If


            Loop


            objReader1.Close()
            objReader2.Close()

            '-------------------------------------------------



        End Sub

        Private Sub descrimina(ByVal linea1 As String, ByVal linea2 As String, ByVal contador As Integer)
            
            Dim direccion3 As String = "E:\Documents and Settings\bhenriquez\Escritorio\Juan.RetamalM\PRUEBAS 1\PRUEBA 1\escrito2.txt"  ' direccion archivo texto")
            Dim objWriter3 As New StreamWriter(direccion3, True) 'indica caracteres distintos entre las lineas desiguales
            Dim i As Integer

            For i = 0 To Len(linea2) - 1


                If (linea1(i) <> linea2(i)) Then

                    objWriter3.WriteLine(" Linea distinta n°" + Convert.ToString(contador) + " caracter " + Convert.ToString(i + 1))
                    TextBox1.Text += " " + Convert.ToString(i + 1) + "   "


                End If
            Next

            objWriter3.Close()



        End Sub





        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        End Sub

        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

           



        End Sub
    End Class




    • Editado JuanBRM martes, 4 de febrero de 2014 14:21
    martes, 4 de febrero de 2014 12:52