EDITANDO ARQUIVO.TXT ENORME...

USUARIO.EXCLUIDOS 18/04/2007 21:20:20
#212644
galera tipo, eu tenho um arquivo.txt com cerca de 300.000 palavras tipo assim


teste
palavra
café
pedra
dízimo


o que eu queria era uma ajuda para varrer o arquivo e tirar todos os acentos das palavras...


alguem pode me ajudar?
USUARIO.EXCLUIDOS 19/04/2007 01:03:55
#212660
Cara deve ter um exemplo mais prático, + criei isto agora p quebrar seu galho.

Lembre-se: Se não for arquivos de texto, para a função funcionar o arquivo não pode estar em uso.

Public Sub AtualizarArquivo(sFile As String)
Dim sFileContents As String, sString
Open sFile For Input As #1
Do While Not EOF(1)
Line Input #1, sFileContents
sString = sString & _
sFileContents & _
vbCrLf
Loop
Close
Open sFile For Output As #1
Print #1, RemoverAcentos(sString)
Close #1
sString = Empty
End Sub


Public Function RemoverAcentos(ByVal Texto As String)
On Error Resume Next
Dim vPos As Byte, i As Long
Const vComAcento = "ÀÁÂÃÄÅÇÈéÊËÃŒÍÎÏÒÓÔÕÖÙÚÛÃψáâãäÃÂ¥çèéêëìíîïòóÃÂ'õöùúûü"
Const vSemAcento = "AAAAAACEEEEIIIIOOOOOUUUUaaaaaaceeeeiiiiooooouuuu"
For i = 1 To Len(Texto)
vPos = InStr(1, vComAcento, Mid(Texto, i, 1))
If vPos > 0 Then
Mid(Texto, i, 1) = Mid(vSemAcento, vPos, 1)
End If
Next
RemoverAcentos = Texto
End Function


Private Sub Command1_Click()
Call AtualizarArquivo("C:\TEXTO.TXT")
End Sub


USUARIO.EXCLUIDOS 19/04/2007 01:05:56
#212661
FAÇA UM BACKUP DO ARQUIVO ANTES DE EXECUTAR A FUNÇÃO.
USUARIO.EXCLUIDOS 19/04/2007 11:04:40
#212710
Mantendo o mérito ao ponto para o JHENNYERE, eu faria a abertura do arquivo de uma forma que eu acho que fica um pouco mais rápida (precisa testar pra ter certeza):

Public Sub AtualizarArquivo(sFile As String)
Dim sString As String
Open sFile For Input As #1
sString = Input(LOF(1), 1)
Close

Open sFile For Output As #1
Print #1, RemoverAcentos(sString)
Close #1
End Sub



Qualquer dúvida poste...flw
Tópico encerrado , respostas não são mais permitidas