Programación General > Visual Basic 6.0 e inferiores

 Problemas Para Guardar Y Abrir Archivos

(1/1)

karen81:
:) Hace poco me ayudaron en este foro con las rutinas para guardar y abrir archivos de texto, funcionan pero el problema es que si yo hago mi archivo de texto manualmente por ejemplo guardo la palabra "prueba" en bloc de notas y la abro con la rutina que me dieron todo perfecto, pero si por ejemplo guardo con visual basic  con la rutina que me dieron lo que hay en el textbox en un archivo, cuando lo vuelvo a abrir con visual basic se le agregan dos caracteres (no imprimibles)(al correrlo paso a paso se ven como dos cuadros), como envio los datos por el puerto serial estos caracteres me afectan, pongo aqui las rutinas que me dieron a ver si me ayudan a encontrar porque ocurre esto


--- Código: Text ---Option ExplicitPublic file As StringPublic fichero As IntegerPublic tamano As LongPublic fichero1 As StringPublic Texto As StringPublic num As IntegerPublic guardado As StringPrivate Sub Cmdguardar_Click()guardado = Text1.TextCommonDialog1.CancelError = False   CommonDialog1.DialogTitle = "guardar archivo como"   CommonDialog1.Filter = "Archivos de texto (*.txt) |*.txt|"   CommonDialog1.InitDir = Texto   CommonDialog1.FileName = ""   CommonDialog1.ShowSave      fichero1 = CommonDialog1.FileName   num = FreeFile   If Trim(fichero1) <> "" Then       Open fichero1 For Output As #num           Print #num, guardado       Close #num       MsgBox "El archivo ha sido guardado"   End IfEnd Sub Private Sub Cmdabrir_Click()'si el usuario presiona el boton cancelar y no abre ningun archivoOn Error GoTo Finalizar'Establece los filtrosCommonDialog1.Filter = "Archivos de texto (*.txt) |*.txt|"'Presenta el cuadro de dialogo AbrirCommonDialog1.ShowOpen'abre el fichero para leerfichero = FreeFileOpen CommonDialog1.FileName For Input Access Read As #fichero' Leer la información del ficherofile = Input(LOF(fichero), fichero)Text1.Text = file'file = Text4.Texttamano = Len(file)Finalizar:End Sub  espero me entiendan  :unsure: , ojala puedan ayudarme  :( , gracias por su tiempo  :)

tiquinho:
Hola karen81:

esos dos cuadros que se ven son posiblemente los caracteres Cr y Lf (retorno de carro y avance de linea) que valen para indicar el final de una línea.
Si tienes el texto en un textbox con la propiedad Multiline a true, te los estará guardando si le das a Intro antes de quitarle el foco. De echo, si abres ese archivo que guardas con el bloc de notas no te aparecerán los cuadros, pero tendrás una línea más en blanco.

La solución a esto depende de lo que quieras hacer. Si al recogerlo del puerto serie quieres mostrar también los cambios de línea, no te preocupes, porque te los enviará como dos caracteres más.

Si no quieres que te los envíe, tendrás que quitarlos.

Espero que te valga de algo esto, si no te soluciona vuelve a preguntar. ;)

Un saludo

cpmario:
El problema que mencionas se debe a que al usar la instrucción

--- Código: Text ---Print #num, guardado Siempre se agrega al final el CrLF para evitar que esto suceda debes de colocar un punto y coma al final de la línea, por ejemplo:

--- Código: Text ---Print #num, guardado; 
 :comp:

karen81:
cpmario muchas gracias, esa era la solucion :smartass:
ya no aparecen los caracteres y mi sistema trabaja perfectamente :gracias:  
 :comp:

Navegación

[0] Índice de Mensajes

Ir a la versión completa