08/01/08 20:32
antometal
il controllo progress bar è gia presente in vb, devi aggiungere il componente microsoft windows control 6.0 (nn ricordo bene il nome cmq è simile)
così ti appariranno altri controlli tra cui le progress bar
imposti il valore massimo e minimo, poi con la proprietà value dai il progresso
es
così la progress bar segnerà metà del progresso
così ti appariranno altri controlli tra cui le progress bar
imposti il valore massimo e minimo, poi con la proprietà value dai il progresso
es
pbar.max=10 pbra.min=0 pbar.value=5
così la progress bar segnerà metà del progresso
aaa
08/01/08 20:32
meno93
certo..ma nn voglio creare un illusione ottica ma che calcoli veramente il tempo ed avanzasse progressivamente.....
aaa
08/01/08 20:43
GrG
allora nn ho capito bene come è fatto il tuo progr. cmq puoi fare una cosa del genere.
esempio:
Private Sub Command1_Click()
'*Qui crei ad esmpio blabla.txt
'Poi Qui fai avanzare x es. la progressbar del 50%
'*Qui poi crei n'altro file .txt
'Qui fai avanzare del 100% la progressbar
End Sub
Capito cosa intendo?
esempio:
Private Sub Command1_Click()
'*Qui crei ad esmpio blabla.txt
'Poi Qui fai avanzare x es. la progressbar del 50%
'*Qui poi crei n'altro file .txt
'Qui fai avanzare del 100% la progressbar
End Sub
Capito cosa intendo?
Ultima modifica effettuata da GrG 08/01/08 20:46
aaa
08/01/08 20:51
antometal
se ho capito bene vuoi avere un astima del tempo rimanente, ma nn un semplice countdown
a questo proposito avevo creto un codice...
è un pò alla buona e nn so se va
fammi sapere che ti aiuto
a questo proposito avevo creto un codice...
Private Sub tmrTempo_Timer() On Error Resume Next 'cè la possibilità che si verifiche l' errore: division by zero Static Inizio As Long Dim Trascorso As Long Dim Stimato As Double Dim HMS As String If Inizio = 0 Then Inizio = Hour(Ora) * 3600 + Minute(Ora) * 60 + Second(Ora) If Hour(Time) = 0 And Hour(Ora) > 0 Then Trascorso = 24 * 3600 Trascorso = (Trascorso + Hour(Time) * 3600 + Minute(Time) * 60 + Second(Time)) - Inizio 'tempo trascorso (espresso in secondi) da quando si iniziano a ricevere pacchetti del file If Trascorso = 0 Then Trascorso = 1 Stimato = Trascorso * (pbrRicezione.Max / pbrRicezione.Value) 'tempo(teorico ed espresso in secondi) che è necessario fino alla fine del trasferimento lblTempo.Caption = "Alla fine del trasferimento manca: " & Stimato \ 3600 & ":" Stimato = Hour(Time) * 3600 + Minute(Time) * 60 + Second(Time) HMS = Stimato \ 3600 Stimato = Stimato / 3600 - Stimato \ 3600 HMS = HMS & ":" & String(-Len(Int(Stimato * 60)) + 2, "0") & Int(Stimato * 60) Stimato = Stimato * 60 - Int(Stimato * 60) lblTempo.Caption = "Tempo rimanete stimato: " & HMS & ":" & String(-Len(Int(Stimato * 60)) + 2, "0") & Int(Stimato * 60) End Sub
è un pò alla buona e nn so se va
fammi sapere che ti aiuto
aaa
08/01/08 21:10
meno93
Grazie ma ho risolto con un espressione matematica
dato che lavoro su un ciclo For che è impostato da una textbox è bastato che impostassi come value (della progressbar) il risultato della divisione fra il numero di cicli for e il massimo valore della progressbar cosi da darmi un valore che se aggiunto rispettivamente ad ogni ciclo visibilmente (progressbar) mi avanzava progressivamente........NN SO SE AVETE CAPITO!!!nn ho saputo tanto spiegalo adesso il codice va perfettamente devo solo per completare sto piccolo programma...dare un interfaccia grafica e coprire gli innumerevoli Bug che ho trovato...
Private Sub Command1_Click() Dim dir As String dir = "c:\" & Text1.Text Open dir For Output As 1 CommonDialog1.FileName = dir For kb = 1 To Text2.Text Write #1, "èÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ øþÿÿWP fgdgøþÿÿPèÃìÿÿY3ÿgdgøþÿÿPèÃìÿÿY3ÿfgdgþÿÿfgdgøþÿÿPèÃìÿÿY3ÿfgdgøþÿÿPèÃìÿÿY3ÿ ProgressBar1.Value = ProgressBar1.Value + (150 / Text2.Text) Next MsgBox "File è stato creato con successo nella directory c:\" & Text1.Text, vbInformation, "genera file 1.0" Close 1 End Sub
dato che lavoro su un ciclo For che è impostato da una textbox è bastato che impostassi come value (della progressbar) il risultato della divisione fra il numero di cicli for e il massimo valore della progressbar cosi da darmi un valore che se aggiunto rispettivamente ad ogni ciclo visibilmente (progressbar) mi avanzava progressivamente........NN SO SE AVETE CAPITO!!!nn ho saputo tanto spiegalo adesso il codice va perfettamente devo solo per completare sto piccolo programma...dare un interfaccia grafica e coprire gli innumerevoli Bug che ho trovato...
aaa