Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rafagranada

Páginas: [1]
1
Buenas, ¿qué tal? Os escribo por que tengo un problema con escritura/lectura en VB

El problema es que leo un fichero (fecha anterior.txt) y cuando quiero escribir en el mismo fichero para actualizar la fecha me dice que esta abierto y que no puedo escribir

Os dejo el codigo a ver si me podéis ayudar.

Código: [Seleccionar]
Public Class Form1


    Dim fecha_ant As Date
    Dim fecha_sistema As Date
    Dim fecha_total As Long 'resultado de la resta de las fechas
    Dim fecha_total1 As Integer ' resultado de la resta de fechas para mostrar y comparar

    Dim fecha_nueva As New System.IO.StreamWriter("C:\1\fecha nueva.txt", True)
    Dim fecha_anterior1 As New System.IO.StreamWriter("C:\1\fecha anterior.txt", True)
    Dim fecha_anterior As New System.IO.StreamReader("C:\1\fecha anterior.txt", True)




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



        'ocultamos etiquetas y botones que no tengan que aparecer en la ventana principal
        Label5.Hide()
        Label8.Hide()
        Label6.Hide()
        Label9.Hide()
        Button1.Hide()

        ' MOSTRAMOS FECHA ACTUAL SISTEMA EN LABEL3
        Label3.Text = DateTime.Now.ToString("d MM yyyy")

        'pasamos la fecha del label3 a variable fecha_sistema para poder guardarla en el fichero de nueva fecha
        fecha_sistema = CDate(Label3.Text)

        'leemos la fecha anterior del fichero para saber cual es la ultima realizada
        fecha_ant = CDate(CStr(fecha_anterior.ReadLine()))
        fecha_anterior.Close()

        'escribimos la fecha de hoy en el fichero para poder calcular la diferencia
        fecha_nueva.WriteLine(fecha_sistema)
        fecha_nueva.Close()

        'convertimos las fechas en un string
        Label4.Text = CStr(fecha_ant)

        'hacemos la direfencia entre las dos fechas
        fecha_total = DateDiff(DateInterval.Day, fecha_ant, fecha_sistema)
        fecha_total1 = CInt(Val(fecha_total))

        'sacamos la diferencia de las fechas en el label 6
        Label6.Text = CStr(fecha_total)

        'comparamos si está dentro de rango y mostramos boton salir y cartel del tiempo restante
        If fecha_total1 >= 0 And fecha_total1 <= 6 Then
            Label5.Show()
            Label5.Text = ("Quedan " & fecha_total1 & "  dias para el mantenimiento")
            Button1.Show()
        End If

        'si la fecha del mantenimiento está pasada
        If fecha_total1 > 6 Then

            fecha_anterior1.WriteLine(fecha_sistema) [u][b]//////ESTA LINEA ES EL PROBLEMA/////[/b][/u]
            fecha_anterior.Close()
            Label5.Text = ("El mantenimiento está cumplido en:  " & fecha_total1)

        End If



    End Sub




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

    End Sub



End Class

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".