Gambas is the name of an object-oriented dialect of the BASIC programming language as well as the integrated development environment that accompanies it. It is designed to run on Linux and other Unix-like computer operating systems.[2] Its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish language, from which the project's logos are derived.
2. GAMBAS
ALMOST
MEANS
BASIC
http://gambas.sourceforge.net
3. A Development Environment
Inspired By JAVA™ And Visual Basic™
LINUX
JAVA GAMBAS Visual Basic™
Abstraction ALMOST Consistency
QT
MEANS OpenGL
BASIC
GTK+ SDL
Simplification
4. Gambas History
Developed by the French programmer Benoît Minisini
First release coming in 1999
Gambas 1.x versions featured an interface made up
➢ Fimilar fashion to the interface of the GIMP
➢ only develop applications using Qt
➢ oriented towards the development of applications for
KDE
➢ The last release is Gambas 1.0.19
Gambas 2.x was released on 02 January 2008
➢ It featured a major redesign of the interface
➢ Gambas 2.x versions can load up and run Gambas 1.x
projects
➢ use GTK+ for drawing or utilize OpenGL acceleration
➢ The Stable Version & Using Now 2.23.1 (27 May 2011)
Gambas 3 RC was released on 27 May 2011
5. WHAT IS IN?
An Object-Oriented Language
A Full BASIC Language
Public or Private Symbols
Datatypes Static Symbols
Dynamic or And Easy Development Environment
A Modern
ControlInheritance
Simple Structures
Error Management
Polymorphism
Syntax Highlighting
Inputs – Outputs
Properties
Automatic Completion
String Management
Events
GUI Form Editor
Arithmetical & Logical Functions
Constructor Destructor
Code Source/ Translator
File Management
Special Methods
Integrated Debugger
Date Explorer
No Garbage Management
Help & Time Collector
Charset Conversion Functions
Event Observers
Process Management
Native Classes
Exportable Classes
6. COMPONENTS
Extensible Language
gb.compress ► Compress / Uncompress
gb.corba ► COBRA Client
gb.crypt ► DES / MD5 Crypting
gb.db ► Database Acces
gb.gtk ► GTK + Graphical Toolkit
gb.ldap ► LDAP Client
gb.net ► Networking
gb.opengl ► OpenGL Library
gb.pcre ► Regular Expressions
gb.pdf ► PDF Rendering
gb.qt ► QT Graphical Toolkit
gb.qt.kde ► KDE Integration
gb.qt.kde.html ► Internet Browser
gb.sdl ► SDL Library (image, sound & etc)
gb.v4l ► Video For Linux Library
gb.xml ► XML / XSLT API
7. VISUAL BASIC™ PROJECT
Form Binary Data N/D ◄Can Be Guessed (Sometimes)
Project
Source Code BUGS
Text Files BUGS
ACTIVE-X ACTIVE-X
COMPONENTS CONTROLS
COMPILER
N/D BUGS
WINDOWS
VISUAL-BASIC
INTERPRETER SHARED
Bytecode
LIBRARIES
Active-X Automation
Windows Applications
N/D = Not Documented
8. GAMBAS PROJECT
Data Files
Project
Source Code
Text Files
COMPONENTS COMPONENTS
WRITTEN IN WRITTEN IN
GAMBAS C/C++
COMPILER
BUGS
GAMBAS GNU COMMAND
INTERPRETER
Bytecode LINE & UTILITIES
DCOP DBUS
N/D = Not Documented Gnome/KDE Applications
9. APPLICATION INTERFACE
VISUAL BASIC VS GAMBAS
Non-Language-Specific Differences
Type of file Visual Basic Gambas
Project definition file .vbp .project
Module .bas .module
Class file .cls .class
Form definition file .frm .form
Binary resource files .frx Any other files Stored
10.
11.
12. PROGRAMMING LANGUAGE
GAMBAS VS VISUAL BASIC
VISUAL BASIC 6 GAMBAS 2
VERSION 5.00 ' Gambas class file
Begin VB.Form Form1 ' This is for Note. Please Use (') To Start Your Note
BorderStyle = 1 'Fixed Single
Caption = "Simple Calc"
End PUBLIC SUB _new()
Begin VB.CommandButton CmdDarab Form.AutoResize = FALSE
Caption = "X"
Height = 375 END
Left = 120
TabIndex = 3 PUBLIC SUB Form_Open()
Top = 1200 ME.Center
Width = 375 Form.Maximized = FALSE
End END
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False PUBLIC SUB Darab_Click()
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True LblOPS.Caption = "Darab"
Attribute VB_Exposed = False
Private Sub CmdDarab_Click() InNo3.Text = InNo1.Text * InNo2.Text
On Error GoTo ErrorHandler
LblOPS.Caption = "Darab" CATCH
InNo3.Text = InNo1 * InNo2 Error.Clear
Exit Sub LblOPS.Caption = "Kesilapan Pengguna"
ErrorHandler: InNo3.Text = "Kesilapan Pengguna"
LblOPS.Caption = "Kesilapan Pengguna"
TxtJaw.Text = "Kesilapan Pengguna" END
Resume Next
End Sub
13. WHY NOT USING GAMBAS?
Writing It's Own Language Is Funny & Exciting
Easy To Learn With Something Visual, Easy & Basic
Development Environment Is Easy To Use
Fast To Development Something Simple Application/Software
An Object-oriented Language
Components Are Designed To Be As Simple & Coherent As
Possible
You Can Write Software That Is Independent From The Graphical
Toolkit & The Underlaying Database Management System
Good To Teach At University As Basic Programming Language
To Make The Power Of GNU/Linux Libraries Easily Accessible
Last, But Not Least : GNU/Linux Is Free, Powerful, Secure & Cool
14. THE GAMBAS FUTURE
✔ New Development Environment
✔ QT & QTK+ Components Completed
✔ Controls Bound To Data Sources
✔ Report Designer
✔ DBUS Protocol
✔ Making Web Applications
✔ Help Porting Visual Basic™ Applications
✔ Object Persistence System
✔ And Many Moore..
Thank For Your Time To
Viewing Facility in Gambas