Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-10-2009, 11:08   #1
superbau
Senior Member
 
L'Avatar di superbau
 
Iscritto dal: Aug 2006
Città: Vicenza
Messaggi: 1150
[vbnet 2008] preload con barra di avanzamento

salve,
visto la risposta relativa tempo fa sulla mole di dati da gestire sul mio database xml e vari problemi relativi alla lentezza che potrebbe sorgere, mi è "barluccicato in mente" di mettere una barra di caricamento del file e anche nella lettura/scrittura di eventuali ricerche nei nodi.
Però non so come fare. Prima usavo questo metodo a icone

icona clessidra
codice
icona freccia.


Ora mi piacerebbe implementare questa progressBar che incrementale fino al 100% quando il file/s sono caricati o quando ho finito di leggere/scrivere sul mio database in xml.

Come potrei fare?

GRAZIE INFINITE
__________________
Motherboard:Asus Commando - CPU: q6600 2.4Ghz - cpu cooler: Asus V40 - RAM: ddr2 8Gb - HD: Samsung 850evo 512Gb- GPU: Asus 770gtx ti - Extra Gpu coller:Manatthan coller 210140 - Monitor: Asus VK266H - Aliment.: SilentMaxX IC-tech 600w - Mouse: MXmaster - SO: windows 10.
superbau è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 11:40   #2
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da superbau Guarda i messaggi
salve,
visto la risposta relativa tempo fa sulla mole di dati da gestire sul mio database xml e vari problemi relativi alla lentezza che potrebbe sorgere, mi è "barluccicato in mente" di mettere una barra di caricamento del file e anche nella lettura/scrittura di eventuali ricerche nei nodi.
Però non so come fare. Prima usavo questo metodo a icone

icona clessidra
codice
icona freccia.


Ora mi piacerebbe implementare questa progressBar che incrementale fino al 100% quando il file/s sono caricati o quando ho finito di leggere/scrivere sul mio database in xml.

Come potrei fare?

GRAZIE INFINITE
Ci sono centinaia di articoli su google e su MSDN in merito.

qui
qui
qui
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 11:57   #3
superbau
Senior Member
 
L'Avatar di superbau
 
Iscritto dal: Aug 2006
Città: Vicenza
Messaggi: 1150
grazie ho capito, praticamente la si abbina al timer tick, provo subitissimo!
__________________
Motherboard:Asus Commando - CPU: q6600 2.4Ghz - cpu cooler: Asus V40 - RAM: ddr2 8Gb - HD: Samsung 850evo 512Gb- GPU: Asus 770gtx ti - Extra Gpu coller:Manatthan coller 210140 - Monitor: Asus VK266H - Aliment.: SilentMaxX IC-tech 600w - Mouse: MXmaster - SO: windows 10.
superbau è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 12:24   #4
superbau
Senior Member
 
L'Avatar di superbau
 
Iscritto dal: Aug 2006
Città: Vicenza
Messaggi: 1150
ecco, allora ho fatto come riportato in un esempio che hai citato, però la barra non è in funzione del caricamento del file ma è slegata, tanto che pure lei si blocca quando il file si sta caricando, per poi proseguire solo quando il file viene caricato completamente.

il caricamento del database avviene nel load dell'anagrafica

posto il codice:

Quote:
Public Class MenuPrincipale

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = True
Anagrafica.Show()
Me.Hide()
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ProgressBar1.Value < 100 Then
ProgressBar1.Value += 1
ElseIf ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Stop()
finitoCaricamnetoAna = 1
End If
End Sub 'timer1_Tick

End Class
__________________
Motherboard:Asus Commando - CPU: q6600 2.4Ghz - cpu cooler: Asus V40 - RAM: ddr2 8Gb - HD: Samsung 850evo 512Gb- GPU: Asus 770gtx ti - Extra Gpu coller:Manatthan coller 210140 - Monitor: Asus VK266H - Aliment.: SilentMaxX IC-tech 600w - Mouse: MXmaster - SO: windows 10.
superbau è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 12:50   #5
superbau
Senior Member
 
L'Avatar di superbau
 
Iscritto dal: Aug 2006
Città: Vicenza
Messaggi: 1150
ho provato anche a fare in questo modo ma il ciclo si interrompe quando carica il database per poi riprendere quando ha finito..

Quote:
Dim i As Integer
i = 0
For i = ProgressBar1.Minimum To ProgressBar1.Maximum
ProgressBar1.Value = i
If i > 1 Then
Anagrafica.Show()
End If
Next
__________________
Motherboard:Asus Commando - CPU: q6600 2.4Ghz - cpu cooler: Asus V40 - RAM: ddr2 8Gb - HD: Samsung 850evo 512Gb- GPU: Asus 770gtx ti - Extra Gpu coller:Manatthan coller 210140 - Monitor: Asus VK266H - Aliment.: SilentMaxX IC-tech 600w - Mouse: MXmaster - SO: windows 10.

Ultima modifica di superbau : 30-10-2009 alle 13:55.
superbau è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 14:29   #6
superbau
Senior Member
 
L'Avatar di superbau
 
Iscritto dal: Aug 2006
Città: Vicenza
Messaggi: 1150
ufff ho provato a mettere tutto il codice del load all'interno di un timer e pilotandolo attavarso un al'tro form con un altro timer, ma niente, quando va a leggere il file , tutto SI FREEEZA per poi ripartire a caricamento eseguito


load anagrafica
Quote:
Private Sub Anagrafica_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
caricamento.Show()
caricamento.BringToFront()

End Sub
codice sul form caricamento
Quote:
Public Class caricamento

Dim i As Integer
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

i += 1
Label1.Text = i
If i < 101 Then
ProgressBar1.Value = i
End If
If i = 12 Then
Anagrafica.Timer1.Enabled = True
End If

End Sub

Private Sub caricamento_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 100
Me.BringToFront()
Timer2.Enabled = True
End Sub
End Class
e qui il codice sul timer dell'anagrafica che viene pilotato dal caricamento:
Quote:
Dim bau As Integer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
bau += 1
If bau = 5 Then
Else

'--------------------------------------------------------
'lettura database se è selezionato dal fom Gestione Files
'--------------------------------------------------------

Cursor = Cursors.WaitCursor

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'controlla se esiste una precedente selezione del database
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


'istanzio il documento
Dim DocS As New XmlDocument()
'lo carico in memoria '
DocS.Load(SelezioneDatabaseANA & "selezioneAna.xml")

'recupero il nodo root
Dim elementS As XmlElement = DocS.DocumentElement
'recupero il valore all'interno del primo figlio dell'elemento root
Dim nodeS As XmlNode = elementS.FirstChild
'node("RegioneSociale").InnerText

If nodeS("sclelta").InnerText = "" Then

Else
' MsgBox(nodeS("sclelta").InnerText)
PathAnagraficaDatabase = nodeS("sclelta").InnerText
Label26.Text = "Anagrafica corrente: " & nodeS("nome").InnerText
End If

If (SetDatabaseCorrente = 1) Or Not (nodeS("sclelta").InnerText = "") Then

'istanzio il documento
Dim Doc As New XmlDocument()
'lo carico in memoria
Doc.Load(PathAnagraficaDatabase)
'recupero il nodo root
Dim element As XmlElement = Doc.DocumentElement
'recupero il valore all'interno del primo figlio dell'elemento root
Dim node As XmlNode = element.FirstChild
'node("RegioneSociale").InnerText

'Variabile Percorso dell'anagrafica: PathAnagraficaDatabase
TextBox1.Text = node("RegioneSociale").InnerText

Else
'in caso non sia selezionato alcun database
End If
Cursor = Cursors.Arrow
End If
Timer1.Stop()
Timer1.Enabled = False
End Sub
come detto, quando carica il file esterno in lettura, tutto si freeeza fin che non è stato caricato

Non so + che pesci pigliare
__________________
Motherboard:Asus Commando - CPU: q6600 2.4Ghz - cpu cooler: Asus V40 - RAM: ddr2 8Gb - HD: Samsung 850evo 512Gb- GPU: Asus 770gtx ti - Extra Gpu coller:Manatthan coller 210140 - Monitor: Asus VK266H - Aliment.: SilentMaxX IC-tech 600w - Mouse: MXmaster - SO: windows 10.

Ultima modifica di superbau : 30-10-2009 alle 14:32.
superbau è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 15:00   #7
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da superbau Guarda i messaggi
ecco, allora ho fatto come riportato in un esempio che hai citato, però la barra non è in funzione del caricamento del file ma è slegata, tanto che pure lei si blocca quando il file si sta caricando, per poi proseguire solo quando il file viene caricato completamente.
Infatti quella è puramente una ProgressBar grafica, giusto per dare un po' di "importanza" all'avvio ( leggi "fumo negli occhi" ).
Oltretutto mi ha fatto sorridere in quel thread la risposta che il tizio da alla domanda "ma il VB.NET sarebbe il visual basic normale?". E il tizio risponde : "No, il vb.net è un'edizione "aggiornata" del vb6, anche se è definito come un linguaggio diverso perchè dal vb6 al vb.net cambia molto"


Ecco, ti consiglierei di stare alla larga dai "tutorial" di questo tipo.

Per ciò che devi fare tu è essenziale conoscere in anticipo il numero di operazioni o cicli da svolgere, sennò come fai ad impostare il .Maximum di una ProgressBar ? Se ad esempio vuoi caricare tutte le righe di un .txt o .xml ecc., prima fai in modo di conoscerne il numero, ad esempio :

Codice:
        '1. Numero linee in TEST.txt
        Dim numLinee As Integer = 0
        Dim SR As System.IO.StreamReader = System.IO.File.OpenText(percorso & "TEST.txt")
        Dim strLinea As String = SR.ReadLine()
        Do Until strLinea Is Nothing
            strLinea = SR.ReadLine()
            numLinee += 1
        Loop

        '2. Lettura
        ProgressBar1.Minimum = 0
        ProgressBar1.Value = ProgressBar1.Minimum
        ProgressBar1.Maximum = numLinee
        SR = System.IO.File.OpenText(percorso & "TEST.txt")
        For i As Integer = 1 To numLinee
            strLinea = SR.ReadLine()
            '...
            ProgressBar1.Value = i
        Next

        SR.Close()
        SR.Dispose()
        MsgBox("Fatto.")
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 16:39   #8
superbau
Senior Member
 
L'Avatar di superbau
 
Iscritto dal: Aug 2006
Città: Vicenza
Messaggi: 1150
grazie,
ho capito come impsotare il numero valore massimo della mia progress bar dal tuo esempio, però non ho capito come far partire la mia progress bar. nel senso che cmq, quando eseguirò:
Quote:
Dim DocS As New XmlDocument()
'lo carico in memoria '
DocS.Load(SelezioneDatabaseANA & "selezioneAna.xml")
da quel che vedo, cmq la progress bar si "FREZZERA'" per "x" tempo, sino a quando non sarà del tutto caricato il mio documento xml.

da quel che vedo SR è il mio file aperto ma è diverso da un file xml document, quindi mi da errore l'ugualianza xmldocument Docs = SR.
Quindi non essendo la stessa cosa SR e Docs, non posso usarlo nella mia variabile XmlDocuments e quindi dovrò ricaricarmi tutto.
Quote:
Public SR As System.IO.StreamReader
Quote:
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick


'1. Numero linee in TEST.txt
Dim numLinee As Integer = 0
SR = System.IO.File.OpenText(PercorsoAnagrafica & NomeAnagrafica & ".xml")
Dim strLinea As String = SR.ReadLine()
Do Until strLinea Is Nothing
strLinea = SR.ReadLine()
numLinee += 1
Loop

'2. Lettura
ProgressBar1.Minimum = 0
ProgressBar1.Value = ProgressBar1.Minimum
ProgressBar1.Maximum = numLinee
SR = System.IO.File.OpenText(PercorsoAnagrafica & NomeAnagrafica & ".xml")
For i As Integer = 1 To numLinee
strLinea = SR.ReadLine()
'...
ProgressBar1.Value = i
Next

'SR.Close()
' SR.Dispose()
MsgBox("Fatto.")
End Sub
e poi ho sostituito SR al mio document ma da errore...
Quote:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
bau += 1
If bau = 2 Then
Else

'--------------------------------------------------------
'lettura database se è selezionato dal fom Gestione Files
'--------------------------------------------------------


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'controlla se esiste una precedente selezione del database
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


'istanzio il documento
Dim DocS As New XmlDocument()
'lo carico in memoria '
' DocS.Load(SelezioneDatabaseANA & "selezioneAna.xml")
DocS = SR
'recupero il nodo root
Dim elementS As XmlElement = DocS.DocumentElement
'recupero il valore all'interno del primo figlio dell'elemento root
Dim nodeS As XmlNode = elementS.FirstChild
'node("RegioneSociale").InnerText

If nodeS("sclelta").InnerText = "" Then
..e non posso neppure far così:

Quote:

'1. Numero linee in TEST.txt
Dim DocS As New XmlDocument()
Dim numLinee As Integer = 0
SR = System.IO.File.OpenText(DocS.Load(SelezioneDatabaseANA & "selezioneAna.xml"))
Dim strLinea As String = SR.ReadLine()
Do Until strLinea Is Nothing
strLinea = SR.ReadLine()
numLinee += 1
Loop

'2. Lettura
ProgressBar1.Minimum = 0
ProgressBar1.Value = ProgressBar1.Minimum
ProgressBar1.Maximum = numLinee
SR = System.IO.File.OpenText(DocS.Load(SelezioneDatabaseANA & "selezioneAna.xml"))
For i As Integer = 1 To numLinee
strLinea = SR.ReadLine()
'...
ProgressBar1.Value = i
Next

'SR.Close()
' SR.Dispose()
MsgBox("Fatto.")
sicuramente è come al solito, so io che non capisco na mazza... uffa so propio duro di testa



P.s.
Si dovevo fare un txt e memorizzarmi il numero di righe della mia anagrafica prima di far partire la progress bar e andar a leggere il numero da li per impostare il max value, però cmq il problema persiste quando vado a caricare effettivamente il file docs xmldocument(). Cioè.. a mio avviso dovrei per risolvere il problema, legger il file xml che contiene i dati del database e in contemporanea far andare la mia progressbar. ma questo non succede inquanto quando carica il mio documento xml cmq si freeeza tutto. Caricarlo a priori non ha senso che esista la progressbar, in quanto sarebbe già cmq caricato. L'unica sarebbe far andare in contemporanea la progressbar e il caricamento del mio database in xml.
All'atto delle cose quando carico il mio anagrafica.xml si freeza tutto sin tanto che non è completato e poi continuano i lavori.
Se non erro dovrei dunque aprire in SRTEAM il mio ducumento in xml... ho forse detto una bestemmia ?


P.p.s
Forse ho ripetuto nel p.s. 1000 volte lo stesso concetto ^^
__________________
Motherboard:Asus Commando - CPU: q6600 2.4Ghz - cpu cooler: Asus V40 - RAM: ddr2 8Gb - HD: Samsung 850evo 512Gb- GPU: Asus 770gtx ti - Extra Gpu coller:Manatthan coller 210140 - Monitor: Asus VK266H - Aliment.: SilentMaxX IC-tech 600w - Mouse: MXmaster - SO: windows 10.

Ultima modifica di superbau : 30-10-2009 alle 17:04.
superbau è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 09:51   #9
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Direi che c'è parecchia confusione...

Il mio esempio precedente era per i txt. Puoi usare un Reader generico anche con gli Xml, ma in quel caso rinunci alle potenzialità del namespace "Xml".

Se carichi e processi un Xml in un colpo solo, ovviamente non tieni traccia dell'avanzamento, e quindi puoi usare solo una ProgressBar Marquee, che non dice nulla all'utente, ma solo un generico "attendere prego...".

Esempio di lettura di un semplice Xml "elemento per elemento", con ProgressBar :

Codice:
        Dim xmlDoc As New Xml.XmlDocument
        xmlDoc.Load(percorso & "TEST.xml")

        Dim XNL As Xml.XmlNodeList = xmlDoc.GetElementsByTagName("nomeElemento")
        Dim numElem As Integer = XNL.Count - 1
        ProgressBar1.Minimum = 0
        ProgressBar1.Value = ProgressBar1.Minimum
        ProgressBar1.Maximum = numElem

        For i As Integer = 0 To numElem
            ListBox1.Items.Add(XNL(i).InnerText)
            '...
            ProgressBar1.Value = i
        Next
Ovviamente con gli Xml le cose si fanno più complesse che non con un semplice txt. Ci possono essere Items, SubItems, Attributi e quant'altro, perciò a te l'adattamento dell'esempio al tuo caso particolare...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 12:57   #10
superbau
Senior Member
 
L'Avatar di superbau
 
Iscritto dal: Aug 2006
Città: Vicenza
Messaggi: 1150
grazie, come sempre preciso e perfetto nelle risposte, è un piacere rivolgere domande qui, molto professionale.
__________________
Motherboard:Asus Commando - CPU: q6600 2.4Ghz - cpu cooler: Asus V40 - RAM: ddr2 8Gb - HD: Samsung 850evo 512Gb- GPU: Asus 770gtx ti - Extra Gpu coller:Manatthan coller 210140 - Monitor: Asus VK266H - Aliment.: SilentMaxX IC-tech 600w - Mouse: MXmaster - SO: windows 10.
superbau è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
Veeam corregge diverse vulnerabilit&agra...
MacBook Neo segna una svolta per Apple: ...
Polestar pubblica il report LCA di Poles...
Il rame non basta più: NVIDIA, AM...
Velocissimo e consuma poco: ecco il nuov...
Le migliori Offerte di Primavera sui Rob...
Perplexity 'Personal Computer' è ...
TV QLED da 65 pollici da 449€ con sconti...
Il CEO di Adobe pronto a lasciare dopo q...
Non è bastato il maxi-accordo col...
Gestire e proteggere i backup è s...
AI in mezzo all'oceano: turbine eoliche ...
IDC rivede le stime del mercato PC: crol...
Microsoft 365 Family 12 mesi a 89,99€ pe...
Power station in forte sconto su Amazon:...
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: 12:50.


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