Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB.net]Problema con FileReader

    Ciao a tutti,
    Sarano 2 orette che sto sopra questo problema ma purtroppo non sono riuscito a trovare una soluzione accettabile.

    Allora io voglio creare un FileReader che si collega ad un documento contentente percorsi del pc.
    Voglio che ogni percorso viene utilizzato a distanza di 5 secondi l'uno. Ho quindi utilizzato un timer. Non posso creare il FileReader nel metodo del timer perchè dopo lo inizializzerebbe ogni 5 secondi e succederebbe un casino di stream.
    Non posso crearlo tra le variabili globali perchè il file che devo fargli leggere viene creato nel metodo Form_Load quindi quel percorso è ancora inesistente e quindi da problemi.
    Mi era venuto in mente di creare il FileReader in globale e dargli più in là il percorso del file ma non so se si possa fare oppure creare il FileReader in globale ma dopo il load.....aiutatemi!!

    grazie

  2. #2
    Potresti postare il codice? Non ho capito questo: "Voglio che ogni percorso viene utilizzato a distanza di 5 secondi l'uno "

    Grazie

  3. #3
    Scusami tanto del ritardo....ma ieri non sono stato molto al pc
    ecco il codice:

    codice:
    Private Sub Intervallo2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Intervallo2.Tick
            Try
                percorso = Reader.ReadLine
                FotoPredefinite.BackgroundImage = Image.FromFile(percorso)
                FotoPredefinite.Refresh()
            Catch
                FotoPredefinite.BackgroundImage = My.Resources.logo
            End Try
        End Sub
    Il timer ha un intervallo di 5 secondi e ogni 5 secondi prende un percorso scritto nel reader.
    Inendevo questo anche se non è la cosa fondamentale.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Dipende anche se vuoi che i percorsi vengano letti in modo Random o sequenzialmente. In tutti e due i casi mi sembra sufficiente, invece che utilizzare uno StreamReader, inserire in una matrice i percorsi letti e richiamarli o sequenzialmente o random...tipo:

    codice:
    Public Class Form1
        Dim lista() As String
        Dim rnd As System.Random
    
        Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
            lista = System.IO.File.ReadAllLines("C:\lista.txt")
            rnd = New System.Random(CInt(System.Environment.TickCount And Integer.MaxValue))
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            PictureBox1.Image = Image.FromFile(lista(rnd.Next(0, lista.GetUpperBound(0))))
        End Sub
    End Class
    Sbagliare è umano, perseverare è diabolico.

  5. #5
    Pirelli72 grazie mille dell'aiuto.
    Ora riesco finalmente a farlo partire

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.