24/07/08 15:41
alpi39
Ciao Totem.
Ho provato ad utilizzare il codice che tu mi hai postato nel Topic "2 domande apparentemente facili ma per me difficili" per costruire il mio Calendario, ma data la mia scarsa conoscenza del Visual Basic .NET, non sono stao in grado di farne un buon uso.
Questo Calendario che vorrei programmare lo vorrei realizzare per mio figlio che vive e lavora a Roma (io, ti ricordo che vivo in Brasile) presso una Casa Editrice e dovrebbe servire a distribuire (nell’arco dell’anno) tutte le fasi di lavorazione dei giornali che la Casa produce.
Questo Calendario dovrebbe, per prima cosa, registrare una cartella con il nome dell’anno da programmare e, all’interno di questa, 12 cartelle ognuna con il nome di un Mese all’interno delle quali tante cartelle quanti sono i giorni di ogni mese contenente ciascuna un file di testo dove saranno registrate le fasi di lavorazione che sono previste per quel giorno.
So che è un’impresa molto ardua per me che sono alle prime armi con il VB.NET ma ho provato a scrivere questo codice che ti invio, perché mi da un errore alla riga che ti segnalo. Errore che non so risolvere e mi rivolgo a te che sono certo vorrai aiutarmi.
Ti anticipo i miei doverosi ringraziamenti.
Ho provato ad utilizzare il codice che tu mi hai postato nel Topic "2 domande apparentemente facili ma per me difficili" per costruire il mio Calendario, ma data la mia scarsa conoscenza del Visual Basic .NET, non sono stao in grado di farne un buon uso.
Questo Calendario che vorrei programmare lo vorrei realizzare per mio figlio che vive e lavora a Roma (io, ti ricordo che vivo in Brasile) presso una Casa Editrice e dovrebbe servire a distribuire (nell’arco dell’anno) tutte le fasi di lavorazione dei giornali che la Casa produce.
Questo Calendario dovrebbe, per prima cosa, registrare una cartella con il nome dell’anno da programmare e, all’interno di questa, 12 cartelle ognuna con il nome di un Mese all’interno delle quali tante cartelle quanti sono i giorni di ogni mese contenente ciascuna un file di testo dove saranno registrate le fasi di lavorazione che sono previste per quel giorno.
So che è un’impresa molto ardua per me che sono alle prime armi con il VB.NET ma ho provato a scrivere questo codice che ti invio, perché mi da un errore alla riga che ti segnalo. Errore che non so risolvere e mi rivolgo a te che sono certo vorrai aiutarmi.
Ti anticipo i miei doverosi ringraziamenti.
Imports System.IO Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim AnnoDigitato As String = "" Dim Anno As String = "" Dim Mesi(12) As String Dim Mese As String = "" Dim Giorni(12) As Integer Dim Giorno As String = "" 'qui, raccoglie il dato scritto nella TextBox 'per stabilire di quale anno deve formare il Calendario(che NON è obbligatoriamente l'anno corrente) AnnoDigitato = AnnoDigitato + Me.Controls("TextBox" & 1).Text 'trasforma l'anno digitato nella TextBox (che è una stringa) in un’altra stringa per la variabile anno Anno = AnnoDigitato 'qui evidenzia, con un messaggio l'anno che è stato digitato Dim risp As Integer = MsgBox(L'anno del quale formare il calendario è il " & Anno) 'Crea il percorso per arrivare alla Directory 'che chiamerà con il nome dell'anno del quale formare il calendario Dim Percorso As String = "C:\" & Anno 'assegna i valori a Mesi e ad ogni Mese la quantità relativa di Giorni For I = 1 To 12 If I = 1 Then Mesi(I) = "Gennaio" : Giorni(I) = 31 If I = 2 Then Mesi(I) = "Febbraio" : Giorni(I) = 28 If I = 3 Then Mesi(I) = "Marzo" : Giorni(I) = 31 If I = 4 Then Mesi(I) = "Aprile" : Giorni(I) = 30 If I = 5 Then Mesi(I) = "Maggio" : Giorni(I) = 31 If I = 6 Then Mesi(I) = "Giugno" : Giorni(I) = 30 If I = 7 Then Mesi(I) = "Luglio" : Giorni(I) = 31 If I = 8 Then Mesi(I) = "Agosto" : Giorni(I) = 31 If I = 9 Then Mesi(I) = "Settembre" : Giorni(I) = 30 If I = 10 Then Mesi(I) = "Ottobre" : Giorni(I) = 31 If I = 11 Then Mesi(I) = "Novembre" : Giorni(I) = 30 If I = 12 Then Mesi(I) = "Dicembre" : Giorni(I) = 31 Next 'Controlla se l'anno digitato è un anno bisestile 'in caso positivo, aumenta di uno i giorni di Febbraio If Int(Val(Anno / 4 * 4)) = Val(Anno) Then Mesi(2) = 29 'Crea la stringa Mese For I = 1 To 12 Mese = Mesi(I) 'Crea la stringa Giorno For X = 1 To Giorni(I) Giorno = Str(X) & " " & Mese 'Crea il percorso che deve fare per creare le cartelle e sottocartelle 'ognuna con il proprio nome Dim PercorsoFile As String = "" PercorsoFile = "C:\" & Anno \ Mese \ Giorno <--------Qui mi segnala l’errore, evidenziandomi la riga con un fondino giallo ed una finestra, con un filo indirizzato verso la riga dove è scritto: (in carattere grassetto) InvalidCAstException non è stata gestita e, (in carattere normale) Cast non valido dalla stringa "Gennaio" al tipo 'Long'. System.IO.Directory.CreateDirectory(PercorsoFile) 'È possibile utilizzare Metodo My.Computer.FileSystem.WriteAllText per scrivere del testo all'interno dei file. 'Se il file specificato non esiste, viene creato automaticamente. My.Computer.FileSystem.WriteAllText(PercorsoFile, Giorno, True) Next X Next I Close() End Sub End Class
Ultima modifica effettuata da alpi39 24/07/08 16:12
aaa