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 - aggiungere nuove righe ad un file di testo
Forum - C# / VB.NET - aggiungere nuove righe ad un file di testo - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
alpi39 (Normal User)
Pro


Messaggi: 63
Iscritto: 07/03/2008

Segnala al moderatore
Postato alle 10:49
Domenica, 30/03/2008
Testo quotato

Postato originariamente da Il Totem:

Che tu abbia 69 anni mi risulta difficile crederlo, ma farò uno sforzo. Sai, questa è stata per... 2 anni, mi sembra, la "Community dei giovani programmatori" e comunque non ho mai incontrato su Internet alcuna persona di età superiore ai 50.




Questo che tu mi dici (che non credi alla mia età) mi fa MOLTO piacere. Peccato che io non possa inserire qui un'immagine della mia carta d'identità. Comunque posso dirti che sono nato il 18/01/1939 a Roma

PM Quote
Avatar
alpi39 (Normal User)
Pro


Messaggi: 63
Iscritto: 07/03/2008

Segnala al moderatore
Postato alle 11:19
Domenica, 30/03/2008
Ho fatto una copia del programma ed ho copiato al suo interno il codice che tu mi hai inviato cancellando,come tu mi hai suggerito, tutte le DIM
ma il programma mi da questi 3 errori:

Errore    1    Prevista fine dell'istruzione.    F:\Visual Basic .NET\Visual Studio 2008\Projects\Copia di INSERIMENTO NOME BRASILIANO\My Project\INSERIMENTO NOME BRASILIANO.vb    16    25    INSERIMENTO NOME BRASILIANO
Errore    2    Troppi argomenti per 'Public Shared Function AppendText(path As String) As System.IO.StreamWriter'.    F:\Visual Basic .NET\Visual Studio 2008\Projects\Copia di INSERIMENTO NOME BRASILIANO\My Project\INSERIMENTO NOME BRASILIANO.vb    21    45    INSERIMENTO NOME BRASILIANO
Errore    3    Questa istruzione non può trovarsi nel corpo di un metodo. Verrà interpretata come fine del metodo.    F:\Visual Basic .NET\Visual Studio 2008\Projects\Copia di INSERIMENTO NOME BRASILIANO\My Project\INSERIMENTO NOME BRASILIANO.vb    24    1    INSERIMENTO NOME BRASILIANO


E quando provo ad effettuare il debug mi appare questo avviso:
"ERRORI DURANTE LA COMPILAZIONE. CONTINUARE AD ESEGUIRE L'ULTIMA COMPILAZIONE COMPLETATA?

Ultima modifica effettuata da alpi39 il 30/03/2008 alle 11:30
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:10
Domenica, 30/03/2008
Quando posto sorgenti capita spesso che si sbagli ad incollare, quindi è meglio se mi posti il codice intero.

PM Quote
Avatar
alpi39 (Normal User)
Pro


Messaggi: 63
Iscritto: 07/03/2008

Segnala al moderatore
Postato alle 15:59
Domenica, 30/03/2008
Ciao Totem.
Ti ringrazio per la tua sollecitudine nel rispondermi.
Debbo precisarti che gli errori non sono 3, ma 2.
Il terzo, mi dava errore perchè nel copia e incolla mi era saltata l'istruzione End Sub della prima Private Sub.
Comunque, ecco il mio listato

___________________________________________________

Public Class Form1

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

        'Crea il file "Rosana.txt" se assente oppure lo apre in lettura e lo aggiorna
        'attraverso la determinazione della sua esistenza (metodo fileExist)


        Dim S As String = ""
For I As Byte = 1 To 11 Do
            S &= Me.Controls("TextBox" & I).Text
            If I < 11 Then S &= ","
        Next
        S &= vbCrLf
        IO.File.AppendText("C:\Rosana.txt", S)

    End Sub

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

End Class
__________________________________________________

Ed ecco i 2 errori:

Errore    1    Prevista fine dell'istruzione.    F:\Visual Basic .NET\Visual Studio 2008\Projects\Copia di INSERIMENTO NOME BRASILIANO\My Project\INSERIMENTO NOME BRASILIANO.vb    11    25    INSERIMENTO NOME BRASILIANO
Errore    2    Troppi argomenti per 'Public Shared Function AppendText(path As String) As System.IO.StreamWriter'.    F:\Visual Basic .NET\Visual Studio 2008\Projects\Copia di INSERIMENTO NOME BRASILIANO\My Project\INSERIMENTO NOME BRASILIANO.vb    16    45    INSERIMENTO NOME BRASILIANO

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:55
Lunedì, 31/03/2008
Il primo è dovuto forse a un errore di versione. Infatti la sintassi ridotta a una linea per l'If è compatibile con vb2005+, ma forse tu stai usando il 2003 e non funziona. Cambia in:
Codice sorgente - presumibilmente C# / VB.NET

  1. If I < 11 Then
  2.   S &= ","
  3. End If


Il secondo è un errore di scrittura. La funzione da usare si chiama IO.File.AppendAllText e non solo IO.File.AppendText.

PM Quote
Avatar
alpi39 (Normal User)
Pro


Messaggi: 63
Iscritto: 07/03/2008

Segnala al moderatore
Postato alle 13:27
Giovedì, 03/04/2008
Ciao Totem
Ti ringrazio per le correzioni che mi hai indicato e debbo dirti che ora funziona ottimamente (nella versione portoghese) perché, devi sapere, che questo programma che ho intenzione di realizzare, gestisce due agende, una in lingua italina (per me)ed un'altra in lingua portoghese (per mia moglie).
Le correzioni che tu mi hai indicato, nella versione portoghese (che é la prima ad essere testata), funzionano benissimo, ma lo stesso listato, copiato ed incollato nella version italiana, presenta incredibilmente un errore alla riga...
"S &= Me.Controls("TextBox"(I)).Text"
e l'errore che segnala è inserito in un riquadro con un filo in direzione della riga e recita:
__________________________________________________
NullRefrenceException (Il testo é scritto in neretto)
__________________________________________________

Usa la parola "new" per creare un'istanza di oggetto,
Determinare se l'oggetto é null prima di chiamare il metodo.
__________________________________________________

Perché se nella versione portoghese funziona, non deve funzionare anche in quella italiana?

Ad ogni buon conto,ti posto nuovamente tutto il codice:
___________________________________________________
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim S As String = ""
        For I As Byte = 1 To 11
            S &= Me.Controls("TextBox"(I)).Text
            If I < 11 Then S = S + ","
        Next
        S = S + vbCrLf
        IO.File.AppendText("C:\Alberto.txt")
        Close()
    End Sub

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

End Class
____________________________________________________

Ultima modifica effettuata da alpi39 il 03/04/2008 alle 13:32
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:54
Giovedì, 03/04/2008
Codice sorgente - presumibilmente Plain Text

  1. S &= Me.Controls("TextBox"(I)).Text


Correggi con:
Codice sorgente - presumibilmente Plain Text

  1. S &= Me.Controls("TextBox" & I).Text


Ti sei assicurato che le textbox abbiano esattamente lo stesso nome, quindi anche la stessa numerazione? Questo codice specifico per textbox numerate opportunamente.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo