[VB6]ERRO OVERFLOW 6
bom a questao é, consigo listar perfeitamente, mas quando tentao por alem de listar ele criar o CRC do arquivo, quando tem uns 20 na pasta ele da erro de overflow,
se eu desativo a parte responsavel do CRC,[txt-color=#e80000] [Ô] & [Ô]|[Ô]; Hex(mCRC.CRC(LstArq.List(i)))[Ô][/txt-color], ele lista todos arquivos sem problemas.
Citação:Option Explicit
Public fso As New Scripting.FileSystemObject
Dim i As Currency
Dim mCRC As New CRC
Private Sub cmdListar_Click()
LstArq.Clear
Localizar_Arquivos fso.GetFolder(txtDir.Text), LstArq
End Sub
Sub Localizar_Arquivos(Dir As Folder, lstBX As ListBox)
On Error GoTo Tratar:
Dim arquivo As File, SubDir As Folder
For Each arquivo In Dir.Files
DoEvents
lstBX.AddItem arquivo.Path
Next
For Each SubDir In Dir.SubFolders
DoEvents
Localizar_Arquivos SubDir, lstBX
Next
Exit Sub
Tratar:
MsgBox [Ô]Erro número : [Ô] & Err.Number & vbNewLine _
& [Ô]Descrição do erro : [Ô] & Err.Description
End Sub
Private Sub cmdSalvar_Click()
Open txtDir.Text & [Ô]teste.txt[Ô] For Output As #1 [ô]for output apagará todos os dados anteriormente gravados em teste.txt
For i = 0 To LstArq.ListCount - 1
Print #1, LstArq.List(i) & [Ô]|[Ô]; Hex(mCRC.CRC(LstArq.List(i)))
Next i
Close #1
MsgBox [Ô]Lista Criada[Ô], vbInformation, [Ô]Aviso[Ô]
End Sub
Private Sub Form_Load()
txtDir.Text = App.Path & [Ô]\[Ô]
End Sub
Não tenho certeza, mas tente trocar o tipo de Currency para Long:
Dim i As Currency
[ô] Substitua por :
Dim i As Long
Só sugestão
Print #1, LstArq.List(i) & [Ô]|[Ô] & Hex(mCRC.CRC(LstArq.List(i)))
to usando no projeto, 1 textbox, 1 listbox, 2 command, listar e salvar.
@offtopic qual a tag do codigo colorido?
Citação::
Não entendi porque esse i é currency, e não integer ou long, currency é pata tipo moeda
eu tentei com currency pq aceita moeda, no caso maior valor, mas mesmo em integer ou long da erro =/
Descubra se é a [Ô]HEX[Ô] ou se é esse teu [Ô]MCRC[Ô].
Citação::
tenta depurar, encontre qual função da o erro.
Descubra se é a [Ô]HEX[Ô] ou se é esse teu [Ô]MCRC[Ô].
é o hex o.O cmo faz?
Segundo, o que a função [Ô]CRC[Ô] retorna?
Bom... Se a função HEX é que esta gerando o erro, suponho que o parâmetro que tu ta passando pra ela está acima do limite de variável.
Se REALMENTE for a HEX que da erro, sugiro tu usar outra função ou fazer a conversão manualmente...