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
(→‎Reference: wikibooks link)
 
(45 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]]
* [http://gambas.sourceforge.net/ Gambas homepage]
+
* [[/help browser]]
** [http://gambasdoc.org/help Gambas 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.
+
* [[/questions]] answered and unanswered
* [[Wikipedia:Gambas|Wikipedia]]
+
* [[/reference]]
* [[wikibooks:Gambas|Wikibooks]]
+
* error messages:
* [http://www.laclavedefa.org/codigo_abierto/gambas_tutorial/ tutorials] (English, Spanish)
+
** [[Not enough arguments]]
  
==Stumbling Blocks==
+
==How To==
===Unanswered===
+
* '''Installation''':
* '''Q''': How do you access [[kioslave]]s in code?
+
** [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)
* '''Q''': Is it possible to do [[continuous forms]] as in [[MS Access]]? It seems likely that it can be done with some coding...
+
* '''Develop with''':
* '''Q''': Is there any equivalent to the line-continuation syntax (space + underscore) in VB?
+
** '''Responding to right-clicks''': the standard Click event also responds to right-clicks
* '''Q''': Is there a general language syntax tutorial or reference anywhere?
+
** '''Showing a pop-up menu''': ''still looking into this...''
 +
** [[/nesting forms]]
  
===Solved===
+
==Links==
* 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:
+
===Official===
** '''Form resize''': the size is easily available as a form property ("ME.")
+
* [http://gambas.sourceforge.net/ Gambas homepage]
** '''Mouse clicks''': use the [[Mouse object (Gambas)|Mouse object]]
+
** official documentation (on the [[/wiki|Gambas wiki]]): [http://gambasdoc.org/help/?v2 version 2]; [http://gambasdoc.org/help/?v3 version 3]
** '''Key presses''': use the [[Key object (Gambas)|Key object]]
+
===Reference===
** '''Controls in a group''': use the [[LAST (Gambas)|LAST]] keyword
+
* {{wikipedia}}
*** 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.
+
* {{wikibooks}}
* 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).
+
===Projects===
* '''Q''': How do you open a file-browsing dialog that uses KDE's [[kioslave]] feature? ([http://gambasdoc.org/help/comp/gb.form/dirchooser DirChooser] in gb.form lets you choose a local folder only.)
+
===resources===
** '''A''': [http://gambasdoc.org/help/comp/gb.qt.kde/dialog/selectdirectory Dialog.SelectDirectory] in [http://gambasdoc.org/help/comp/gb.qt.kde gb.qt.kde] provides this.
+
* [irc://irc.freenode.net/#gambas Gambas] IRC channel
 
+
===Defunct===
==Flaws==
+
* <b>[http://howtogambas.org/index.php?page=cedi&type=misc&id=3 HowTo Gambas: Building GUI Applications]</s>
* (Minor) Identifiers are not automatically capitalized to match their declaration, as in VB; fortunately, identifiers are not case-sensitive for compilation, so this doesn't make things ugly the way it does in C/C++. The pop-up list of methods/properties/events won't show up, however, unless the object's name is properly capitalized.
+
** defunct as of 2024
* (Semi-minor) The field-list doesn't pop up under certain circumstances; checking into this.
+
* <s>[http://www.laclavedefa.org/codigo_abierto/gambas_tutorial/ tutorials]</s> (English, Spanish)
* (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.
+
** defunct as of 2007; [https://web.archive.org/web/20061012095644/http://www.laclavedefa.org/codigo_abierto/gambas_tutorial/gambas_tutorial_en.html archive]
* The field-list popup isn't smart in certain circumstances:
+
* <s>[http://www.linuxbasic.net/ Linux Basic]</s>
*# Type me.controlname.field (use a real control name and a real field name)
+
** seems to have gone defunct in late 2013; [http://web.archive.org/web/20130509005418/http://www.linuxbasic.net/ archive]
*# Move cursor somewhere else
+
** 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
*# 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 21:02, 15 June 2024

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

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.)