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å)

Hola,

Estoy creando un simple programa en VB.
El caso es que voy a grabar unos datos en un TXT pero no se porqué al grabarse me quedan unos símbolos extraños delante de cada línea... le he dado mil vueltas y no se por qué pasa.

El código que he escrito es este:

Código (vb) [Seleccionar]
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


Y el archivo resultante queda así:
Citar  59805153|hahshs sjsjs
  59636787|jsjs jsjsj
  59665553|jsjsjs kflfkf
  59705016|oekeoe jdkd
60005630|Jaime jidixkx

Además es rarísimo que en la última línea no pase.

¿Qué es lo que estoy haciendo mal?

salu2  ;)

Kizar

el problema esta en los userid1, intenta limpiarles con un trim o algo asi...

FaiF (A¥åHøRå)

He probado con los Trim y también he probado a solo guardar los "nombre*" y sigue ocurriendo lo mismo.

Por si sirve de algo todas las variables son strings:

Código (vb) [Seleccionar]
Dim userid1, userid2, userid3, userid4, userid5 As String
Dim nombre1, nombre2, nombre3, nombre4, nombre5 As String


salu2  ;)

cassiani

Todas las variables No son string, solo las que terminan en 5, las demás son variant.  :-\

He hay el detalle!!!

cobein

cΔssiΔnі me ganaste de mano! =]

Ejemplo practico

Private Sub Form_Load()
    Dim userid1, userid2, userid3, userid4, userid5 As String

    Debug.Print VarType(userid1), VarType(userid5)
End Sub
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

Kizar

ahi esta el tema, solo es string la ultima.
Dim userid1 As String, userid2 As String, userid3 As String, userid4 As String, userid5 As String

FaiF (A¥åHøRå)

Joder que error más tonto... pense que así se declaraban todas como string...  :¬¬

gracias!  ;)

FaiF (A¥åHøRå)

Lo de la declaracion de variables ya está arreglado... pero siguen saliendo los malditos cuadrados esos!!

naderST

Mira yo probe asi y me funciono, prueba abriendo el archivo con otro modo como OutPut


Option Explicit

Private Sub Form_Load()
Dim userid1 As String
Dim nombre1 As String
Dim archivo3 As Long

archivo3 = FreeFile
userid1 = "1"
nombre1 = "naderST"

Open "C:\amigos.txt" For Output As #archivo3
    Print #archivo3, userid1 & "|" & nombre1
Close #archivo3
End Sub

cassiani

#9
Cita de: A¥åHøRå en 25 Mayo 2008, 17:50 PM
Lo de la declaracion de variables ya está arreglado... pero siguen saliendo los malditos cuadrados esos!!

Yo lo probé de las dos formas, con la declaración mal echa y con lo contrario, obviamente con la mal elaborada salen los símbolos que dices, pero con las declaraciones como deben ser todo va perfecto, independientemente de si lo abres en modo binario o output o cualquier otro. Creo que hay alguna cosa que debes estar haciendo mal, porque sino no entiendo. Quizás si posteas el code completo tal y como lo tienes, nos des otra perspectiva.

Reitero: a mi me funciona perfecto!!!