Difference between revisions of "Gambas"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
m (→‎Stumbling Blocks: ^ calls to)
(→‎How To: install the latest version)
 
(52 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Computing]]: [[Software]]: [[Gambas]]{{seedling}}
+
<hide>
[[Gambas]] is a programming language and [[IDE (programming)|IDE]].
+
[[page type::article]]
==Overview==
+
[[thing type::programming language]]
* intended to fill the same niche as [[VB]], though not intended to be code-compatible
+
[[thing type::integrated development environment]]
 +
[[category:software]]
 +
</hide>
 +
==About==
 +
[[Gambas]] is a [[programming language]] and [[IDE (programming)|IDE]].
 +
 
 +
It is:
 +
* intended to fill the same niche as [[Visual Basic|VB]], though not intended to be code-compatible
 
* currently only available for [[Linux]] and other Unix-derivatives (there is a partially-functioning Windows version)
 
* currently only available for [[Linux]] and other Unix-derivatives (there is a partially-functioning Windows version)
 
* [[open-source]]
 
* [[open-source]]
==Articles==
+
==Pages==
* [[Gambas Reference]]
+
* [[/authoring]] -- developing Gambas itself
==Reference==
+
* [[/flaws]]
 +
* [[/help browser]]
 +
* [[/questions]] answered and unanswered
 +
* [[/reference]]
 +
* error messages:
 +
** [[Not enough arguments]]
 +
 
 +
==How To==
 +
* '''Installation''':
 +
** [https://www.htlinux.com/install-gambas-3-5-via-ppa-in-ubuntu-linux/ Install Gambas 3.5 via PPA in Ubuntu & Linux]: how to install the latest version (which may not be available in your default repositories)
 +
* '''Develop with''':
 +
** '''Responding to right-clicks''': the standard Click event also responds to right-clicks
 +
** '''Showing a pop-up menu''': ''still looking into this...''
 +
** [[/nesting forms]]
 +
 
 +
==Links==
 +
===Official===
 
* [http://gambas.sourceforge.net/ Gambas homepage]
 
* [http://gambas.sourceforge.net/ Gambas homepage]
** includes 2 wikis, a [http://gambasdoc.org/help new one] and an [http://www.binara.com/gambas-wiki/bin/view/G%61mbas/WebHome old one]. The new wiki is apparently written ''in'' Gambas, but lacks a search function (and many other common [[wiki]] functions), and requires an account in order to edit, which in turn requires an email to the author.
+
** official documentation (on the [[/wiki|Gambas wiki]]): [http://gambasdoc.org/help/?v2 version 2]; [http://gambasdoc.org/help/?v3 version 3]
* [[Wikipedia:Gambas]]
+
===Reference===
==Stumbling Blocks==
+
* {{wikipedia}}
* One of the more confusing aspects of Gambas (for a Visual Basic user, anyway) is that Gambas's events do not pass parameters; instead, you have to know where to fetch them from:
+
* {{wikibooks}}
** '''Form resize''': the size is easily available as a form property ("ME.")
+
===Projects===
** '''Mouse clicks''': use the [[Mouse object (Gambas)|Mouse object]]
+
* [http://howtogambas.org/index.php?page=cedi&type=misc&id=3 HowTo Gambas: Building GUI Applications]
** '''Key presses''': use the [[Key object (Gambas)|Key object]]
+
===resources===
** '''Controls in a group''': use the [[LAST (Gambas)|LAST]] keyword
+
* [irc://irc.freenode.net/#gambas Gambas] IRC channel
*** The most obvious solution would have been for the event to pass the control as a parameter; Gambas events don't seem to use parameters. Another intuitive solution would have been for the group itself to appear on the form's list of controls/methods, as an alias for the currently active/effective control. Finally, if the form had an ActiveControl property, I could pull the .Tag value from there, although I would expect to run into problems using this technique under some circumstances. '''Answer''': The LAST keyword refers to the control which generated the current event.
+
===Defunct===
* Another minor thing to remember is that calls to Gambas subroutines always put parentheses around the parameter list (VB subroutines do not, unless the subroutine is a function or property and the return value is being retrieved).
+
* <s>[http://www.laclavedefa.org/codigo_abierto/gambas_tutorial/ tutorials]</s> (English, Spanish)
 
+
** defunct as of 2007; [https://web.archive.org/web/20061012095644/http://www.laclavedefa.org/codigo_abierto/gambas_tutorial/gambas_tutorial_en.html archive]
==Flaws==
+
* <s>[http://www.linuxbasic.net/ Linux Basic]</s>
* (Minor) Identifiers are not automatically capitalized to match their declaration, as in VB; fortunately, identifiers are not case-sensitive, so this doesn't make things ugly the way it does in C/C++.
+
** seems to have gone defunct in late 2013; [http://web.archive.org/web/20130509005418/http://www.linuxbasic.net/ archive]
* (Semi-minor) The field-list doesn't pop up under certain circumstances; checking into this.
+
** was a forum: ostensibly for "the new breed of Basics coming out for the Linux operating system", but the focus seems to have been mostly (or entirely) on Gambas
* (significant) Help system is not context-sensitive; you have to type the term in manually and search for it. Similarly, there doesn't seem to be a way to go to an identifier's definition.
 
* The field-list popup isn't smart in certain circumstances:
 
*# Type me.controlname.field (use a real control name and a real field name)
 
*# Move cursor somewhere else
 
*# go back to same line, and highlight the "." between "controlname" and "field"
 
*# type "."
 
*#* (minor) The list doesn't automatically select the field which was there already
 
*#* (annoying) When you select the field you want, it is inserted between "." and the fieldname that was there before. This follows logically from the editing rules, but is not what we want to happen; the selected fieldname should replace the old fieldname.
 
  
 
==Notes==
 
==Notes==
* The Help system appears to be wiki-based, possibly feeding directly off the Gambas wiki -- so any errors found can be corrected by anyone, in theory. Not sure how easy this is in practice. (Edit buttons do not appear in the Help app, so you would have to find the correct page on the wiki.)
+
* The Help system appears to be wiki-based, possibly feeding directly off the Gambas wiki -- so any errors found can be corrected by anyone, in theory. Not sure how easy this is in practice. (Edit buttons do not appear in the Help app, so you would have to find the correct page on the wiki, and get editing permission from the webmaster.)

Latest revision as of 14:37, 27 August 2015

About

Gambas is a programming language and IDE.

It is:

  • intended to fill the same niche as VB, though not intended to be code-compatible
  • currently only available for Linux and other Unix-derivatives (there is a partially-functioning Windows version)
  • open-source

Pages

How To

  • Installation:
  • Develop with:
    • Responding to right-clicks: the standard Click event also responds to right-clicks
    • Showing a pop-up menu: still looking into this...
    • /nesting forms

Links

Official

Reference

Projects

resources

Defunct

  • tutorials (English, Spanish)
  • Linux Basic
    • seems to have gone defunct in late 2013; archive
    • was a forum: ostensibly for "the new breed of Basics coming out for the Linux operating system", but the focus seems to have been mostly (or entirely) on Gambas

Notes

  • The Help system appears to be wiki-based, possibly feeding directly off the Gambas wiki -- so any errors found can be corrected by anyone, in theory. Not sure how easy this is in practice. (Edit buttons do not appear in the Help app, so you would have to find the correct page on the wiki, and get editing permission from the webmaster.)