INSERIR FINAL EM ARQUIVO TXT
bom dia
estou precisando de uma função que ao ler um arquivo txt e, se no final do arquivo não tiver o numero [Ô]99[Ô] ele insere e quando este existir não inserir
agradeço a colaboração
at
luiz]
estou precisando de uma função que ao ler um arquivo txt e, se no final do arquivo não tiver o numero [Ô]99[Ô] ele insere e quando este existir não inserir
agradeço a colaboração
at
luiz]
Em qual versão VB6 ou .NET ?
está em VB6
Em NET.
Public Shared Function ReadLastLine(ByVal path As String) As String
Dim retval As String = [Ô][Ô]
Dim fs As FileStream = New FileStream(path, FileMode.Open)
Dim pos As Long = fs.Length - 2
While pos > 0
fs.Seek(pos, SeekOrigin.Begin)
Dim ts As StreamReader = New StreamReader(fs)
retval = ts.ReadToEnd
Dim eol As Integer = retval.IndexOf([Ô][Ô] & Microsoft.VisualBasic.Chr(10) & [Ô][Ô])
If eol >= 0 Then
fs.Close()
Return retval.Substring(eol + 1)
End If
System.Threading.Interlocked.Decrement(pos)
End While
fs.Close()
Return retval
End Function
Public Shared Function ReadLastLine(ByVal path As String) As String
Dim retval As String = [Ô][Ô]
Dim fs As FileStream = New FileStream(path, FileMode.Open)
Dim pos As Long = fs.Length - 2
While pos > 0
fs.Seek(pos, SeekOrigin.Begin)
Dim ts As StreamReader = New StreamReader(fs)
retval = ts.ReadToEnd
Dim eol As Integer = retval.IndexOf([Ô][Ô] & Microsoft.VisualBasic.Chr(10) & [Ô][Ô])
If eol >= 0 Then
fs.Close()
Return retval.Substring(eol + 1)
End If
System.Threading.Interlocked.Decrement(pos)
End While
fs.Close()
Return retval
End Function
Poxa ALVALE ta de sacanagem, rs.... pergunta se é vb6 ou vb.net, e ele responde que é vb6, e vc posta codigo .net......rsrsrsrs é brincadeira
bom o código seria este
bom o código seria este
Private Sub Command1_Click()
Dim PathName As String
Dim InLine As String
Dim TempFile As String
Dim F As Integer
Dim F2 As Integer
PathName = [Ô]c: este.txt[Ô]
TempFile = App.Path & Format(Time, [Ô]hhnnss[Ô]) & [Ô].TMP[Ô][txt-color=#007100] [ô] arquivo temporário não altere nada nesta linha[/txt-color]
F = FreeFile
Open PathName For Input As #F
F2 = FreeFile
Open TempFile For Output As #F2
Do While Not EOF(F)
Line Input #F, InLine
If EOF(F) = True Then
If InStr(1, [Ô]99[Ô], InLine) = 0 Then
Print #F2, InLine & [Ô]99[Ô]
End If
Else
Print #F2, InLine
End If
Loop
Close #F
Close #F2
[txt-color=#007100][ô]
[ô] Troca o arquivo antigo pelo novo
[ô][/txt-color]
Kill PathName
Name TempFile As PathName
End Sub
Malz ia posta nos 2 mas a segunda parte não colou....rsrsrsrs
Não tem sentido responder o que não é perguntado.
Se o cara tem dúvida em VB6, para que responder em net????
Além do mais, a duvida esta lançada no forum de VB6...
O SER HUMANO TEM A MANIA DE COMPLICAR...
Se o cara tem dúvida em VB6, para que responder em net????
Além do mais, a duvida esta lançada no forum de VB6...
O SER HUMANO TEM A MANIA DE COMPLICAR...
agradeço ao ALEVALE pela boa vontade, mas o exemplo do treze deu QUASE certo. é que quando eu chamo o arquivo ele coloca o final 99, mas quando chamo novamente o arquivo ele tira o final 99 e volta ao que era antes, e assim sucessivamente....
luiz
luiz
Não foi maldade do ALVALE não ele postou o que ele tinha, eu só brinquei.
quanto a não dar certo posta como ficou seu código
quanto a não dar certo posta como ficou seu código
private sub command1_click()
Dim PathName As String
Dim InLine As String
Dim TempFile As String
Dim F As Integer
Dim F2 As Integer
PathName = Anexa.TxtOrigem
TempFile = App.Path & Format(Time, [Ô]hhMMss[Ô]) & [Ô].TMP[Ô] [ô] arquivo temporário não altere nada nesta linha
F = FreeFile
Open PathName For Input As #F
F2 = FreeFile
Open TempFile For Output As #F2
Do While Not EOF(F)
Line Input #F, InLine
If EOF(F) = True Then
If InStr(1, [Ô]99[Ô], InLine) = 0 Then
Print #F2, InLine & vbCrLf & [Ô]99[Ô]
End If
Else
Print #F2, InLine
End If
Loop
Close #F
Close #F2
[ô]
[ô] Troca o arquivo antigo pelo novo
[ô]
Kill PathName
Name TempFile As PathName
end sub
só fiz uma pequena mudança no print para que o 99 ficasse abaixo da linha
luiz
Dim PathName As String
Dim InLine As String
Dim TempFile As String
Dim F As Integer
Dim F2 As Integer
PathName = Anexa.TxtOrigem
TempFile = App.Path & Format(Time, [Ô]hhMMss[Ô]) & [Ô].TMP[Ô] [ô] arquivo temporário não altere nada nesta linha
F = FreeFile
Open PathName For Input As #F
F2 = FreeFile
Open TempFile For Output As #F2
Do While Not EOF(F)
Line Input #F, InLine
If EOF(F) = True Then
If InStr(1, [Ô]99[Ô], InLine) = 0 Then
Print #F2, InLine & vbCrLf & [Ô]99[Ô]
End If
Else
Print #F2, InLine
End If
Loop
Close #F
Close #F2
[ô]
[ô] Troca o arquivo antigo pelo novo
[ô]
Kill PathName
Name TempFile As PathName
end sub
só fiz uma pequena mudança no print para que o 99 ficasse abaixo da linha
luiz
Faça seu login para responder