Páginas

miércoles, 6 de julio de 2011

Gambas2: Añadiendo nuevas funciones al ejemplo de TextEdit File.Save y File.Load


Blog de Notas
TextEdit Gambas
Añadir Guardar y Abrir Archivo
Ordenes: file.save y file.load



Hola amigos, hoy voy a comentar como mejorar un ejemplo (el TextEdit) que tiene el IDE de gambas2.
La mejora es simple, es añadirle dos botones uno de guardar y otro de abrir, para que podamos usar el ejemplo ya como una aplicación más.

Cuando iniciamos gambas2, nos aparece esta ventana:

Vemos que tenemos a nuestra disposición muchos ejemplos de programas realizados en Gambas.

Vamos a abrir el ejemplo de "TextEdit", que es un pequeño editor, cuando lo abráis saldrá un mensaje diciendo "Este proyecto es de solo lectura", esto quiere decir que, en principio, solo lo podremos usar para leerlo. Le damos al boton aceptar y nos saldra la siguiente pantalla:

Para poder guardar los cambios que realicemos vamos al menu de Archivo/ Guardar Proyecto como... y en el cuadro de dialogo que os sale elegiremos el directorio para guardarlo (te lo va a gravar con el mismo nombre del proyecto).

Ahora nos vamos al formulario Fmain, y le añadimos dos botones, (con la propiedad Name como "guardar", y Text "Guardar" y en el otro boton name "abrir" y text "Abrir", y le añadirmos el siguiente código:


PUBLIC SUB guardar_Click()
DIM destino AS String ' cadena donde se guarda la ruta y nombre del archivo

Dialog.Title = "Escriba un nombre de archivo para guardar los datos"
Dialog.Filter = ["*.html", "Archivos .html"]

IF NOT Dialog.SaveFile() THEN
IF Right$(Dialog.Path, 5) <> ".html" THEN
destino = Dialog.Path & ".html"
ELSE
destino = Dialog.Path
END IF
FMain.title = "Archivo: " & Dialog.Path

File.Save(destino, TextEdit1.text)
END IF

END


Lo que hacemos en con un cuadro de Dialogo Dialog.SaveFile() elegir tanto el nombre como la ubicacion donde vamos a guardar la informacion. La ruta y el nombre la guardamos en la variable "destino".
Y con la orden File.Save, guardamos el texto contenido en TextEdit1 en el "destino":
File.Save(destino, TextEdit1.text)

PUBLIC SUB abrir_Click()

Dialog.Title = "Seleccione un archivo para Abrir"
Dialog.Filter = ["*.html", "Datos de html"]

IF NOT Dialog.OpenFile() THEN

TextEdit1.text = File.LOAD(Dialog.Path)

FMain.title = "Archivo: " & Dialog.Path
ENDIF

END


Para abrir, usamos otra vez el cuadro de dialogo (esta vez el Dialog.OpenFile), y elegimos cual abrir.
Con la orden File.Load lo guardamos el contenido del archivo elegido (Dialog.Path) en el TextEdit1:
TextEdit1.text = File.LOAD(Dialog.Path)

Ese es el resultado final:

Aqui tenéis el código fuente del programa mejorado: http://manualjsb.googlecode.com/files/TextEdit-0.0.5.tar.gz


 Saludos

Nota:
Espero que te ayude, Darkkshadow666