Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Abrir automaticamente un txt

Estas en el tema de Abrir automaticamente un txt en el foro de Visual Basic clásico en Foros del Web. Bueno recien me solucionaron un problema y se lo agradezco ahora ya casi termino mi programa pero el problema que tengo es que genero un ...
  #1 (permalink)  
Antiguo 22/06/2010, 08:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Abrir automaticamente un txt

Bueno recien me solucionaron un problema y se lo agradezco ahora ya casi termino mi programa pero el problema que tengo es que genero un archivo de texto con esto

Código vb:
Ver original
  1. archivo = FreeFile
  2.         Open App.Path + "\Loggeo.txt" For Append As #archivo
  3.         Print #archivo, texto
  4.         Close #archivo

mi pregunta es.. hay forma de crear txt con distintos nombres?? al estilo archivo1,archivo2... y asi sucesivamente.. ya que con este comando me abre el archivo Loggeo.txt y se va hasta la ultima fila y agrega el texto, con lo que me mezcla los parrafos que yo tengo.. ademas quisiera saber si hay forma que le de a un boton guardar que me abra ese txt generado automaticamente

con un shell abro el que genero pero en determinada ruta.. y como ven el codigo que utilizo me genera el txt en la ruta en donde se encuentra el programa

espero me sepan ayudar.. no soy muy bueno en vb pero me estoy manejando :D
  #2 (permalink)  
Antiguo 22/06/2010, 10:41
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Abrir automaticamente un txt

Hola amigo, por lo que parece tienes algo entre manos que vas completando poco a poco, si aceptas un consejo primero ahora que parece que tienes mas o menos clara la entrada de datos, deberías centrarte en resumir para ti mismo lo que vas a necesitar y una vez analizado terminar de darle forma.

Te cuento, efectivamente hay muchas maneras de asignar un nombre al archivo que vas a grabar, una puede ser un TextBox, otra a traves de un CommonDialog, de modo autmático a partir de por ejemplo la fecha, etc. la imaginación creo que es tu único límite.

A lo que me refiero es que si lo que deseas es poder actualizar o cambiar un archivo de los txt que habrás creado, creo que deberías usar por ejemplo un FileList con el Path de App.Path y el filtro en *.txt

De este modo, verías en todo momento los archivos que tienes creados, podrías con un DobleClick acceder al archivo que quieras, pero, siempre hay un pero, ten en cuenta que al cargar este archivo hacia el Text Multiline, deberías ir quitándole los echo y los (') que le has puesto a fin de volver a ponérselos cuando lo grabes.

Las modos de acceso a un txt mas simples son el INPUT para abrirlo, el OUTPUT para grabarlo, machacando lo que pudiera contener i existe y el APPEND para añadir como bien sabes al final del mismo.

De este modo después de Grabar el archivo podrías volver a cargarlo, para efectuar un mantenimiento del mismo.

Podrías tener un Command de BORRAR para eliminar un archivo que ya no quieras, etc.

Lo que intento decirte es que si inicialmente intentas pensar en todas las ideas, que es lo que deberíamos hacer todos aunque yo muchas veces peco de lo mismo y voy pensando a medida que desarrollo el programa (después me arrepiento porque muchas veces tengo que andar lo andado).

Como se que estas empezando, aunque puede resultar un engorro pienso que todos necesitamos de este amigo al que le decimos, he pensado hacer esto así, ¿ que te parece ?, cuando tengas dudas aqui estamos, es mejor empezar con buen pie y poco a poco ya que si aprendemos bien desde el principio al final las cosas resultan mas simples de lo que parecen, piensa que VB nos da mucho trabajo hecho solamente tenemos que aprender a encajar el puzzle.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #3 (permalink)  
Antiguo 22/06/2010, 10:53
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: Abrir automaticamente un txt

Hola!!
Para lo del "archivo1,archivo2", es el mismo procedimiento pero agregandole el indice al nombre del archivo, ademas para que no se agreguen datos al final, abrelos con OUTPUT.

Para el Shell, pasale la ruta que quieras, con eso no hay problema, mira:

Código vb:
Ver original
  1. Public Indice as integer
  2.        
  3.         Dim TMP
  4.         archivo = FreeFile
  5.         Indice=Indice+1
  6.  
  7. 'CREAR EL ARCHIVO CON UN INDICE
  8.        Open App.Path + "\Loggeo - " & Indice & ".txt" For Output As #archivo
  9.             Print #archivo, texto
  10.         Close #archivo
  11.  
  12. 'ABRIR EL ARCHIVO CREADO EN APP.APTH
  13.        TMP=SHELL("notepad " & App.path & "\Loggeo - " & Indice & ".txt", vbnormalfocus)
  #4 (permalink)  
Antiguo 22/06/2010, 11:16
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Abrir automaticamente un txt

Muchas gracias a los 2.. erbuson te cuento que estoy haciendo este sencillo "programita" porque actualmente estoy haciendo PHP por lo que me veo obligado (a veces) de agregarle echo'' a muchas lineas y es mucha perdida de tiempo, por lo que decidi hacer esto como una ayuda :D yo hago como decis primero pienso una idea.. la hago y de la nada pufff digo pero podria hacerlo asi.. descarto la otra y empiezo de nuevo.. cuando termino esta digo "no, espera me parece mas practica la otra" y estoy mucho tiempo asi jaja pero bueno

en cuanto a vos lokoman muchas gracias.. pero si yo pongo muchas lineas en el textbox me crea un txt por cada linea y eso no es lo que quiero.. yo quiero que cada vez que haga click en aceptar me genere 1 solo txt con todas las lineas que puse en el textbox y al presionar nuevamente me genere otro con distinto nombre.. pero me diste una muy buena ayuda para editar el codigo y ver que sale..

Agradezco a los dos por su ayuda

Etiquetas: automaticamente, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:44.