Postei na sexta feira uma duvida sobre como abrir e criar uma copia com alterações de um texto como este:
codigo descrição preço data
09090400800000000000000001PAO FRANCES 0000015 09092004
09090400800000000000000001PAO DOCE 0000050 07092004
Percebi que poucas pessoas sabem trabalhar bem com texto....
Mas vejam como resolvi este caso (com a ajuda de um amigo)
Private Sub CmdProcessar_Click()
'Ismael Soares (CPD RICOY)
Dim F, F1
F = FreeFile 'Numero de arquivo livre (original)
Dim Linha As String
Open "c:6.sdf" For Input As #F
Do While Not EOF(F)
Line Input #F, Linha
Dim NLinha As Integer
Dim PrecoNormal As String
Dim Data As String
Dim PrecoOferta As String
Dim Hoje As Date
Hoje = Date
Data = CDate(Format(Mid(Linha, 349, 6), "00/00/00"))
PrecoNormal = Mid(Linha, 71, 11)
PrecoOferta = Mid(Linha, 298, 11)
If Data >= Hoje Then
Linha = Replace(Linha, PrecoNormal, PrecoOferta) ' Troca o Preço normal por Oferta
Else
Linha = Replace(Linha, PrecoOferta, "00000000000") 'Zera Preço oferta vencido
End If
F1 = FreeFile 'numero de arquivo livre (copia)
Open "c:6.txt" For Append As #F1
Print #F1, Linha 'Copia linha do aqruivo original já com a alteração
Close #F1 'fecha copia
DoEvents 'Controle pro OS
NLinha = NLinha + 1
LblRegistros.Caption = "" & NLinha & " Registros Lidos"
ProgressLinha.Value = ProgressLinha + 1
Loop
Close #F 'fecha o original
ProgressLinha.Max = NLinha
MsgBox "Arquivo 6.TXT Gerado com Sucesso"
End
End Sub
Até a proxima galera!!!