Public Class clsOptions
'Struttura che rappresenta una frase
Public Structure Sentence
Dim Play As Boolean
Dim Text As String
Dim Tag As String
Sub New(ByVal tg As String, ByVal txt As String, ByVal p As Boolean)
Tag = tg
Text = txt
Play = p
End Sub
End Structure
'Struttura che rappresenta una sveglie
Public Structure Alarm
Dim Time, Desc As String
Dim Played As Boolean
Sub New(ByVal t As String, ByVal d As String)
Time = t
Desc = d
Played = False
End Sub
End Structure
'Enumeratore di tutte le zone contemplate da Yahoo! Meteo
Public Enum MeteoZones
Alcamo = 1
Aversa = 2
Bari = 3
Barletta = 4
Bergamo = 5
Bologna = 6
Bolzano = 7
Brescia = 8
Cagliari = 10
Carbonia = 11
Carmagnola = 12
Carpi = 13
Caserta = 14
Cassino = 15
Castenaso = 16
Catania = 17
Chieti = 18
Chioggia = 19
Chivasso = 20
Ciampino = 21
Civitavecchia = 22
Collegno = 23
Como = 24
Cremona = 25
Empoli = 26
Ferrara = 27
Firenze = 28
Formia = 29
Frosinone = 30
Genova = 31
Imola = 32
La_Spezia = 33
Laives = 34
Lanciano = 35
Livorno = 36
Lucca = 37
Marsala = 38
Merano = 39
Messina = 40
Milano = 42
Modena = 43
Mola_di_Bari = 44
Molfetta = 45
Moncalieri = 46
Monopoli = 47
Montesilvano = 48
Monza = 49
Moscufo = 50
Muravera = 51
Napoli = 52
Novara = 53
Padova = 54
Palermo = 55
Palidoro = 56
Pescara = 57
Piacenza = 58
Pisa = 59
Poggibonsi = 60
Pompei = 61
Prato = 62
Quartu_Sant_Elena = 63
Rapallo = 64
Reggio_Emilia = 65
Rivoli = 66
Roma = 67
Rovigo = 68
Salerno = 69
San_Remo = 70
Savona = 71
Siena = 72
Sorrento = 73
Terni = 74
Tivoli = 75
Torre_del_Greco = 76
Trapani = 77
Trento = 78
Treviso = 79
Trieste = 80
Torino = 81
Varese = 82
Città_del_Vaticano = 83
Venaria = 84
Venezia = 85
Ventimiglia = 86
Verona = 87
Vicenza = 88
Viterbo = 89
Villafranca_di_Verona = 91
Capo_Mele = 92
Grosseto = 93
Amendola = 94
Capo_Palinuro = 95
Brindisi = 96
Landeck = 98
Agnone = 100
Alghero = 101
Ancona = 102
Aosta = 103
Ascoli_Piceno = 104
L_Aquila = 105
Alessandria = 106
Breuil_Cervina = 107
Boiano = 108
Broni = 109
Brunico = 110
Caltanisetta = 111
Campobasso = 112
Coni = 113
Castelvetrano = 114
Cortina_d_Ampezzo = 115
Catanzaro = 116
Domodossola = 117
Donnaz = 118
Foggia = 119
Gorizia = 121
Gualdo_Tadino = 122
Laurino = 123
Lecce = 124
Liante_Novi_Ligure = 125
Loano = 126
Marina_di_Leuca = 128
Matelica = 129
Monte_Sant_Angelo = 130
Nuoro = 131
Orvieto = 132
Oulx = 133
Passo_della_Cisa = 134
Pordenone = 135
Perugia = 136
Prato_allo_Stelvio = 137
Pescina = 138
Potenza = 139
Parma = 140
Pesaro = 141
Porto_Civitanova = 142
Policoro = 143
Porassey = 144
Pizzoferrato = 145
Riccia = 146
Reggio_Calabria = 147
Rimini = 148
Rieti = 149
Ravenna = 150
San_Marco_dei_Cavoti = 151
Santa_Caterina = 152
Spoleto = 153
San_Marino = 154
Sassari = 155
Siracusa = 156
Spezzano = 157
Taranto = 158
Terracina = 159
Teramo = 160
Tirano = 161
Termoli = 162
Udine = 163
Urbania = 164
Vasto = 165
Vibo_Valentia = 166
Varese_Ligure = 167
Villa_Santina = 168
Vittorio_Veneto = 169
End Enum
'Nome del font dei balloons
Public Balloon_Font_Name As String
'Dimensione del font dei balloons
Public Balloon_Font_Size As Int16
'Determina su dire il nome del controllo quando ci si
'passa sopra con il mouse
Public Balloon_Enabled, Speak_On_MouseOver As Boolean
'Posizione iniziale dell'agente
Public StartPos As Point
'Personaggio
Public Agent As String
'Frasi personalizzabili
Public Sentences(3) As Sentence
'Frasi preimpostate
Public PredSentences(2) As Sentence
'Lagna dei 'bug'
Public Tragedy_On As Boolean
'Sveglie
Public Alarms() As Alarm
'Determina se il timer è attivato all'inizio
Public Alarms_Enabled As Boolean
'Determina la zona meteo
Public Meteo As MeteoZones
'Determina se prendere le informaizoni all'avvio
Public Meteo_On_startup As Boolean
'Determina quanto devono essere dettagliate le informazioni meteo
Public Meteo_Detailed As Boolean
'Server POP3 delle mail
Public POP3_Server As String
'Porta del server
Public POP3_Port As Int16
'Username e password del server
Public POP3_User As String
Public POP3_Password As String
'Determina se il timer è attivato all'inizio
Public POP3_Enabled As Boolean
'Serializza il file
Public Sub Save
(ByVal File As String)
Dim Str As New IO.
FileStream(File, IO.
FileMode.
Create)
Dim Ser As New Xml.Serialization.XmlSerializer(Me.GetType)
Ser.Serialize(Str, Me)
Str.Close()
End Sub
'Deserializza il file: se non esiste crea settaggi predefiniti
Public Function Load
(ByVal File As String) As Object
Balloon_Enabled = True
Balloon_Font_Name = "Arial"
Balloon_Font_Size = 10
Agent = "Peedy"
Sentences(0) = New Sentence("Saluto Iniziale", "Benvenuto!\Pau=500\Io sono " + frmHelper.Personaggio + ", al tuo servizio.", True)
Sentences(1) = New Sentence("Saluto Finale", "Arrivederci!", True)
Sentences(2) = New Sentence("Impegni Salvati", "Ho salvato i tuoi impegni!", True)
Sentences(3) = New Sentence("Impegni Cancellati", "Ho cancellato i tuoi impegni!", True)
PredSentences(0) = New Sentence("Suggerimenti in 'Modifica Impegni'", "Cambia la data a tuo piacimento con il controllo.\Pau=500\Premi Salva o Cancella per salvare o cancellare gli impegni per il giorno selezionato.", True)
PredSentences(1) = New Sentence("Lettura terminata", "Ho finito di leggere!", True)
PredSentences(2) = New Sentence("Introduzione", "Scegli l'operazione che desideri effettuare.", True)
ReDim Alarms(0)
Alarms_Enabled = False
Speak_On_MouseOver = True
StartPos = New Point(0, 0)
POP3_Enabled = False
Tragedy_On = True
Meteo = MeteoZones.Milano
Meteo_On_startup = False
Meteo_Detailed = False
Return Me
End If
Dim Str As New IO.
FileStream(File, IO.
FileMode.
Open)
Dim Ser As New Xml.Serialization.XmlSerializer(Me.GetType)
Dim Temp As Object
Temp = Ser.Deserialize(Str)
Str.Close()
Return Temp
End Function
End Class