PROGRESSBAR E REGISTRO DE OCX, DLL, E MUITO MAIS

FILMAN 04/06/2010 19:09:22
#343917
Bom estou aqui novamente para pedir para vocês ajuda sobre como proceder com um ProgressBar.


Gostaria de fazer com que meu progressbar carregasse conforme for registrando, copiando, criando pastas



Ex.
Tenho que criar em sequência:
Pastas
Copiar os arquivos para elas
e Registrar os arquivos.

Mas o prograssbar tem que entender que esta criando, copiando e registrado.

e assim vai carregando conforme o tempo dessa sequência.


Alguem pode me ajudar


obrigado
TECLA 04/06/2010 19:54:53
#343924
Creio que será MUITO mais fácil você determinar o percentual via código referente à cada operação.

Exemplo:
  • Pastas = 0 a 20%
  • Copiar os arquivos para elas = 21 a 60%
  • Registrar os arquivos = 61 a 100%

    Assim fica MUI fácil escrever uma rotina que controle o PROGRESS com base no percentual acima.
    Em tese, o usuário terá a
  • [Ô]leve[Ô] impressão de que o PROGRESSBAR está gerenciando as operações.
    Bom, é uma saída possível.
    JESUEL.OLIVEIRA 04/06/2010 22:07:08
    #343940
    Resposta escolhida
    Amigo, nunca usei o código abaixo, tirei de um arquivo ULTRA SUPER MEGA SECRETO huahauhauahuahu

    Vê se consegue FUNFAR ai..... Eu particulamente nunca consegui
      
    Você deverá copiar byte a byte e a cada byte copiado você atualiza a ProgressBar. Abaixo segue uma função que realiza exatamente isto:

    Function CopyFile(Src As String, Dst As String, MeuProgressBar As ProgressBar) As Single
    Static Buf$
    Dim BTest!, FSize!
    Dim Chunk%, F1%, F2%
    Const BUFSIZE = 1024
    If Len(Dir(Dst)) Then
    Response = MsgBox(Dst + Chr(10) + Chr(10) + [Ô]File already exists. Do you want to overwrite it?[Ô], vbYesNo + vbQuestion)
    If Response = vbNo Then
    Exit Function
    Else
    Kill Dst
    End If
    End If
    On Error GoTo FileCopyError
    F1 = FreeFile
    Open Src For Binary As F1
    F2 = FreeFile
    Open Dst For Binary As F2
    FSize = LOF(F1)
    BTest = FSize - LOF(F2)
    Do
    If BTest < BUFSIZE Then
    Chunk = BTest
    Else
    Chunk = BUFSIZE
    End If
    Buf = String(Chunk, [Ô] [Ô])
    Get F1, , Buf
    Put F2, , Buf
    BTest = FSize - LOF(F2)
    MeuProgressBar.Value = (100 - Int(100 * BTest / FSize))
    Loop Until BTest = 0
    Close F1
    Close F2
    CopyFile = FSize
    MeuProgressBar.Value = 0
    Exit Function
    FileCopyError:
    MsgBox [Ô]Copy Error!, Please try again...[Ô] [ô]display message box with error
    Close F1
    Close F2
    Exit Function
    End Function

    Para chamar esta função você deverá passar como parâmetros o arquivo de origem, o arquivo de destino e o nome do ProgressBar, como no exemplo abaixo:

    If CopyFile(txtArquivoOrigem, txtArquivoDestino, ProgressBar1) > 0 Then
    MsgBox [Ô]Arquivo copiado com sucesso![Ô]
    End If
    FILMAN 05/06/2010 11:47:45
    #343966
    Bom não funcionou aqui ,mas deixe-me explicar melhor gostaria de um progressbar estilo o do windows quando você copia
    algum arquivo.

    vai carregando progress e mostrando o nome dos arquivos que esta sendo copiado!



    Sera que tem como



    Obrigado pela ajuda...
    FILMAN 09/06/2010 13:23:30
    #344369
    Mais alguem pode me ajudar quanto a esse problema?








    Obrigado
    ARCADYUM 09/06/2010 17:21:32
    #344407
    Filman,
    Você já possui as rotinas que irão copiar, colar e registrar as DLL[ô]s?
    FILMAN 09/06/2010 17:29:15
    #344410
    sim









    FILMAN 10/06/2010 13:28:06
    #344486
    Mais alguem pode me ajudar




    obrigado
    Conto com a ajuda de vocês



    ARCADYUM 11/06/2010 01:04:24
    #344553
    Me passa seu e-mail que envio um projeto para você testar.
    FILMAN 11/06/2010 13:32:57
    #344613
    pcentro@pastorinho.com.br






    Obrigado
    FILMAN 12/06/2010 15:36:24
    #344689
    Mais alguem??????




    Obrigado
    Tópico encerrado , respostas não são mais permitidas