Simbolos raros al escribir en un TXT

Iniciado por FaiF (A¥åHøRå), 25 Mayo 2008, 17:08 PM

0 Miembros y 1 Visitante están viendo este tema.

FaiF (A¥åHøRå)

Cita de: naderST en 25 Mayo 2008, 18:35 PM
Mira yo probe asi y me funciono, prueba abriendo el archivo con otro modo como OutPut

Al ponerlo sustituir Print por Put ya no me aparecen esos simbolos extraños. Gracias

CitarQuizás si posteas el code completo tal y como lo tienes, nos des otra perspectiva.
Es todo un jaleo porque de tantas pruebas que he hecho esta ilegible el código. Lo que hace es buscar unas cadenas de texto en un archivo y guardarlas en otro:

Código (vb) [Seleccionar]
Dim hfile%
Dim amis1 As String
hfile = FreeFile
Open App.Path & "\bamigos.htm" For Input As #hfile
amis1 = Input(LOF(hfile), #hfile)
Close hfile

posnamigos = InStr(1, amis1, "1-5 de ", vbTextCompare)
namigos = Replace(Replace(Mid(amis1, (posnamigos + 7), 3), ">", ""), " ", "")

'NÚMERO DE AMIGOS EN TOTAL EN namigos

Dim npaginas As Integer
npaginas = namigos / 5
Debug.Print npaginas

Dim posamigo1 As String, posamigos2 As String, posamigo3 As String, posamigo4 As String, posamigo5 As String
Dim userid1 As String, userid2 As String, userid3 As String, userid4 As String, userid5 As String
Dim nombre1 As String, nombre2 As String, nombre3 As String, nombre4 As String, nombre5 As String

posamigo1 = InStr(1, amis1, "user_id", vbTextCompare)
userid1 = Mid(amis1, (posamigo1 + 8), 8)
nombre1 = Replace(Mid(amis1, (posamigo1 + 8 + 8 + 18), 15), ">", "")

posamigo2 = InStr((posamigo1 + 8), amis1, "user_id=", vbTextCompare)
posamigo2 = InStr((posamigo2 + 8), amis1, "user_id=", vbTextCompare)
userid2 = Replace(Replace(Mid(amis1, (posamigo2 + 8), 8), ">", ""), " ", "")
nombre2 = Replace(Mid(amis1, (posamigo2 + 8 + 8 + 18), 15), ">", "")

posamigo3 = InStr((posamigo2 + 8), amis1, "user_id=", vbTextCompare)
posamigo3 = InStr((posamigo3 + 8), amis1, "user_id=", vbTextCompare)
userid3 = Replace(Replace(Mid(amis1, (posamigo3 + 8), 8), ">", ""), " ", "")
nombre3 = Replace(Mid(amis1, (posamigo3 + 8 + 8 + 18), 15), ">", "")

posamigo4 = InStr((posamigo3 + 8), amis1, "user_id=", vbTextCompare)
posamigo4 = InStr((posamigo4 + 8), amis1, "user_id=", vbTextCompare)
userid4 = Replace(Replace(Mid(amis1, (posamigo4 + 8), 8), ">", ""), " ", "")
nombre4 = Replace(Mid(amis1, (posamigo4 + 8 + 8 + 18), 15), ">", "")

posamigo5 = InStr((posamigo4 + 8), amis1, "user_id=", vbTextCompare)
posamigo5 = InStr((posamigo5 + 8), amis1, "user_id=", vbTextCompare)
userid5 = Replace(Replace(Mid(amis1, (posamigo5 + 8), 8), ">", ""), " ", "")
nombre5 = Replace(Mid(amis1, (posamigo5 + 8 + 8 + 18), 15), ">", "")

Dim archivo3 As Long
archivo3 = FreeFile
Open App.Path & "\amigos.txt" For Binary As #archivo3
Put archivo3, , userid1 & "|" & nombre1
Put archivo3, , vbCrLf
Put archivo3, , userid2 & "|" & nombre2
Put archivo3, , vbCrLf
Put archivo3, , userid3 & "|" & nombre3
Put archivo3, , vbCrLf
Put archivo3, , userid4 & "|" & nombre4
Put archivo3, , vbCrLf
Put archivo3, , userid5 & "|" & nombre5
Put archivo3, , vbCrLf
Close #archivo3



salu2  ;)

Sai-To

este problema es raro y no se sabe porque ocurre aveces :-\ a skullmaster123 tambien le pasa lo mismo y no ha logrado todavia arreglarlo!  :-\ pues segun el

naderST

Cita de: A¥åHøRå en 25 Mayo 2008, 19:29 PM
Cita de: naderST en 25 Mayo 2008, 18:35 PM
Mira yo probe asi y me funciono, prueba abriendo el archivo con otro modo como OutPut

Al ponerlo sustituir Print por Put ya no me aparecen esos simbolos extraños. Gracias

CitarQuizás si posteas el code completo tal y como lo tienes, nos des otra perspectiva.
Es todo un jaleo porque de tantas pruebas que he hecho esta ilegible el código. Lo que hace es buscar unas cadenas de texto en un archivo y guardarlas en otro:

Código (vb) [Seleccionar]
Dim hfile%
Dim amis1 As String
hfile = FreeFile
Open App.Path & "\bamigos.htm" For Input As #hfile
amis1 = Input(LOF(hfile), #hfile)
Close hfile

posnamigos = InStr(1, amis1, "1-5 de ", vbTextCompare)
namigos = Replace(Replace(Mid(amis1, (posnamigos + 7), 3), ">", ""), " ", "")

'NÚMERO DE AMIGOS EN TOTAL EN namigos

Dim npaginas As Integer
npaginas = namigos / 5
Debug.Print npaginas

Dim posamigo1 As String, posamigos2 As String, posamigo3 As String, posamigo4 As String, posamigo5 As String
Dim userid1 As String, userid2 As String, userid3 As String, userid4 As String, userid5 As String
Dim nombre1 As String, nombre2 As String, nombre3 As String, nombre4 As String, nombre5 As String

posamigo1 = InStr(1, amis1, "user_id", vbTextCompare)
userid1 = Mid(amis1, (posamigo1 + 8), 8)
nombre1 = Replace(Mid(amis1, (posamigo1 + 8 + 8 + 18), 15), ">", "")

posamigo2 = InStr((posamigo1 + 8), amis1, "user_id=", vbTextCompare)
posamigo2 = InStr((posamigo2 + 8), amis1, "user_id=", vbTextCompare)
userid2 = Replace(Replace(Mid(amis1, (posamigo2 + 8), 8), ">", ""), " ", "")
nombre2 = Replace(Mid(amis1, (posamigo2 + 8 + 8 + 18), 15), ">", "")

posamigo3 = InStr((posamigo2 + 8), amis1, "user_id=", vbTextCompare)
posamigo3 = InStr((posamigo3 + 8), amis1, "user_id=", vbTextCompare)
userid3 = Replace(Replace(Mid(amis1, (posamigo3 + 8), 8), ">", ""), " ", "")
nombre3 = Replace(Mid(amis1, (posamigo3 + 8 + 8 + 18), 15), ">", "")

posamigo4 = InStr((posamigo3 + 8), amis1, "user_id=", vbTextCompare)
posamigo4 = InStr((posamigo4 + 8), amis1, "user_id=", vbTextCompare)
userid4 = Replace(Replace(Mid(amis1, (posamigo4 + 8), 8), ">", ""), " ", "")
nombre4 = Replace(Mid(amis1, (posamigo4 + 8 + 8 + 18), 15), ">", "")

posamigo5 = InStr((posamigo4 + 8), amis1, "user_id=", vbTextCompare)
posamigo5 = InStr((posamigo5 + 8), amis1, "user_id=", vbTextCompare)
userid5 = Replace(Replace(Mid(amis1, (posamigo5 + 8), 8), ">", ""), " ", "")
nombre5 = Replace(Mid(amis1, (posamigo5 + 8 + 8 + 18), 15), ">", "")

Dim archivo3 As Long
archivo3 = FreeFile
Open App.Path & "\amigos.txt" For Binary As #archivo3
Put archivo3, , userid1 & "|" & nombre1
Put archivo3, , vbCrLf
Put archivo3, , userid2 & "|" & nombre2
Put archivo3, , vbCrLf
Put archivo3, , userid3 & "|" & nombre3
Put archivo3, , vbCrLf
Put archivo3, , userid4 & "|" & nombre4
Put archivo3, , vbCrLf
Put archivo3, , userid5 & "|" & nombre5
Put archivo3, , vbCrLf
Close #archivo3



salu2  ;)

Entonces resolvistes cambiando el metodo por OutPut y usando Print?