Comunidad WWW.GAMBAS-ES.ORG
GAMBAS
Gambas Almost Means Basic
Comunidad WWW.GAMBAS-ES.ORG
INFORMACIÓN
Tienes en tus manos el libro COMPLETO de “GAMBAS programación visual con
Software Libre” escrito por Daniel Campos y José Luis Redrejo bajo licencia libre.
Al libro electrónico original le faltan las páginas 34, 35, 58, 59, 104, 105, 166, 167, 190,
191, 216, 260 y 261.
Hemos escaneado e insertado estas páginas faltantes en este nuevo libro electrónico, creando
así el libro electrónico completo que todo “gambero” debería leer.
Hemos modificado el libro original, añadido las páginas faltantes, unificado todos los
capítulos en un único fichero y lo volvemos a hacer público conservando la misma licencia
libre.
Comunidad WWW.GAMBAS-ES.ORG
06/01/2010
Autores:
DANIEL CAMPOS
JOSE LUIS RED REjO
Responsable editorial:
SORAYA MUl'JOZ
Responsable de Marketing y Comunicación:
ALVARO GARClA
Edición:
MIRlAM MONTERO
Diseño de portada:
PICTOGRAMA
MaquetaciÓn:
ANG EL ESTRADA
ISBN: 978-84-934371-2-3
Depósito Legal: M-41116~200S
Edita:
CEDlT UN EDlTORIAL,S.L., 2005
Avda. Portugal, 85- local
28011 Madrid (España)
Tel.: 91 577 03 55
Fax:: 91 577 0618
www.tibrosdelinux.com
[email protected]
LICENCIA
Se permite la copia y distribución de la totalidad o parle de esta obra sin ánimo dc lucro. Toda copia tOlal O
parcial deberá citar expresamente el nombre del autor, nombre de la editorial e incluir esta misma licencia,
añadiendo. si es copia literal. la mención "copia literal':
Se autoriza la modificación y traducción de la obra sin ánimo de lucro siempre que se haga conslar en la obra
resultante de la modificación el nombre de la obra originaria, el autor de la obra originaria yel nombre de la
editorial. La obra resullante también será libremente reproducida. distribuida, colllunicada al público y trans
formada en términos similares a los expresados en esta licencia.
Impreso en España (Printed in Spain)
-Este libro ha sido realizado con Soft"''an- Ubre, concretamente con: OpenOffice.org, Evolulion. Mozilla, GIMP.
PRÓLOGO
•
La escena se desarrolla en algún lugar en el campo. en verano...
- ¡Abuelo. no te duermas!
o has acabado de contarme la historia del ordenador...
~ ¿Eh? .. ah... sí... bueno, bueno...
El abuelo bostezó y pensó en lo que iba a decir. Ya había anochecido y sólo se oia el
canto de los griUos y el rechinar de la butaca.
"Cuando mi hermano compró su primer ordenador personal, estaba compuesto de
un lector de cintas. de algunos KB de memoria -no recuerdo exactamente cuántos
y de un teclado mecánico, cosa poco frecuente en aquella época. Pero, sobre todo,
disponía de un lenguaje BA5IC completo y de un manual que intentaba enseñar la
programación paso a paso.
Algunos afIas más tarde fui yo el que me compré un ordenador. Los modelos eran
más potentes, pero volví a encontrar el lenguaje BASIC y la posibilidad de sacar el
máximo rendimiento.
En aquella época, las revistas hablaban de programación, la gente programaba e inter
cambiaba programas. Algunos copiaban programas que no habían creado y se les
llamaba piratas... No, no, todos no tenían un parche negro en un ojo y un garfio en
lugar de una mano.
Prólooo
o a.rorT'ocit"''l VIS JOI r')n 5('"1.&. ~re 1 ibre
Después llegó la época del IBM pe y poco a poco las cosas empezaron a cambiar.
Al principio era una enorme caja gris, fea y ruidosa. Pero aumentó en potencia y
mientras más potencia adquiría. menos posibilidad había de sacarle el máximo
rendimiento.
Gracias a un puñado de futuros millonarios teníamos pantallas más grandes, más
colores, más sonido, más memoria. más capacidad de almacenamiento. Pero, al mismo
tiempo, se chapuceaban los sistemas operativos, se despreciaban los principios ele
mentales de seguridad) se frenaban las aplicaciones, se bloqueaban los formatos de
datos, se ocultaba y se mentía sobre el funcionamjento interno del conjunto.
El usuario se convertía en un consumidor como cualquier otro. Campai'ias de publi
cidad gigantescas le conducían a comprar una especie de caja negra de la que segui
damente babía que controlar al máximo la utilización. A pesar de todo. la gente con
tinuaba intercanlbiando y los piratas pirateando.
En cuanto a los que realmente eran capaces de sacar el má:x;mo rendimiento a los
ordenadores, tenían que comprarlos y después encerrarlos tras las puertas de un
campus o de una cláusula de no divulgación. Si no hacían esto. tenían que dejar de
programar.
Afortunadamente, las cosas no sucedieron exactamente como estaba previsto y gra
cias al nacimiento de Internet, y a la mezcla de talentos de numerosos programado
res, a menudo voluntarios. idealistas y pragmáticos al mismo tiempo. se impuso un
movimjento de liberación y nació, entre otros, el sistema operativo GNU/Linux.
Pero esto es otra historia, te la contaré mañana.....
La idea de desarrollar Gambas sobre Linux en casa vino principaJmente como reac
ción a la obligación de utilizar Visual Basic sobre Windows en el trabajo.
Cualquier usuario con un poco de idea, cualquier empresa. cualquier administra
ción, necesitan sacar el mayor rendimiento posible a su ordenador, es decir, hacer de
•
él lo que quieran hacer sin tener las competencias necesarias requeridas por los len
guajes de programación, ni el tiempo para adquirirlas.
Con un lenguaje incoherente, incompleto y repleto de fallos, Visual Basic ha res
pondido, a pesar de todo, a estas necesidades. Pero sus creadores, encerrados en su
torre de marfil, lo han ido poco a poco abandonando. ¿Había quizás desprecio hacia
esos usuarios que tenían la pretensión de sacar, como a ellos les pareciera, el máxi
mo rendimiento de su herramienta de trabajo?
A pesar de que forma parte de la gran familia BASIC y que la interfaz de los progra
mas se dibuja con el ratón, Gambas no tiene ningún otro punto en común con Visual
Basic y es totalmente incompatible con él. Sin embargo, mi prioridad es que pueda
satisfacer la misma necesidad: conseguir de la manera más simple posible sacar el
máximo rendimiento de todas las funciones del sistema operativo subyacente,
GNU/Linux en este caso preciso.
Gambas se inspira, sobre todo, en Java: se trata de un lenguaje orientado a objetos,
procedural e interpretado. Pero su intérprete es mucho más rudimentario: no hay
compilación just-itl-time, no hay garbage collector. Sin embargo, he cuidado mucho
su simplicidad, su coherencia, su fiabilidad y sus facultades de internacionalización.
Gambas es extensible. Es posible escribir componentes que aüaden al lenguaje cla
ses suplementarias. Estos componentes ofrecen, en general, el acceso a librerías espe
cíficas: QT, GTK+, SDL, OpenGL, y así sucesivamente...
Gambas ofrece un entorno de desarrollo integrado, moderno, que está, él mismo,
escrito en Gambas. Es ése principalmente el que me permite probar el lenguaje :-).
Además, es totalmente posible prescindir de él.
Finalmente, y nunca insistiré lo suficiente, Gambas no es un lenguaje creado por
programadores profesionales para programadores no profesionales. Yo soy su pri
mer usuario y otra de las razones que me ha llevado a crearlo es que todavía no deseo
aprender en serio Perlo Python :-)
•
Programación visual con Software Libre
La primera versión estable de Gambas salió el 1 de enero de 2005, pero las cosas se
pondrán realmente interesantes con la segunda versión. En el momento en el que
escribo estas líneas, la versión de desarroUo ofrece la posibilidad de escribir compo
nentes directamente en Gambas, sin necesidad de dominar C O C++. Más tarde, esta
posibilidad permitirá al entorno de desarroUo diseñar algo más que formularios grá
ficos: tablas, hojas HTM L, etc.
Es difícil prever de manera precisa cuándo saldrá esta segunda versión, e incluso,
más en general, cómo evolucionará Gambas en el futuro. El trabajo que queda por
hacer es todavía enorme y las cosas dependen mucho de los usuarios.
En cualquier caso, espero que tendréis tanto gusto en utilizarlo como yo lo he teni
do en crearlo y que participaréis en su evolución. Y si, como para otros, Gambas es
el factor que os lleva a utilizar por fin eJ Sofhvare Libre, espero que sentiréis como
yo el respiro que produce esta libertad.
Martes. 16 de agosto de 2005.
-
BENOiT.
•
íNDice
CAPiTULO" ¿OUÉ es GAMBAS?
17
•
1.
IJ IJ e o []
[J lJ [] e a 1. 2 Un entorno libre
III El [] e IJ
I El lenguaje BASre: su historia .........•.......... 18
.21
. 23
24
26
27
I!II!l1IJ [] IJ
mo IJ D o l. 5 Compilación y dependencias
1:1 11 ti o 1:1
1. 3 Elementos de Gambas
l. 4 Cómo obtenerlo
. . . . . . .
.
.
.
. . . •. . .
. . . . . . ..•....
. . . . . . . . .
l. 6 FamiliarizarsE con el lOE
El primer EJemplo. . . . . . . . .
o o o o o
. . . . . . . . •. .
.
29
o o o o o Mejor con un ejemplo grafico . .
aooao Un poco de magia
OIJ IJ o [J
1. 7 Sistema de componentes
. •.......... 32
. •.......... 35
36
.
CAPiTULO 2, PROGRAMACiÓN BÁSICA
o liI o IJ IJ 2. I Organizadón de un proyecto de Gambas
.
Declaración de variablES. . . . . . . . . . . . . . .
o o o o o
a a a a o SubrutInas y funcIones. . . . . . . . . . . . . . . .
.
41
42
42
45
fndice
PrOQftlmoción viwol ton Software Lbre
•
••
•
•
•
2.2 Tipos de datos ............•.....•.....•.......... 49
ConY8'SlOn dE tipos .....................•.......... 50
MatricES
OpEradonEs logIcas
52
2. 3 OperacionEs matematicas .............•.......... 54
56
2. 4 Manejo de cadenas ....................•.......... 56
2.5 Control de flujo ..................•......•......... 60
lF_ TtiEN.... ElSE ...........•.....•......•......... 60
SelEct .....................•............•.......... 62
FOR ...................................•........... 63
~ Y REPEAT ........................•......... 64
0EpI.rad0n En El DE dE Gambas
66
2. 6 Entrada Y salida de ficher
Comentarios de: GAMBAS programación visual con Software Libre (0)
No hay comentarios