Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - StreamWriter non funziona
Forum - C# / VB.NET - StreamWriter non funziona

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 21:16
Martedì, 24/02/2009
Questo topic è stato chiuso dal moderatore

Codice sorgente - presumibilmente VB.NET

  1. Imports System
  2. Imports System.IO
  3.  
  4. Public Class Form1
  5.     Private Sub scrivi(ByVal line As String)
  6.     Dim filemancante As System.IO.StreamWriter
  7.     If My.Computer.FileSystem.FileExists("File_mancante.txt") Then
  8.        filemancante = My.Computer.FileSystem.OpenTextFileWriter(Application.StartupPath & "\File_mancante.txt", True)
  9.          filemancante.WriteLine(line)
  10.          filemancante.Close()
  11.       Else
  12.  
  13.        End If
  14.      End Sub
  15.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  16.         Try
  17.            
  18.             Using sr As StreamReader = New StreamReader(Application.StartupPath & "\lista.txt")
  19.                 Dim line As String
  20.                 ' Read and display the lines from the file until the end
  21.                 ' of the file is reached.
  22.                 'System.IO.File.Create(Application.StartupPath & "\Foto_mancanti.txt")
  23.  
  24.                 Do
  25.                     line = sr.ReadLine()
  26.                     If line = "" Then
  27.                         Exit Do
  28.                     End If
  29.                     'MsgBox("File: " & line & ".jpg")
  30.                     If My.Computer.FileSystem.FileExists(line & ".jpg") Then
  31.                         My.Computer.FileSystem.CopyFile(line & ".jpg", Application.StartupPath & "\ file_da_lista \" & line & ".jpg")
  32.                     Else
  33.                         MsgBox("Manca la foto del seguente articolo: " & line & ".jpg")
  34.                         'scrivi(line)
  35.                     End If
  36.                 Loop Until line Is Nothing
  37.                 MsgBox("Fine Spostamento")
  38.             End Using
  39.         Catch Ex As Exception
  40.             Let the user know what went wrong.
  41.             MsgBox("Atenzione il file non può essere letto!!")
  42.             MsgBox(Ex.Message)
  43.         End Try
  44.     End Sub



Praticamente il programma sposta delle immagini da un cartella ad un'altra in base a dei nomi contenuti in un file txt. Fino a qui funziona tutto, quando non trova una foto da spostare comapre un meaggio col nome del file, a quel punto dovrebbe scriverlo in un file txt ma ciò non avviene...Pero' il file Foto_mancanti.txt è solo vuoto... Portate pazienza pe come ho postato il codice, la prima parte lìho esclusa perchè mi serviva urgentemente... :heehee:

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:19
Mercoledì, 25/02/2009
Forse perchè la chiamata a scrivi() è commentata?

PM
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 23:40
Mercoledì, 25/02/2009
si li è commenttat perchè il programma mi serviva in fretta allora ho dovuto commentarla per poterlo compilare... Non può essere che non funzioni perchè è una funzione?

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:12
Giovedì, 26/02/2009
Deve funzionare,  poi è una procedura. Gli unici casi in cui non potrebbe andare a buon fine si verificherebbero quando la prima linea del file è vuota, e il ciclo termina subito, oppure quando File_mancante.txt non esiste. Negli altri casi, se il file non esiste, per forza deve scriverlo sul rapporto.

PM
Avatar
Jeremy (Normal User)
Pro


Messaggi: 134
Iscritto: 08/02/2009

Segnala al moderatore
Postato alle 21:14
Giovedì, 26/02/2009
Ciao sps.
Ma il problema quale è? Se scommenti la riga Scrivi(line), non riesci a compilare il progetto? O non fa esattamente quello che ti aspetti che faccia?

Nel secondo caso, dovresti mostrare il codice che esegue, la function o sub che sia,
Scrivi(line).

Facci sapere...
Ciao

PM
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 21:56
Giovedì, 26/02/2009
scrivi(line) è commentato perchè mi serviva il programma allora ho dovuto isolare alcune righe.... cmq il programma funziona, mi crea il file "file_mancante.txt" ma non scrve niente. In teoria deve scrivere il nome di tutte le immagini che non trova...:heehee:

PM
Avatar
Jeremy (Normal User)
Pro


Messaggi: 134
Iscritto: 08/02/2009

Segnala al moderatore
Postato alle 19:26
Venerdì, 27/02/2009
Ciao sps
Ho capito perchè lo hai commentato! .... quello che intendevo io è che, se ti crea il file ma non ci scrive niente al suo interno, probabilmente il problema è nel codice scritto nella procedura scrivi(line).
Per aiutarti a trovare il problema, dovresti mostrare il codice di quella procedura ..... altrimenti lo puoi trovare solo tu.

Facci sapere...
Ciao

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:32
Venerdì, 27/02/2009
Testo quotato

Postato originariamente da Jeremy:

Ciao sps
Ho capito perchè lo hai commentato! .... quello che intendevo io è che, se ti crea il file ma non ci scrive niente al suo interno, probabilmente il problema è nel codice scritto nella procedura scrivi(line).
Per aiutarti a trovare il problema, dovresti mostrare il codice di quella procedura ..... altrimenti lo puoi trovare solo tu.

Facci sapere...
Ciao


Guarda che il codice è proprio nel primo post, e aveva già risposto a me sul commento. Ma perchè la gente non legge mai le risposte precedenti prima di postare?

Dato che mi sembra infruttuoso continuare a speculare sul codice, andiamo direttamente alla pratica. Posta uno screenshot della cartella contenente le immagini, il contenuto del file txt in cui sono scritte le immagini ed eventualmente altro codice che ritieni utile.

P.S.: è inutile controllare se il file esiste per usare uno streawriter, poiché se non esiste viene creato. Usa il costruttore:
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim W As New IO.StreamWriter("file")


Ultima modifica effettuata da Il Totem il 27/02/2009 alle 20:35
PM
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 21:56
Venerdì, 27/02/2009
nel file txt le righe sono cosi:

234253;756755
234245;756756
223345;656576
754562;654322

Nella cartella invece ci sono delle immagini nominate cosi :
234253
234245
223345
754562

Praticamente la stringa a sx

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo