Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
OnePlus 15 nasce per alzare l'asticella delle prestazioni e del gaming mobile. Ma non solo, visto che integra un display LTPO 1,5K a 165 Hz, OxygenOS 16 con funzioni AI integrate e un comparto foto con tre moduli da 50 MP al posteriore. La batteria da 7.300 mAh con SUPERVOOC 120 W e AIRVOOC 50 W è la ciliegina sulla torta per uno smartphone che promette di offrire un'esperienza d'uso senza alcun compromesso
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-11-2009, 19:13   #21
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da daxdaxdax Guarda i messaggi
forse ho capito..
TextBox1.Text = INI.GetGruppoByNome("Engine.GameReplicationInfo]").GetChiaveByNome("ServerName").Valore
Esatto, io pensavo a qualcosa di più raffinato, ma sì, il concetto è quello !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2009, 19:58   #22
U235
Member
 
Iscritto dal: Nov 2009
Messaggi: 56
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Esatto, io pensavo a qualcosa di più raffinato, ma sì, il concetto è quello !

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
U235 è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2009, 20:44   #23
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
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.
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2009, 20:55   #24
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da U235 Guarda i messaggi
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...
FileIni eredita da List(Of), pertanto è possibile usare tutti i metodi generici di aggiunta alla List ( .Add, .Insert, ecc... ).

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
Da usarsi così :

Codice:
        'Inserisci subito dopo "[XGame.xDeathMatch]" il nuovo Gruppo "[NomeNuovoGruppo]" 
        INI.AddGruppoDopo("[XGame.xDeathMatch]", "[NomeNuovoGruppo]")

        INI.Salva()
Ovviamente metodi buttati giù così, senza alcun controllo errori. A voi il piacere di implementare...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2009, 21:16   #25
U235
Member
 
Iscritto dal: Nov 2009
Messaggi: 56
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
FileIni eredita da List(Of), pertanto è possibile usare tutti i metodi generici di aggiunta alla List ( .Add, .Insert, ecc... ).

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
Da usarsi così :

Codice:
        'Inserisci subito dopo "[XGame.xDeathMatch]" il nuovo Gruppo "[NomeNuovoGruppo]" 
        INI.AddGruppoDopo("[XGame.xDeathMatch]", "[NomeNuovoGruppo]")

        INI.Salva()
Ovviamente metodi buttati giù così, senza alcun controllo errori. A voi il piacere di implementare...
grazie, gentilissimo.

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
U235 è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2009, 22:38   #26
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
Iscritto dal: Aug 2009
Messaggi: 168
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Esatto, io pensavo a qualcosa di più raffinato, ma sì, il concetto è quello !
Ok funziona tutto alla grande!!!

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
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2009, 23:57   #27
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da daxdaxdax Guarda i messaggi
Ok funziona tutto alla grande!!!

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?
Beh, dipende da cosa si desidera che succeda se m_nomeFileCompleto non corrisponde ad un file ini realmente esistente.
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
in questo caso l'oggetto INI, dopo l'esecuzione di Carica() sarà una lista vuota :

Codice:
        Dim INI As New FileIni( percorsoErrato )
        INI.Carica()

        If INI.Count = 0 Then MsgBox("vuoto")
E poi bisognerebbe gestire le eccezioni dovute al caricamento di un file ini non formattato correttamente. Questa classe è pensata per un file Ini, diciamo "ben formato", se così si può dire, ossia che rispetta la struttura :

[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...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 00:21   #28
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
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
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 00:36   #29
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Come "a parte la funzione Salva" ?
Da me funziona benissimo. Che problema c'è ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 17:43   #30
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
Iscritto dal: Aug 2009
Messaggi: 168
Object reference not set to an instance of an object.
__________________
D@x
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 18:29   #31
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da daxdaxdax Guarda i messaggi
Object reference not set to an instance of an object.
Eh, vabbeh, , ma facendo COSA ti da quell'errore ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 21:17   #32
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
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..
Poi, ho fatto un pulsante "scrivi" che (se ho capito bene il concetto) prende invece i valori delle varie textbox per ricompilare l'ormai famoso INI e salvarlo...
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..
Il LEGGI funziona da dio ma SCRIVI mi si ferma evidenziandomi :
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
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 23:08   #33
U235
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
U235 è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 23:25   #34
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
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.
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2009, 23:37   #35
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da daxdaxdax Guarda i messaggi
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..
Poi, ho fatto un pulsante "scrivi" che (se ho capito bene il concetto) prende invece i valori delle varie textbox per ricompilare l'ormai famoso INI e salvarlo...
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..
Il LEGGI funziona da dio ma SCRIVI mi si ferma evidenziandomi :
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
Ora che ti sei spiegato chiaro su COSA fai e su COME lo fai, direi che il problema è lampante. Fai attenzione :

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
Istanzi un altro oggetto da FileINI, NON fai il Carica(), e cerchi un Gruppo, e una Chiave che ovviamente non possono esistere, perchè ti ritrovi una List vuota !
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.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 00:02   #36
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
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.
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 11:30   #37
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da daxdaxdax Guarda i messaggi
Devo usare "shared"?
Shared è lo "Static" di VB.NET.
Dipende... Usarlo per cosa ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 11:37   #38
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
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.
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 11:49   #39
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da daxdaxdax Guarda i messaggi
Per fare la classe statica che dicevi...
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
Quando vuoi caricare :
Codice:
FI = New FileIni ( percorso )
FI.Carica()
Quando vuoi salvare :
Codice:
FI.Salva()
Quando te ne vuoi liberare :
Codice:
FI.Dispose()
A patto di aver implementato IDisposable nella classe FileIni.

MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 17:52   #40
daxdaxdax
Member
 
L'Avatar di daxdaxdax
 
Iscritto dal: Aug 2009
Messaggi: 168
Io non ci riesco...
se posto tutta la mia form5 hai voglia di leggerla?
__________________
D@x
daxdaxdax è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
SONY BRAVIA 8 II e BRAVIA Theatre System 6: il cinema a casa in formato compatto SONY BRAVIA 8 II e BRAVIA Theatre System 6: il c...
Jeff Bezos torna al comando, stavolta di...
Anthesi sceglie OVHcloud per digitalizza...
Cube presenta Trike Flatbed Hybrid 750, ...
Call of Duty Black Ops 7 peggio di Infin...
L'Italia è il secondo mercato per...
Wi-Fi superveloce anche in giardino? FRI...
La Ford Focus va ufficialmente in pensio...
Booking.com integra Revolut Pay: nasce i...
DGX Spark a 175 fps con ray tracing su C...
Red Dead Redemption 2 Enhanced è ...
3Dfx Voodoo 2, una GPU nata con la scade...
Apple Watch: la Mela dovrà versar...
TIM e Nokia insieme per potenziare il 5G...
Musk lancia la nuova era dei DM su X con...
A Dallas Fort Worth entrano in azione se...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v