Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
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


Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
Una nuova immagine della cometa interste...
'La soluzione a un problema che non esis...
Radeon RX 9000 sì, Ryzen 9000 no:...
Amazon versa 180 milioni al Fisco e canc...
Meta, il Board di Supervisione guarda o...
DJI rivoluziona le consegne aeree: il nu...
Fibercop e Microsoft Italia uniscono per...
App Store Award 2025: scarica le 17 app ...
NVIDIA fa marcia indietro, il supporto P...
Addio definitivo alla GeForce GTX 1080: ...
Numeri record per gli iPhone 17: Apple s...
L'Italia del 2025 raccontata da Google: ...
Piaggio lancia Porter NPE, il pick-up el...
Xiaomi L1 a 153€: il proiettore smart 10...
Dopo Amazon, anche il data center di Gro...
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:07.


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