Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Progressbar XPControl  , Come faccio azionarla ?
Forum - Visual Basic 6 - Progressbar XPControl , Come faccio azionarla ?

Avatar
ProgrammatoreVBC++ (Normal User)
Newbie


Messaggi: 13
Iscritto: 12/12/2009

Segnala al moderatore
Postato alle 13:24
Sabato, 19/12/2009
Salve ragazzi tengo il componente XPControl e voglio mettere la progressbar sempre di XPControl , che codice metto x farla funzionarla  ?

PM Quote
Avatar
ProgrammatoreVBC++ (Normal User)
Newbie


Messaggi: 13
Iscritto: 12/12/2009

Segnala al moderatore
Postato alle 22:30
Sabato, 19/12/2009
allora sapete aiutarmi ? ??

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 12:07
Domenica, 20/12/2009
XPControl è un ocx sai come integrarlo nel progetto?

PM Quote
Avatar
Louis (Normal User)
Pro


Messaggi: 150
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 12:35
Domenica, 20/12/2009
Ciao, abbiamo capito che sei in difficoltà, però in particolare non si capisce se non sei in grado di registrare l'OCX di cui trattasi, o perché non sai implementare il codice necessario per la PB.
Allora fermo restando quanto detto e dando per scontato che hai già registrato l'ocx e disegnato sulla Form la ProgressBar, poni sulla Frm una Lbl con Nome lblInfo e 3 Txt con Nome: TxtDcopy, TxtCopiati e TxtPerc; poi nella Cartella del Progetto crea due Cartelle con Nome: DATI e DATI2; infine nel Modulo della Frm copia quanto segue:
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2.     Dim FSO As FileSystemObject
  3. '----------------------------------------
  4. Private Sub Form_Load()
  5.    
  6.     ProgBarXP1.min = 0
  7.     ProgBarXP1.max = 100
  8.     Set FSO = New FileSystemObject
  9.  
  10. End Sub
  11. '----------------------------------------
  12. Private Sub Command1_Click()
  13.    
  14.     Dim vrnSF As Variant
  15.     Dim vrnF1 As Variant
  16.     Dim dSorg As Folder
  17.     Dim btFolder As Long
  18.     Dim fileLenght As Long
  19.     Dim bytesScritti As Long
  20.  
  21. ' Progetto>Riferimenti...>Microsoft Scripting Runtime:
  22. ' Legge percorso e Nome della cartella principale:
  23.     Set dSorg = FSO.GetFolder(App.Path & "\DATI")
  24. ' Legge capacità in bytes della cartella principale:
  25.     btFolder = dSorg.Size
  26.     TxtDcopy.Text = Format(btFolder, "#,##0")
  27.    
  28.         If btFolder > 0 Then
  29.         ' Istanzia la subFolder:
  30.             Set vrnSF = dSorg.SubFolders
  31.            
  32.             For Each vrnF1 In vrnSF
  33.         ' Acquisisce lunghezza della SubFolder:
  34.                 fileLenght = vrnF1.Size
  35.         ' Quando destinazione è una directory di sola lettura, se si tenta
  36.         ' di copiare un file di sola lettura esistente in tale directory e
  37.         ' sovrascrittura è False verrà generato un errore:
  38.                 FSO.CopyFolder vrnF1, App.Path & "\DATI2\", True 'False
  39.         ' Evidenzia la SubFolder copiata:
  40.                 lblInfo.Caption = vrnF1
  41.                 lblInfo.Refresh
  42.                 ProgBarXP1.value = Percent(0, btFolder, bytesScritti + fileLenght)
  43.                 bytesScritti = bytesScritti + fileLenght
  44.                 TxtCopiati.Text = Format(bytesScritti, "#,##0")
  45.                 TxtPerc.Text = Format((bytesScritti / btFolder) * 100, "#,##0.00")
  46.                 'ProgBarXP1.Refresh
  47.             Next vrnF1
  48.         End If
  49. End Sub
  50. '----------------------------------------
  51. Function Percent(min As Long, max As Long, value As Long) As Long
  52.    
  53.         '100 : x = btFolder : bytesScritti
  54.         Percent = value * 100 \ max
  55.  
  56. End Function



Nella Cartella DATI si presuppone che esistano SubCartelle contenenti dei files da copiare (SubCartelle e files) nella Cartella DATI2.
Il codice l'ho testato e funziona.
Ciao.

PM Quote
Avatar
ProgrammatoreVBC++ (Normal User)
Newbie


Messaggi: 13
Iscritto: 12/12/2009

Segnala al moderatore
Postato alle 16:49
Lunedì, 21/12/2009
Testo quotato

Postato originariamente da Louis:

Ciao, abbiamo capito che sei in difficoltà, però in particolare non si capisce se non sei in grado di registrare l'OCX di cui trattasi, o perché non sai implementare il codice necessario per la PB.
Allora fermo restando quanto detto e dando per scontato che hai già registrato l'ocx e disegnato sulla Form la ProgressBar, poni sulla Frm una Lbl con Nome lblInfo e 3 Txt con Nome: TxtDcopy, TxtCopiati e TxtPerc; poi nella Cartella del Progetto crea due Cartelle con Nome: DATI e DATI2; infine nel Modulo della Frm copia quanto segue:
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2.     Dim FSO As FileSystemObject
  3. '----------------------------------------
  4. Private Sub Form_Load()
  5.    
  6.     ProgBarXP1.min = 0
  7.     ProgBarXP1.max = 100
  8.     Set FSO = New FileSystemObject
  9.  
  10. End Sub
  11. '----------------------------------------
  12. Private Sub Command1_Click()
  13.    
  14.     Dim vrnSF As Variant
  15.     Dim vrnF1 As Variant
  16.     Dim dSorg As Folder
  17.     Dim btFolder As Long
  18.     Dim fileLenght As Long
  19.     Dim bytesScritti As Long
  20.  
  21. ' Progetto>Riferimenti...>Microsoft Scripting Runtime:
  22. ' Legge percorso e Nome della cartella principale:
  23.     Set dSorg = FSO.GetFolder(App.Path & "\DATI")
  24. ' Legge capacità in bytes della cartella principale:
  25.     btFolder = dSorg.Size
  26.     TxtDcopy.Text = Format(btFolder, "#,##0")
  27.    
  28.         If btFolder > 0 Then
  29.         ' Istanzia la subFolder:
  30.             Set vrnSF = dSorg.SubFolders
  31.            
  32.             For Each vrnF1 In vrnSF
  33.         ' Acquisisce lunghezza della SubFolder:
  34.                 fileLenght = vrnF1.Size
  35.         ' Quando destinazione è una directory di sola lettura, se si tenta
  36.         ' di copiare un file di sola lettura esistente in tale directory e
  37.         ' sovrascrittura è False verrà generato un errore:
  38.                 FSO.CopyFolder vrnF1, App.Path & "\DATI2\", True 'False
  39.         ' Evidenzia la SubFolder copiata:
  40.                 lblInfo.Caption = vrnF1
  41.                 lblInfo.Refresh
  42.                 ProgBarXP1.value = Percent(0, btFolder, bytesScritti + fileLenght)
  43.                 bytesScritti = bytesScritti + fileLenght
  44.                 TxtCopiati.Text = Format(bytesScritti, "#,##0")
  45.                 TxtPerc.Text = Format((bytesScritti / btFolder) * 100, "#,##0.00")
  46.                 'ProgBarXP1.Refresh
  47.             Next vrnF1
  48.         End If
  49. End Sub
  50. '----------------------------------------
  51. Function Percent(min As Long, max As Long, value As Long) As Long
  52.    
  53.         '100 : x = btFolder : bytesScritti
  54.         Percent = value * 100 \ max
  55.  
  56. End Function



Nella Cartella DATI si presuppone che esistano SubCartelle contenenti dei files da copiare (SubCartelle e files) nella Cartella DATI2.
Il codice l'ho testato e funziona.
Ciao.  




Scusami , grazie .. mi potresti dare il progetto   ?  

PM Quote
Avatar
Louis (Normal User)
Pro


Messaggi: 150
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 9:46
Martedì, 22/12/2009
Non capisco ... il progetto é tutto lì; devi posizionare l'ocx sulla Form disegnando la PB, poi posizionare i controlli che ti ho indicato ed infine attivare il riferimento nel seguente modo: Progetto>Riferimenti...>Microsoft Scripting Runtime
Non c'é altro.
Bhe se incontri difficoltà facci sapere.
In particolare il codice e la procedura per ProgBarXP é uguale a quella richiesta per il controllo standard di VB6, salvo alcune proprietà in più o in meno.
Per attivare l'esempio postato crea nella cartella ove risiede il progetto due Cartelle: DATI e DATI2; poi nella nuova cartella DATI inserisci delle nuove cartelle contenenti dei files, cartelle e files che saranno copiati nella cartella DATI2, operazione che attiverà la pb.
Compresa la logica del progetto ti sarà facile modificare l'esempio per le tue necessità.
:k:  

PM Quote