Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
El Equipo
!Buen o d e m o m e n t o s olo es t oy yo p e ro es pe r o q u e e n la p r óxi m a e n t rega h aya n
vario s avat are s d e m u c h o s colabora d o res (as), n ecesita m o s dis e ñ a d o res gráfico s,
p r og r a m a d o re s, evalua d o re s d e s oftware d e m a t e ria, e s pecialis ta s e n re de s y
p r og r a m ació n, u n filólogo, etc, etc.!, y ya es t á n los te m a s d e la s eg u n d a e n t rega,
es p e r a n d o volu n t a rios......
No m bre: Franklin Jimé ne z Monter o
Prof e sión: Aseso r de Infor m á tica
Educativa. Progra m a Nacio nal de
In n ovacio n e s Educativas d el Minis te rio
d e Educació n Pública d e Cos ta Rica.
Instalar programas
en Ubuntu, diferentes
métodos para Openoffice Writer
lograrlo.
Virtualización:
Configuración básica
Instalando y
de Samba
conociendo
VirtualBox
No m bre d el Soft ware
Anali zad o
Ubu n t u 8.10 Intre pi d Ibex
Tipo d e Licencia GPL Año o v ersión 2008
Tipo d e s o ft ware Siste m a o p e ra tivo
Sitio d e De s carga www.ub u n t u.co m
Requerimiento s d e eq uip o Dis c o Duro 3 0 gb
Proce sad or PIII a 7 0 0MH z mí ni m o
Ram 2 5 6 m b mí ni m o
Vide o m ayo r a 1 2 8MB
Bre v e d e s cripción d el s oft ware
Ubu n t u (AFI: / u ˈ b u n t u /) es u n a di s t rib ución GNU /Lin ux q ue ofrece u n sis te m a
o p e r a tivo p re d o mi na n t e m e n t e e nfoca d o a co m p u t a d o re s p e r s o n ales, a u n q u e
ta m bié n p r o p o rcio n a s o p o r te p a r a se rvidores. Es u n a d e las m á s i m p o r t a n te s
dis t rib ucio ne s d e GNU /Lin ux a nivel m u n dial. Se b a s a e n Debia n GNU /Lin ux y
co nce n t r a s u o bjetivo e n la facilida d y libert a d d e u s o, la flui da ins t alació n y los
lan z a mie n t o s reg ulare s (cada 6 m e s e s: las versio ne s .04 e n a b ril y las .10 e n
oct u b r e).
El p ri ncip al p a t r ocina d o r es Cano nical Ltd., u n a e m p re s a p riva d a fu n d a d a y
fina ncia d a p o r el e m p r e s a rio s u d africa no Mark Shu t tlewort h.El n o m b re d e la
dis t rib ució n p r oviene d el co nce p t o z ul ú y xho s a d e u b u n t u, q u e significa
"hu m a ni d a d h acia ot ro s" o "yo s oy p o r q u e n o s o t ro s s o m o s". Ubu n t u es u n
m ovi mie n t o s u d africa n o e nca be z a d o p o r el obis p o Des m o n d Tut u, q uie n ga n ó el
Pre mio Nobel d e la Paz e n 1 9 8 4 p o r s u s lucha s e n co n t ra d el Apar t hei d e n
Su dfrica. El s u d africa n o Mark Shu t tlewor t h, m ece n a s d el p r oyecto, se e nco n t r a b a
m u y fa miliari za d o co n la corrien te.
Tra s ver si milit u de s e n t re los ideales d e los p r oyect o s GNU, Debia n y e n gen er al
co n el m ovi mie n t o d el s oftware libre, d ecidió a p r ovecha r la oca sió n p a r a difu n dir
los ideales d e Ubu n t u. El e sloga n d e la dis t rib ució n Linux p a r a s e re s
h u m a n o s (en inglés "Linux for Hu m a n Beings") res u m e u n a d e s u s m e t a s
p ri ncip ales: h acer d e Linux u n sis te m a o pe ra tivo m á s accesible y fácil d e u s a r.
La ver sió n m á s recien te - 8.10 - fue lan z a d a p a r a p re - ór d e n e s d e s d e s u web el 3 0
d e oct u b re d el 2 0 0 8, p a r a s e r e n t rega d a s a p r oxi m a d a m e n te 3 se m a n a s d e s p u é s
d e s u s alid a.
Shots cre en d el Soft ware
¿Com o Instalar Ubuntu 8.1 0 Intrepid Ibex?
Configuración d e la BIOS
Para co nfig u ra r la BIOS h ay q ue a rra nca r el o r d e n a d o r y p uls a r u n a t ecla es p ecial,
q u e s u ele in dicar se e n la p a n t alla d el o r d e n a d o r, a n t e s d e q u e s e carg ue el sis te m a
o p e r a tivo. Esta tecla s uele se r Supr, Esc o F10,
Al h acerlo, se m u e s t r a u n a p a n t alla d e s d e la q u e s e p u e d e n co nfigura r dis tin t o s
a s p ecto s ava n z a d o s d e la co m p u t a d o ra. Algu n o s eje m plos d el ti po d e p a n t allas
q u e s e p u e d e n e nco n t ra r s o n:
4)Las O pcio ne s q u e d a el CD s o n:
• Prob a r Ubu n t u sin altera r el e q ui po
• Ins t alar Ubu n t u
• Verificar el CD e n b u sca d e d efecto s
• Análisis d e m e m o ria
• Arra ncar d e s d e el p ri m e r di sco d u r o
Elegire m o s la p ri m e ra Proba r Ubu n t u si n altera r el e q ui po . El m o tivo e s p a r a
p o d e r s a b er si t o d o el h a r dwa re fu ncio na bien a n t e s d e ins t alar. Aparecerá la
sig uie n te p a n t alla m o s t r a n d o u n a b ar ra q u e va d e u n la do al o t ro. Luego cargar á
o t r a b ar r a q u e cua n d o s e llene p o r co m plet o ya es ta rá list o p a r a p r o b arlo.
LA INTERFAZ
DE VECTORES A BITMAPS
MODOS DE EDICIÓN
• Mod o Edición d e o b j et o
• Mod o Edición d e tir a d o r es
• Mod o Edición d e no d os
Modo Edición d e o b j e to
Hab r á o b se rva d o q ue al
crear u n cu a d ra d o és te n o a p a rece directa m e n t e co n los t ra n sfor m a d o re s sino co n
lo q u e va m o s a lla m a r a p a r tir d e a h o r a tir a d o r es co m o m u e s t ra la ilus t ración.
La e dició n d e tira d o res co n s tit uye u n s eg u n d o nivel d e e dició n p a r a p o d e r
m a ni p ular ciert a s caracterís ticas d el o bjet o.
Modo Edición d e n o d os
Una ve z crea d o el Rectá ng ulo e dite los tir a d o r es (recue r de q ue tiene q u e h acerlo
co n CONTROL p uls a d o):
TECLA SHIFT
TECLA ALT
La lógica que sigue Inkscape en esta secuencia de selección de objetos es el de Ordenación;
primero el del fondo, después el que está más arriba, y así hasta el que está arriba del todo.
En la secuencia de selección de nodos sigue un orden horario.
Selección hacia abajo
Si tiene muchos objetos tapándose unos a otros puede recurrir a seleccionar varias veces con
la tecla ALT pulsada. Así Inkscape será sensible a objetos que están totalmente tapados por
otros. Esta utilidad no sirve en la selección de nodos.
Selección múltiple
Simplemente seleccione objetos o nodos mientras mantiene SHIFT pulsado.
Deseleccionar un objeto
Vuelva a hacer clic sobre un objeto o nodo seleccionado. Si quiere conservar otros objetos o
nodos ya seleccionados mantenga SHIFT pulsado.
Selección de caja
Incluya todos los objetos (uno o varios) que quiere seleccionar dentro de un rectángulo
virtual hecho con la herramienta Seleccionar. Si está seleccionando nodos opere igual pero
con la herramienta Editar nodos o tiradores seleccionada.
Selección por contacto
Novedad en Inkscape 0.46. Asegúrese de no tener ningún objeto seleccionado, pulse ALT y
describa con el ratón una trayectoria; los objetos que sean tocados por esa línea quedarán
seleccionados.
Son muchas las herramientas que va a encontrar dentro de Inkscape para poder hacer su
trabajo más cómodo y exacto pero no se van a estudiar en este tutorial. Éste, sobre la
filosofía de trabajo de Inkscape, termina aquí. Espero que haya afianzado los conceptos para
poder comenzar a trabajar con facilidad y precisión.
Hasta aquí con esta entrega, nos vemos en la próxima..............
No m bre d el Soft ware
Anali zad o
Mozilla Th u n d e bir d 2.0.0.6
Tipo d e Licencia GPL Año o v ersión 2008
Tipo d e s o ft ware Cliente d e correo elect ró nico, r s s y n ews
Sitio d e De s carga h t t p: / / w ww. m o zilla -
e u ro p e.org / e s / p r o d uct s / t h u n d e r bir d /
Requerimiento s d e eq uip o Dis c o Duro 3 0 gb
Proce sad or PIII a 7 0 0MH z mí ni m o
Ram 2 5 6 m b mí ni m o
Vide o m ayo r a 1 2 8MB
Bre v e d e s cripción d el s oft ware
Mozilla Th u n d e r bir d o Th u n d e r bir d (anterior m e n t e Minota u r) es u n cliente d e
cor r eo electró nico d e la Fun d ació n Mozilla. El o bjetivo d e Th u n d e r bir d es
d e s a r r ollar u n Mozilla m á s liviano y rá pi d o m e dia n te la extracción y re dise ñ o d el
ges t o r d e correo d el Mozilla oficial. Es m ul ti pla tafor m a, u tiliz a el leng u aje d e
interfa z XUL y es s oftware libre. Mozilla Firefox re s p e t a la mi s m a filos ofía.
Th u n d e r bir d s o p o r t a IMAP /POP, cor reo HTML, n o ticias, RSS, etiq ue ta s, correct o r
o r t og ráfico incor p o ra d o, s o p o r te d e exte n sio ne s y s ki n s, b u sca d o re s, cifra d o
PGP, u n filtro bayesian o d e correo b a s u r a (spa m), etc. Su p ri ncipal p r o ble m a
co n t r a rivales co m o Evolu tio n (sobre plat afor m a s Linux) o, e n Wind ow s, Wind ows
Mail (an te rior m e n te lla m a d o Ou tlook Expres s) es t riba e n s u care ncia d e u n
cale n d a rio u s a ble, a u n q u e existe u n a exte n sió n lla m a d a Light ning q u e
im ple m e n t a u n calen d a rio co n casi el mi s m o nivel d e fu ncio n alida d d e Mozilla
Su n bir d.
A d a pt ado de: h tt p: / / es.wikipedia.org / wi ki / T h u n derbird
¿Com o c onfigurar mi cliente para qu e d e s cargu e mi s c orre o s el e ctrónic o s d e Gmail?
Nota: Si u s a u n a versió n a n te rior d e Th u n d e r bir d, le reco m e n d a m o s q u e act u alice
a la ver sió n 2.0 o s u p e rior.
Para e m p e z a r d e be m o s d e s eg uir el mi s m o p r oce di mie n t o d e ins t alación t al y
co m o hici m o s p a r a ins t alar el Inskca pe p o r m e dio d e Syna p tic.
Lo p ri m e r o q ue te ne m o s q ue h acer es te ner u n a cue n t a d e correo d e Gmail, si n o
la tie n e la p u e de crear e n www.g m ail.co m , u n a ve z crea d a t e n d r e m o s u n u s u a rio,
p o r eje m plo, inn ovacio n.e@g mail.co m , y es te u s u a rio t e n d rá u n a co n t ra s e ñ a.
Em p ece m o s.....
Accede a t u cue n t a d e Gmail.
1.
Seleccio na Habilitar POP p a r a t o d o s los m e n s ajes o Habilitar POP p a ra los
m e n s aje s q ue s e reciba n a p a r tir d e a h o ra, si tiene m u c h o s m e n s aje s e n s u
co r reo p o d ría t a r d a r s e la d e scarga d e t o d o s, p o r lo cual es m ej or d ejar
h a bilita d o para los m e n s ajes q u e se reciba n a p a r tir d e a h o r a, el IMAP
q u e d a d e s h a bilita d o p a r a es te eje m plo. Clic e n guardar cambio s.
!Que lo di sfruten¡
No m bre d el Soft ware
Anali zad o
Ga m b a s
Tipo d e Licencia GPL Año o v ersión 2007
Tipo d e s o ft ware IDE co n Leng uaje d e p r ogra m ación
Sitio de De s carga o h t t p: / / g a m b a s.so u rceforge.ne t /
ref erencia
Requerimiento s d e eq uip o Dis c o Duro 3 0 gb
Proce sad or PIII a 7 0 0MH z mí ni m o
Ram 2 5 6 m b reco m e n d a d o
Vide o m ayo r a 1 2 8MB
Bre v e d e s cripción d el s oft ware
Ga m b a s es u n leng uaje d e p r og ra m ació n libre d e riva d o d e BASIC. Es si milar al
p r o d uc t o d e Micros oft Visual Basic y s e dis t rib uye co n licencia GNU GPL. Cabe
d e s t acar q u e p re se n t a cierta s si milit u d e s co n Java ya q u e e n la ejecució n d e
cualq uier a plicación, se re q uiere u n co nj u n t o d e librería s inter p re te p r evia me n t e
ins tala d a s (Ga m ba s Run ti m e) q ue e n tie n d a n el byteco de d e las a plicacione s
d e s a r r olla d a s y lo co nvierta n e n co digo ejec u t a ble p o r el co m p u t a d o r. Por o t r o
la d o, a difere ncia d e Java, n o s e ex peri m e n t a n rale n ti z acio ne s y es p o sible
d e s a r r ollar gra n de s a plicacio ne s e n p oco tie m p o.
Tutorial y ejemplo de un programa hecho con Gambas.
Su m a rio: Va m o s a crear u n a a plicación se ncilla co n Ga m ba s. Vere m o s có m o s e
p r og r a m a n los eve n t o s y algu n o s t r uco s y téc nicas d e t ra b ajo co n e s te m a g nífico
e n t o r n o d e d e s a r rollo.
a) Intr o d ucció n
b) Pri mero s p a s o s
c) Ges tió n d e eve n t o s
d) Co n si deracio ne s rela tivas al di se ñ o d e for m ularios
e) Al gra n o ...
f) Acció n "Lim piar"
g) Acció n "Aña dir"
h) Acció n "Modificar"
i) Acció n "Borrar"
j) Acció n "Salir"
k) Acció n "Abrir"
l) Acció n "Guar d a r"
m) Un últi m o aj u s te
n) Nues t r o p r ogra m a fu ncio n a n d o
o) Distrib uye n d o n u e s t r a a plicació n
p) Co nclu sio ne s
q) Acerca d e es te d oc u m e n t o y d el a u t o r
r) Nota s
Introducción
Ga m b a s e s u n a h e r ra mie n t a d e d e s a r r ollo vis ual d e a plicacio ne s m uy si milar a los
co n ocid o s p r ogra m a s co m e rciales Micros oft Visual Basic o Borla n d Delp hi.
Co n Ga m b a s s e p u e d e n h acer a plicacio ne s o p r ogra m a s co n interfa z gráfica d e
fo r m a m u y rá pi da, p u e s integra n u n dise ñ a d o r d e for m ula rios o ve n ta n a s, u n
e dito r d e có digo, u n ex plora d o r d e clases, u n visor d e ay u d a, etc.
Este ti p o d e h e r ra mie n t a s h a n si do sie m p re m uy h a bit uales e n la pla tafor m a
Micro s of t Wind ow s, p e ro p a r a Linux n o exis tía n t a n t a s, o bie n n o es ta ba n t a n
d e p u r a d a s. Pode m o s e nco n t r a r Kdevelo p, Kylix o VDK Builder. Hay q u e d e s t acar
q u e e n el d e s a r rollo d e a plicaciones e n Linux h ay u n a larga t r a dición y cos t u m b r e
d e e m plear m u c h a s h e r ra mie n t a s difere n te s, ca d a u n a e s pecializ a d a e n u n a t a r ea
e n co ncre to (p. ej., u n co m pila d o r, u n e ditor, u n d e p u r a d o r, ca d a u n o p o r
s e p a r a d o), p o r lo q u e es te tip o d e h e r r a mie n ta s integra d a s (IDE) n o h a n a p a recid o
h a s t a h ace p oc o.
Existe u n gr u p o d e p r ogra m a d o re s y d e s a r rolla d o re s q u e e s t á n aco s t u m b r a d o s a
es t a s h e r r a mie n t a s integra d a s, ya se a p o r q u e s uele n t ra b ajar co n ellas e n o t ra s
pla t afo r m a s o p o r q u e les re s ulta m á s có m o d o o fácil.
Ga m b a s e s u n a h e r ra mie n t a, q u e, e n p alab ra s d e s u a u t o r, Benoît Minisini, p e r mite
la creació n d e p r ogra m a s p o te n te s, d e for m a fácil y s e ncilla. El leng u aje d e
p r og r a m ació n q u e s e u tili za e s u n a versió n d el "viejo" BASIC. Pue de s o r p re n d e r
q u e s e h aya escogido u n leng u aje t a n bá sico e inclu s o limita d o co m o es el BASIC,
p e r o n o h ay q u e olvida r q ue u n o d e los obje tivos d e la h e rr a mie n t a e s acercar el
d e s a r r ollo d e a plicacio ne s a p e r s o n a s n o exper t a s e n la p r ogra m ació n.
El o bjetivo d e e s te t u t o rial es p r e se n t a r u n p oco p o r e nci m a la h e rr a mie n t a, p e r o
va m o s a p r e s u p o n e r q u e el lector ya s a be p r ogra m a r u n p oc o, y q ue té r mi n o s
co m o f u nción, even t o, variable y si milares le s o n fa miliares. Hay excele n te s
t u t o riales dis p o nibles e n Inter ne t ( 1), y el p r o pio p r ogra m a incor p o r a u n
n avega d o r d e d oc u m e n t ación ba s t a n te co m pleto.
La ver sió n d e Ga m b a s u tiliz a d a al re d ac ta r es te t u t o rial es la 1.0 - 1. La p ágina web
d e Ga m b a s es t á e n h t t p: / / g a m b a s.so u rceforge.net
Primeros pasos
Para n o r e p e tir no s y a p o r t a r algo m á s a lo q ue ya h ay e scrito, n o va m o s a e n t ra r
e n có m o e s el e n t o r n o d e d e s a r rollo, ni p a r a q ué sirve ca d a h e r r a mie n t a, etc. En la
p r o pia d o c u m e n t ació n d e Ga m ba s viene n algu n o s t u t o riales int ro d uc t o rios y u n
a p a r ta d o lla m a d o "Visual Intro d uc tio n t o Ga m ba s".
En es te t u t o rial inte n t a re m o s h acer u n p r ogra m a co m plet o y fu ncio nal d e s d e el
p ri ncipio, y s ol ucion are m o s las n ecesi da de s seg ú n vaya n s u rgie n d o.
Va m o s a crear u n p r ogra m a q ue s ea u n a es pecie d e cua de r n o o age n d a p a ra t o m a r
n o t a s. Se p o d r á n a ñ a dir o bo r ra r n o t a s, a d e m á s d e m o dificar las existe n t e s. En
cu alq uier m o m e n t o s e p u e d e n guar d a r las n o t a s a u n fichero o rec u p e ra r o t ra s d e
u n ficher o.
En Ga m b a s, seleccion a m o s la o pció n "Nuevo p r oyecto". Seleccio na m o s crea r u n
p r oyecto gráfico y el p r ogra m a n o s pi de algu n o s d a t o s co m o el n o m b re y tít ulo
d el p r oyecto:
Gestión de eventos
Los p r og r a m a s co n interfa z gráfica d e u s u a rio s u ele n ba s a r s u fu ncio n a mie n t o e n
eve n t o s. Esto e s, ca d a ve z q ue el u s u a rio "hace algo" e n la a plicació n, se genera u n
eve n t o y é s te eve n t o p u e de te ner a s ocia d o u n a fu nció n o p r oce di mie n t o q u e
re s p o n d a a la acció n d el u s u a rio.
Si, p o r eje m plo, el u s u a rio h ace click e n u n co n t rol d e te r mi na d o, s e ge nera n vario s
eve n t o s: MousePre s s, al p r e sio na r el b o t ó n d el ra t ó n, MouseRelea se, al liberar el
b o t ó n d el r a t ó n, Click co m o re s ulta d o d e es t a acció n. Si el u s u a rio h ace d o ble
click, el even t o ge nera d o es u n DblClick. Por s u p u e s t o, n o t o d o s los co n t r oles s o n
ca p aces d e re s p o n d e r a t o d o s los even t o s. No tie ne s e n ti do h a blar d el eve n t o
Resize e n u n bo t ó n, p u e s t o q ue es te even t o s e ge ne ra al re di m e n sio n a r u n a
ven t a n a.
En Ga m b a s, p a ra int r o d ucir el có digo d el p r oce di mie n t o ( 2) corres p o n die n t e a u n
eve n t o, s e d eclara d e la sig uien te m a n e r a:
PUBLIC SUB Cont rol_Event o
Do n d e Con t r ol es el n o m b re d el co n t r ol q u e e s t á re s p o n die n d o al eve n to y Even to
es el eve n t o q ue se p r o d uce. Algu n o s co n t r oles tiene n u n eve n t o p re d e te r mi n a d o,
q u e e s el m á s u s u al: u n b o t ó n tie ne co m o eve n t o p re d e te r mi n a d o el Click, e tc.
En Ga m b a s, al h acer click s o b re cualq uier co n t r ol, se a b re el e dito r d e có digo e n la
d eclar ació n d el eve n t o p r e de ter mi na d o, co n u n a exce pción. Co m o co m e n t á b a m o s
a n te s, si el co n t r ol es t á a s ocia d o a u n gr u p o d e accione s, el e ditor s e a bre e n la
d eclar ació n d el p r oce di mie n t o corres p o n die n t e al gr u p o d e accione s.
Consideraciones relativas al diseño de formularios
Al dise ñ a r el for m ulario d e la a plicación, d e be m o s te ne r e n cue n t a varias
cue s tio n e s:
• No t o d o s los u s u a rios u tili za n la mi s m a re s ol ución d e p a n t alla, ges t o r d e
ven t a n a s y ti p o d e fue n te s. Hay q u e t e ne r cui da d o y n o t r a t a r d e
"ap r ovec ha r" d e m a sia d o el e s p acio. Pode m o s acaba r co n etiq uet a s d e text o
(Label) ilegibles, b o t o ne s co n el texto cor t a d o, etc
• Por la mi s m a ra z ó n, co nviene q ue la vent a n a p ri ncipal d e la a plicació n s ea
re di me n sio n a ble p o r el u s u a rio (en Ga m b a s es la p r o pie d a d Border d el
for m ulario. No es reco m e n d a ble fijar es t a p r o pie da d a Fixed.
• Al crear el for m ulario, se n o s ofrece n varias o pcio ne s q ue p u e de n s e r in
intere sa n te s
Al grano ...
Ya te n e m o s n u e s t ro for m ulario di se ñ a d o. Ahora s e t ra t a d e im ple m e n t a r
f u ncio n alida d a los co n t r oles.
Lo p ri m e r o q u e va m o s a h acer es q u e los b o t o ne s "Aña dir", "Modificar", "Borrar" y
"Lim piar" (y las e n t ra d a s corre s p o n die n te s e n los m e n ú s) fu ncio ne n.
Acción "Limpiar"
Este b o t ó n s e e ncarga d e bo r ra r t o d a s las e n t ra d a s q u e h aya e n el ListBox. Para
s a be r có m o h acer és t o, b u sca m o s e n el n avega d o r d e ay u d a la d oc u m e n t ació n
relativa al co n t r ol ListBox:
Acción "Añadir"
Esto ya es u n p oco m á s co m plica d o. Quere m o s q ue el u s u a rio, al p uls a r el bo t ó n,
p u e d a escribir u n a línea d e text o q u e s e carg ue e n el ListBox.
Ga m b a s n o p r o p o rcio na p o r d efect o u n diálogo d el ti p o "Inp u tBox", a sí q u e lo
va m o s a crear n o s o t r o s mi s m o s. Crea m o s u n n u evo for m ulario, p e r o a h o r a sí q u e
q u e re m o s dis p o ne r d e u n co n s t r uc t or. ¿Por q u é?. Porq u e e n el m o m e n t o d e
crearlo ca m biare m o s algu n a s p r o pie d a de s co m o el tít ulo, algú n m e n s aje d e tex to
y u n valor p o r d efect o p a ra la e n t r a d a d e t exto. Este e s el dise ñ o q u e p r o p o ne m o s:
PUBLIC SUB _new(titulo AS String, mensaje AS String, OPTIONAL texto
AS String)
ME.Caption = titulo
Label1.Caption = mensaje
' un String se evalúa como False si está "vacío"
IF texto THEN TextBox1.Text = texto
END
PUBLIC SUB Button1_Click() ' Este es el botón Aceptar
MComun.texto = TextBox1.Text
ME.Close(0)
END
PUBLIC SUB Button2_Click() ' Este es el botón Cancelar
ME.Close(0)
END
Acción "Borrar"
Co m o e n el cas o a n t erior, el ListBox d e be t e ne r algu n a línea, y el u s u a rio d e be
h a b e r seleccion a d o u n a al m e n o s. El có digo es si milar al d el b o t ó n "Modificar":
PUBLIC SUB Borrar_Click()
i AS Integer
i = ListBox1.Index
IF i >= 0 THEN
ListBox1.Remove(i) ' El método Remove quita una línea, justo
' lo que queremos
ELSE IF ListBox1.Count > 0 AND i = 1 THEN
' Comprobamos que el ListBox no esté vacío y que
' haya algo seleccionado.
message.Info("Debe seleccionar la línea que desea borrar.")
END IF
END
Po de m o s o b se rvar q u e la im ple m e n t ación d e es t a s cua t r o accio ne s es co m ú n p a r a
los b o t o n e s y las e n t r a d a s eq uivalen te s e n el m e n ú.
Aho r a p a s a m o s a im ple m e n t a r las accio ne s relativas al m a n ejo d e fiche ro s (Abrir,
Guar d a r) y s alir d e la a plicación. Empe z a re m o s p o r lo fácil:
Acción "Salir"
La f u nció n d e es te b o t ó n (y la corre s p o n die n t e e n t r a d a e n el m e n ú) es cerra r la
a plicació n. Nad a m á s s e ncillo:
PUBLIC SUB Salir_Click()
ME.Close(0) ' ME es una referencia al propio formulario
FInputBox
END
Se p o d ría h acer u n p oco m á s a migable es t a acció n agrega n d o u n diálogo d el ti p o "
¿Está Ud. seg u ro d e q ue q uiere s alir d e la a plicación?" y act u a r e n co n sec ue ncia.
Deja m o s es ta m ejo ra co m o ejercicio p a r a el lector.
Acción "Abrir"
¿Qué s e s u p o n e q ue d e be h acer?. Pue s p r eg u n t a rle al u s u a rio p o r u n a rc hivo,
leerlo y carga r el co n te ni d o e n el ListBox. Vea m o s direct a m e n te la acción
co r re s p o n die n t e:
PUBLIC SUB Abrir_Click()
DIM c AS String
DIM arr_cadenas AS String[]
Dialog.Title = "Seleccione un archivo"
Dialog.Filter = [ "Datos de agenda (*.data)", "Todos los ficheros (*.*)" ]
IF NOT Dialog.OpenFile() THEN
arr_cadenas = Split(File.LOAD(Dialog.Path), "\n")
ListBox1.Clear()
FOR EACH c IN arr_cadenas
ListBox1.Add(c)
NEXT
END IF
END
Este t r o z o d e có digo s e n o s p re se n t a u n a caracterís tica m uy intere s a n t e d e
Ga m b a s, las clases "no ins ta nciables" o es t á ticas ( 3). Son clase s q ue n o p u e d e n
in s ta nciar se p e r o p u e d e n u tiliz ar se directa m e n te. En es t a acción ve m o s e n acció n
d o s d e es t a s clase s: la clase " File" y "Dialog".
Por eje m plo, la clase Dialog p r o p o rcion a acces o a los tí picos cua d r o s d e diálogo
d e s elecció n d e fichero s, colores, etc. Está d oc u m e n t a d a e n gb.qt
En n u e s t r a a plicación, q u e re m o s s elecciona r u n fichero y cargarlo. Para h acer é s t o,
u tiliz a re m o s la clase Dialog d e la sig uie n te for m a:
Dialog.Title = "Seleccione un archivo"
Dialog.Filter = [ "Datos de agenda (*.data)", "Todos los ficheros (*.*)" ]
IF NOT Dialog.OpenFile() THEN
' etc ...
Aju s t a m o s el tít ulo d el cua d r o d e diálogo, p r o p o rcio na m o s u n filtro p a r a la
s elecció n d el ti po d e fichero p o r exte n sió n y final m e n te invoca m o s el m é t o d o
O pe nFile() d e la clase. Curiosa m e n t e, si NO se s eleccio na u n fichero (el u s u a rio
p uls a "Cancelar", etc ...), el valor d e ret o r n o d el m é t o d o O pe nFile() e s True. Una
ve z s eleccio na d o el fichero p o r p a r te d el u s u a rio, p o d e m o s acce de r a la r u t a
co m pleta co n la p r o pie d a d Dialog.Pat h
La clase File (su d oc u m e n t ació n se e nc ue n t ra "colga n d o" d e la e n t ra d a gb)
p r o p o rcio n a varios m é t o d o s p a r a t ra b ajar co n ficheros.
Acción "Guardar"
Al p uls ar el b o t ó n "Guar d a r" o la e n t r a d a eq uivale n te e n el m e n ú, el p r ogra m a
d e b e volcar los con t e ni do s a u n fiche ro d e texto. Mostra re m o s u n cua d r o d e
diálogo al u s u a rio p a r a q u e n o s p r o p o rcio ne el n o m b re d el fiche ro a u tili za r. Este
es el có digo corre s p o n die n te:
PUBLIC SUB Guardar_Click()
lineas AS String
destino AS String
numArchivo AS Integer
lineas = ListBox1.Contents
Dialog.Title = "Seleccione un archivo"
Dialog.Filter = [ "Datos de agenda (*.data)" ]
IF NOT Dialog.SaveFile() THEN
IF Right$(Dialog.Path, 5) <> ".data" THEN
destino = Dialog.Path & ".data"
ELSE
destino = Dialog.Path
END IF
File.Save(destino, lineas)
END IF
END
Quere m o s q u e los d a t o s s e gua r de n e n u n fichero co n la exte n sió n .data, a sí q u e
si el n o m b r e d el fichero q ue p r o p o rcio na el u s u a rio n o te r mi n a e n ".data",
co nca te n a m o s m a n u al m e n t e la exte n sió n. Para gua r d a r el co n te ni d o e n u n
ficher o, u tiliza m o s el m é t o d o Save() d e la clase File, q ue t o m a co m o a rg u m e n t o s la
r u t a al fiche ro y el text o q u e q u e re m o s volcar. Acce de m o s al co n te ni d o d el ListBox
m e dia n t e s u p r o pie d a d Con te n t s, q ue d ev uelve u n String, co n u n s alto d e línea
" \ n" se p a r a n d o ca d a e n t ra d a e n el ListBox.
Un último ajuste
Se n o s oc u r re q ue s ería intere s a n t e q ue cua n d o el u s u a rio s e p o sicio ne e n u n a d e
las línea s d el ListBox p u diese vis u ali za r el co n te ni d o co m ple to d e la línea, ya q u e
p u e d e n a p a recer cor ta d a s si s o n m uy larga s. Lo va m o s a h acer d e la siguie n te
fo r m a: cu a n d o el u s u a rio h ace d o ble click e n u n a e n t ra d a, el co n te ni do d e la línea
lo m o s t r a re m o s e n u n cua d r o d e diálogo:
PUBLIC SUB ListBox1_DblClick()
IF ListBox1.Index >= 0 THEN
message.Info(ListBox1.Current.Text)
END IF
END
Nuestro programa funcionando
Distribuyendo nuestra aplicación
Ya te n e m o s la a plicació n crea d a. Pode m o s p r o b a rla e n cualq uier m o m e n t o d el
d e s a r r ollo u tiliza n d o la tecla F5.
Aho r a q u e re m o s u tiliz arla co m o u n p r ogra m a n o r m al, si n te ne r q ue te ne r Ga m b a s
f u ncio n a n d o. Para ello h ay u n a o pció n e n el m e n ú p ri ncipal d e Ga m b a s ("Proyecto
> Crear ejec u ta ble"). Esto n o s genera u n arc hivo ejec u ta ble "mo n olítico", e s t o es,
incluye t o d o s los for m ularios, im ple m e n t ació n y fichero s a dicionales d el p r oyecto.
Este ejecu t a ble n o es có digo m á q ui na, es "byteco de" ejec u t a ble p o r el inté r p re te
d e Ga m b a s, gbx. Esto im plica q u e n ece sita m o s te ne r ins t ala d o Ga m b a s p a r a
ejec u t ar p r ogra m a s escrito s co n Ga m b a s (al igual q ue o t ro s leng u ajes: s e n ecesita
te n er Java p a ra ejec u t ara u n p r ogr a m a escrito e n Java).
Por for t u n a, e n la m ayoría d e las dis trib ucio ne s q u e incluye n Ga m b a s se h a n
s e p a r a d o los co m p o n e n t e s y h ay u n "Ga m b a s r u n ti m e", q ue incluye el intér p re te,
p e r o n o el e n t o r n o d e d e s a rr ollo co m plet o.
Ta m bié n p o d e m o s crea r p a q u e t es RPM o DEB p a r a n u e s t r o p r ogra m a. Esto s
p a q u e te s te n d rá n co m o d e p e n d e ncia el intér p re te d e Ga m b a s (el ga m b a s -
r u n ti m e). Hay u n a sis te n t e m uy fácil d e u s a r p a r a crear los p a q ue te s ("Proyecto >
Crear p a q u e te d e ins talació n ...").
Conclusiones
He m o s vis to lo fácil q ue es crear u n a a plicación mí ni m a m e n t e fu ncio nal co n
Ga m b a s. Pro po rcion a b a s t a n te s co n t roles y clase s p re d efinida s. Hay t a m bié n
exte n sio n e s p a r a crea r a plicacione s cliente / s e rvido r, acceso a ba se s d e d a t o s,
m ul ti me dia, etc.
Pers o n al m e n t e m e p a rece q u e es u n a h e r ra mie n t a co n m u c hísi m o fu t u r o, y,
af o r t u n a d a m e n t e, el d e s a r rollo d e Ga m b a s e s m uy activo, cor rigién d o s e los
er r o re s q u e van s u rgie n d o co n m u c h a r a pi de z.
¡Gracias, Benoît (et col.)! ¡Excele n te t r a bajo!
Acerca de este documento y del autor
Co m o m e ncio n á ba m o s a n te s, la a plicació n s e h a d e s a rr olla do u tili za n d o la ver sió n
1.0 - 1 d e Ga m b a s (he u tili za d o los p a q u e t e s p reco m pila d o s p a r a Debia n "Sid"). En
el m o m e n t o d e escribir es te d oc u m e n t o, la versió n 1.0.3 acaba d e s er p u blica d a, y
e n el m o m e n t o e n q ue leas e s te d oc u m e n t o, p r o b a ble m e n te h aya u n a versió n m á s
m o d e r n a. Conviene leer la lista d e ca m bios d e u n a versió n a o t r a p o r si s e p r o d uce
alg u n a inco m p a tibilida d.
Cualq uier co me n t a rio, s ugere ncia o m ej ora d e es t e d oc u m e n t o es bienve nida.
Mi cor r eo es foro deja z z (arro ba) g m ail (pu n t o) co m
Rollo legal: Este d oc u m e n t o es libre, p u e d e s co piarlo, di s t rib uirlo, m o dificarlo,
e nla z a rlo, t r a d ucirlo a o t ra s leng ua s e inclus o ve n de rlo, p e r o sie m p re
co n se rva n d o es t a n o t a y cita n d o la p r oce de ncia d el d oc u m e n t o. En cualq uier cas o,
el a u t o r ag ra decería q u e s e le n o tificase, y e n u n m o m e n t o d a d o, se r re t rib ui d o
eco n ó mica m e n te p o r s u esf uer z o (si cuela, cuela ; - )
Notas
1. Hay u n b ue n t u t o rial d e iniciació n y d oc u m e n t ació n d e Ga m ba s e n
cas tella no e n h t t p: / / g a m b a s.gn ulinex.org
2. Los eve n t o s d e be n t ra t a r s e co n u n p r oce di mie n t o, es t o es, u n a fu nció n q u e
n o re t or n a valor algu n o.
3. No s oy ex pe r t o e n la te r mi nología u s a d a e n la p r ogra m ació n orie n t a d a a
o bjet o s, así q ue, p r o ba ble m e n t e es ta ré u s a n d o algú n té r mi no
inco r r ecta m e n te. Mis di sc ul p a s ; - )
Brus elas v u el v e a in v e stigar a Micro s o ft p or abu sar d e s u m o n o p olio c on
Windo w s
India y Costa Rica impulsarán indu stria tecn oló gica m e diante
c o o p eración
fu ente: http: / / w w w.na v e galo.co m