Leer un TXT y mostrarlo un una pantallita

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
ltcarpin
Mensajes: 6
Registrado: 30 May 2011, 06:24

Leer un TXT y mostrarlo un una pantallita

Mensaje por ltcarpin »

Buenas a tod@as,

Despues de estar unos meses con el AutoIT instalado, por fin me he decidido a empezar con el, haber si empezamos con buen pie, jejeje.

Si me podeis dar cuatro nociones basicas de como empezar para lo que quiero os lo agradecería un montón. Lo que quiero hacer es leer un txt, que puede contener unos 10-12 registros y mostrarles en una ventanita.

He empezado creando la ventanita, definiendo el fichero txt, soy capaz de crear el bucle para leer el fichero, y mediante un msgbox veo que efectivamente va pasando de un registro a otro, hasta llegar al fin de fichero.

Lo que no se como hacer es que los datos que leo me los muestre en esa ventanita.

Un saludo a tod@s.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Leer un TXT y mostrarlo un una pantallita

Mensaje por arkcrew »

Si lo que has creado es un GUI, puedes poner un campo de texto o un label (input, label..) y ponerle los datos que lees con GUICTRLSETDATA()

Tienes más información en la ayuda ;)

Saludos!
ltcarpin
Mensajes: 6
Registrado: 30 May 2011, 06:24

Re: Leer un TXT y mostrarlo un una pantallita

Mensaje por ltcarpin »

Genial, una cosita mas que sabemos ya... jejeje

He hecho un GUI pequeño situado en la parte inferior derecha de la pantalla, justo por encima de la fecha, ya que la vantanita no puede ser muy grande, el tema es tener siempre en pantalla (always on top) esta ventana, esto he visto que se puede hacer con el WinSetOnTop, así que otra cosa menos que me falta.

Ahora estoy haciendo lo siguiente, leo del txt los registros que tengo que "traspasar" a el GUI, voy a crear un combo desplegable y en el voy a meter todos los item que tienen que aparecer, tantos como registros tenga el txt. Luego con pinchar en el desplegable aparece toda la informacion.

Ya puestos, otra preguntita, se pueden poner las barras de desplazamiento, en un GUI, las de izquierda-derecha y arriba-abajo?

Mucahs gracias a tod@s.
Guilleqp
Mensajes: 6
Registrado: 03 Feb 2013, 14:01

Re: Leer un TXT y mostrarlo un una pantallita

Mensaje por Guilleqp »

Yo he trabajado bastante con archivos .txt y la verdad es que para lo que creo que quieres hacer lo mejor es usar éstas funciones:

FileRead() ->Para leer un archivo completo y que te lo guarde en la variable que quieras.
FileReadLine() -> Lee una linea determinada dentro de un archivo de texto y sólo guarda esa información.

FileOpen() -> Para tener abierto un archivo y después escribir o leer en él. Es importante saber las distintas opciones de esta variable, FileOpen("el directorio de tu txt", "funcion que desees") En la función que quieras introducir puedes poner un 0 si es para leer el archivo, un 1 si es para escribir en el archivo al final de donde está escrito o un 2 para borrar lo que tenga dentro el txt y escribir algo nuevo.
FileWrite() -> Escribe el texto o las variables que tú quieras dentro de el .txt que elijas.
_FileWriteToLine() -> Escribe el texto que tú quieras en una línea determinada del archivo de texto, la primera línea seria la 1 y la última la -1.
FileClose() -> Para cerrar tu archivo y si quieres abrir otro.

Imagino que lo que tú tienes es una ventana con distintos inputs para escribir la información. Te dejo un pequeño ejemplo con las funciones que te digo:

Código: Seleccionar todo

;~ lo primero de todo debes tener un archivo de texto en blanco y ponerlo por ejemplo en el escritorio
;~ después copia la dirección en la que se encuentra y cópialo en los dos sitios que se pide en el código

GUICreate("Ejemplo",  100, 100, 80, 164) ;aqui creamos el form con un input de texto y dos botones uno para guardar el texto y otro para leer
$boton1 = GUICtrlCreateButton("Ok", 10, 75, 30, 17)
$input1 = GUICtrlCreateInput("", 20, 20, 70, 17)
$boton2 = GUICtrlCreateButton("Leer", 40, 75, 50, 17)

GUISetState(@SW_SHOW)
While 1
	$nMsg = GUIGetMsg()

	Select
	Case $nMsg = $boton1 ; si queremos gusrdar el texto escxrito en nuestro input en el archivo de texto hacemos lo siguiente
	   
	   $info = GUICtrlRead($input1) ; leemos el input
	   
	   $archivo = FileOpen( Direccion de tu archivo de texto, 2) ;abrimos el archivo
	   FileWrite($archivo, $info) ;escribimos en el archivo el texto del input
	   FileClose($archivo) ;cerramos el archivo
	   
	   
			GUIDelete()
			ExitLoop
			
    Case $nMsg = $boton2 ; si queremos leer lo que pone dentro del archivo hacemos lo siguiente
		
		$leer = FileRead( Direccion de tu archivo de texto) ;leer todo lo que hay dentro y guardarlo en $leer
			
		MsgBox(0,"Info",$leer) ;mostrar en un msgbox el texto del archivo
   
			
	EndSelect
WEnd

;~ estas son las funciones más básicas para leer y escribir en archivos de texto
Espero haberte ayudado.
Si necesitas cualquier cosa me preguntas, saludos :smt039
Responder