|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
|
|
|
|
|
#22 | |
|
Member
Iscritto dal: Nov 2009
Messaggi: 56
|
Quote:
Ciao MarcoGG, scusami se approfitto della tua gentilezza, come posso modificare la tua classe per fare in modo ad esempio di creare un blocco ed inserirlo tra uno e l'altro oppure aggiungere un campo in una determinata posizione ecc..? grazie per le dritte...
__________________
Un elemento come me quando si fissa fa sempre un gran casino, ma solo nel 45 ciò è stato negativo . Little Boy era mio nonno |
|
|
|
|
|
|
#23 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Comodo? Spaziale!!!
grasie, provo poi faccio sapere :-)
__________________
D@x Ultima modifica di daxdaxdax : 04-11-2009 alle 20:53. |
|
|
|
|
|
#24 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Se volessi invece un metodo che, dato in input il nome di un Gruppo già presente nell'INI, inserisca un nuovo Gruppo subito dopo, ad esempio puoi aggiungere alla Classe FileIni il metodo : Codice:
Public Sub AddGruppoDopo(ByVal nomeGruppo As String, ByVal nomeNuovoGruppo As String)
For Each G As Gruppo In Me
If G.Nome = nomeGruppo Then
Me.Insert(Me.IndexOf(G) + 1, New Gruppo(nomeNuovoGruppo))
Exit For
End If
Next
End Sub
Codice:
'Inserisci subito dopo "[XGame.xDeathMatch]" il nuovo Gruppo "[NomeNuovoGruppo]"
INI.AddGruppoDopo("[XGame.xDeathMatch]", "[NomeNuovoGruppo]")
INI.Salva()
|
|
|
|
|
|
|
#25 | |
|
Member
Iscritto dal: Nov 2009
Messaggi: 56
|
Quote:
Puo' sempre servire in vb anche se in genere programmo in c#. ciao.
__________________
Un elemento come me quando si fissa fa sempre un gran casino, ma solo nel 45 ciò è stato negativo . Little Boy era mio nonno |
|
|
|
|
|
|
#26 | |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Quote:
ancora una domandina.. In che modo posso modificare la sub carica in modo che se le viene chiesto un parametro che non esiste, non dia errore?
__________________
D@x |
|
|
|
|
|
|
#27 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
La cosa più semplice è uscire dal metodo Carica(), ossia come prima linea di codice nel metodo inserire : Codice:
If System.IO.File.Exists(m_nomeFileCompleto) = False Then Exit Sub Codice:
Dim INI As New FileIni( percorsoErrato )
INI.Carica()
If INI.Count = 0 Then MsgBox("vuoto")
[Gruppo1] Chiave1=valore Chiave2=valore ... ChiaveN=valore < spazio > [Gruppo2] Chiave1=valore Chiave2=valore ... ChiaveN=valore ecc... Bisogna aver chiaro quali errori possono verificarsi, e quali azioni intraprendere caso per caso... |
|
|
|
|
|
|
#28 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Capito...
sai che funziona tutto a parte la funzione salva? come sono ignorante... cosa manca secondo te? (Comunque aggiungere letture di stringhe in questo modo è sicuramente meno laborioso...goood) Codice:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
' SALVATAGGIO PARAMETRI SU FILE SCELTO
Dim INI As New FileIni(Label17.Text)
INI.GetGruppoByNome("[Engine.GameReplicationInfo]").GetChiaveByNome("ServerName").Valore = Nomeserver.Text
ProgressBar1.Value += 1
INI.GetGruppoByNome("[Engine.GameReplicationInfo]").GetChiaveByNome("AdminName").Valore = NomeAmmin.Text
ProgressBar1.Value += 1
INI.GetGruppoByNome("[Engine.GameReplicationInfo]").GetChiaveByNome("AdminEmail").Valore = AmminMail.Text
ProgressBar1.Value += 1
ecc...
__________________
D@x |
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Come "a parte la funzione Salva" ?
Da me funziona benissimo. Che problema c'è ? |
|
|
|
|
|
#30 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Object reference not set to an instance of an object.
__________________
D@x |
|
|
|
|
|
#31 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
|
|
|
|
|
#32 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Hihihihi scusa.... hai ragione...
Allora, ho scritto nella sub del mio pulsante "LEGGI" Codice:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim INI As New FileIni(Label17.Text)
INI.Carica()
ProgressBar1.Value += 1
Nomeserver.Text = INI.GetGruppoByNome("[Engine.GameReplicationInfo]").GetChiaveByNome("ServerName").Valore
ecc..
Codice:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
' SALVATAGGIO PARAMETRI SU FILE SCELTO
Dim INI As New FileIni(Label17.Text)
INI.GetGruppoByNome("[Engine.GameReplicationInfo]").GetChiaveByNome("ServerName").Valore = Nomeserver.Text
ProgressBar1.Value += 1
ecc..
INI.GetGruppoByNome("[Engine.GameReplicationInfo]").GetChiaveByNome("ServerName").Valore = Nomeserver.Text Ora, non capisco che errore ci sia dato che non cè alcun problema apparente.. Quando avrò compreso appieno le tue classi sarò mooolto felice
__________________
D@x |
|
|
|
|
|
#33 |
|
Member
Iscritto dal: Nov 2009
Messaggi: 56
|
ciao
sei certo che nel file INI ci siano esattamente quelle voci ([Engine.GameReplicationInfo] e ServerName)? se sbagli anche solo un carattere ti da quelgenere di errore mi sa...
__________________
Un elemento come me quando si fissa fa sempre un gran casino, ma solo nel 45 ciò è stato negativo . Little Boy era mio nonno |
|
|
|
|
|
#34 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Ciao U235
si, sono abbastanza sicuro che esistano... In fase di lettura legge il valore, in fase di scrittura\salvataggio, no... mah.. Io nel frattempo ravano ancora un po per capire...
__________________
D@x Ultima modifica di daxdaxdax : 05-11-2009 alle 23:53. |
|
|
|
|
|
#35 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
1. Istanzi un oggetto della classe FileIni, e poi con Carica() lo "riempi" con i gruppi e le chiavi presenti. Perfetto. 2. Poi, per salvare, fai questo : Codice:
' SALVATAGGIO PARAMETRI SU FILE SCELTO
Dim INI As New FileIni(Label17.Text)
INI.GetGruppoByNome("[Engine.GameReplicationInfo]").GetChiaveByNome("ServerName").Valore = Nomeserver.Text
L'inizializzazione dell'oggetto INI deve avvenire una volta sola ed essere visibile dalle ruotine di lettura e scrittura. Il che significa che la dichiarazione dell'oggetto INI di tipo FileIni deve avvenire a livello di Form, o anche a livello di Modulo o classe statica... Quando INI è caricato con Carica(), non è più necessario istanziare un altro oggetto FileIni per fare il Salva(). Salva() va fatto sulla stessa istanza da cui hai eseguito il Carica(). Credo di essermi spiegato. |
|
|
|
|
|
|
#36 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Sempre disponibile, grazie.
Domani cerco di capire dove sbaglio e ti dico.. Siete i miei due maestri Devo usare "shared"? ..consigliatemi un libro per mozzi come me per imparare queste cose..
__________________
D@x Ultima modifica di daxdaxdax : 06-11-2009 alle 22:15. |
|
|
|
|
|
#37 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
|
|
|
|
|
#38 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Per fare la classe statica che dicevi... Per far vedere alle ruotine di lettura e scrittura "dim INI As New FileIni(Label17.Text)"
__________________
D@x Ultima modifica di daxdaxdax : 07-11-2009 alle 11:49. |
|
|
|
|
|
#39 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Un Modulo VB.NET è già di per sè una classe statica. Non hai nessun bisogno di usare Shared. Basta :
Codice:
Module ModuloINI
Public FI As FileIni
End Module
Codice:
FI = New FileIni ( percorso ) FI.Carica() Codice:
FI.Salva() Codice:
FI.Dispose() |
|
|
|
|
|
#40 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 168
|
Io non ci riesco...
se posto tutta la mia form5 hai voglia di leggerla?
__________________
D@x |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:10.




















