Gambas in Fedora 10 KDE

Gambas komt voor in het software beheer, maar je moet het vinden…
System, KPackage Kit, Software Management; Find: “gambas2”: levert een lijst op van gambas paketten. Daarin komt gambas2 ide voor. Maar helaas krijg ik de software hiermee niet geïnstalleerd; er is geen selectie + “apply” mogelijk.

Gambas in Fedora Core 9

Gambas in Fedora Core 9
Gambas is reeds lang beschikbaar in Fedora. Niet waar je Gambas zou verwachten, nl in development tools, maar wel te vinden via de zoek mogelijkheid.
Opgelet want als je alleen Gambas zoekt, zitten alle Gambas1 paketten ook in het resultaat.
Gambas staat nadien in het Development menu.

Gambas in Mandriva One 2009

Gambas in Mandriva One 2009
Gambas is in versie 2.8.2 standaard aanwezig in Mandriva One 2009.
Start het Software Management en kies bij Development, Other: Gambas2.

Er komen een paar meldingen maar na alles gewoon te bevestigen is Gambas2 beschikbaar!
Zonder voorbeelden, en met een donkerder blauwe kleur dan ik gewend ben op andere installaties.

Het betreft hier een KDE 4.1, en gambas gedraagt zich een beetje raar; zo is de bestand-openen dialoog wat X-achtig. De letters zien er ook wat raar uit, het lettertype eerder.

Maar een snel gemaakte eenvoudige 1-knop toepassing “test” werkte alvast.


Details over het verloop van de installatie:

To satisfy dependencies, the following package(s) also need to be installed: zie verder

Continue reading

Gambas in Fedora Core 8

In fedora core 8 (ook al in FC5) kan je in software management Gambas kiezen. Helaas is het versie 1, die toch wel sterk verouderd is tegen de huidige 2 (en zelfs 3 in ontwikkeling).
Als Gambas gestart wordt, blijken veel voorbeelden niet te werken. Een form met een knop maken en “run” laat zien dat de omgeving in principe wel werkt, maar als je de keuze hebt, werk dan met Gambas2.

Gambas 2 in Ubuntu 8.10

Gambas 2 in Ubuntu 8.10 Ubuntu krijgt Gambas 2

In de live CD van Ubuntu 8.10 kan je bij “software installeren” al nazien of Gambas 2 nu beschikbaar is.

Kijk bij Add/Remove applications, All available applications, Programming.

Na het installeren vanuit de live CD:

Synaptic Package Manager, Development, Quick Search gambas2.

Gambas installeren was nog nooit zo gemakkelijk.
Gambas 2 draait in Ubuntu
Gambas werkt echt fantastisch goed, dit is de eerste Gambas-Gnome combinatie die er zo goed uitziet, zelfs met een project dat gemaakt is in KDE.

Hoe een shell commando uitvoeren

Er zijn 2 mogelijkheden om commando’s naar het systeem te sturen:

EXEC en SHELL

EXEC start een extern process. SHELL start een extern command in een shell.
Bij EXEC geef je de parameters allemaal als parameter mee. Bij SHELL geef je een string met het hele commando mee.
EXEC [ "ls", "-la", "/tmp"] WAIT SHELL "ls -la /tmp" WAIT
EXEC wordt uitgevoerd in ? SHELL wordt uitgevoerd in /home/username
Gebruik bv
Application.path & "/this.txt"
voor een bestand dat in het Gambas programma-pakket zit (directory)
Test bv met
DIM sReturnValue AS String
SHELL "pwd" TO sReturnValue
DEBUG sReturnValue

Listbox: bovenste item selecteren?

listboxIk probeerde het bovenste element van de listbox te selecteren bij het openen van het scherm en het vullen van de lijst, met:
lsbxInvoice.Current.Selected = ..
maar dat werkte niet zo …

Een listbox is een lijst met n elementen; bv 15 elementen.
De elementen worden genummerd en kunnen aangesproken worden met een index.
Het eerste element in de lijst heeft index nummer 0, dus het laatste n-1.
Vb element[0] .. element[14].

Een listbox wordt gevuld door de methode “Add”, eventueel aangevuld met de plaats waar de toevoeging moet gebeuren.
bv
lsbxInvoice.Add("001-aankoop")
lsbxInvoice.Add("001-aankoop", 0)

Na het vullen van de listbox kan het bovenste element geselecteerd worden door de index te zetten:

lsbxInvoice.Index = 0

Op deze manier kan bij het openen van het scherm een element van de lijst geselecteerd worden.

Volgorde tabs wijzigen in tabstrip?

TabStrip
Veronderstel dat je een tabstrip in elkaar stak zoals op de afbeelding. Maar nu is er een probleem; je wil dat gebruikers terechtkomen in de “algemene” tabstrip General. Helaas staat die achteraan, en de eerste wordt geopend.

  • Klik de “properties” kant van het scherm open (rechts) als dat nog niet gebeurd is. Klik bovenaan op Hierarchy. Daar zie je de onderdelen apart staan. Helaas zijn ze niet te selecteren om de volgorde te veranderen…
  • Ook klikken en slepen in de GUI gaat niet.

Oplossing gevonden:

Muiscursor boven het tabblad, rechtsklik; kies “Move tab”: “first” / “previous” / “next” / “last”, …Move First

Selectie uit een rolluiklijst (combobox)

ComboBox Events … Een rolluiklijst of dropdownlist heet in Gambas “combobox”.ComboBox
Het is namelijk een combinatie van 2 verschillende schermobjecten:

op de knop drukken laat het rolluik met mogelijkheden neer; het opent de lijst.

Helaas zijn hier nogal veel mogelijkheden ingebouwd, en is het niet altijd zo snel duidelijk wat ze wanneer doen.

ComboBox Events …Wat een combobox doet is bv afhankelijk van de “events” (klik rechts, “events”, zie afbeelding )

ReadOnly: TRUE
ComboBox Read Only
op “pijltje” openen: ok
_Activate: nvt
cmbx1.Popup() doet niets
_MouseDown() –
_Change: nvt
_LostFocus: –
_Click() ook bij “enter”
meeste akties hier
  ReadOnly: FALSE
ComboBox 1
op “pijltje” openen: ok
_Activate: opgeroepen bij “enter” vlgs DEBUG
cmbx1.Popup() Automatisch openen lijst – niet?
_MouseDown() : cmbx1.Popup() om ipv tekst met cursor lijst te krijgen
_Change: als de tekst wijzigt …
_LostFocus: controleer of waarde …
_Click()

Dus cmbx_change wordt niet geaktiveerd door het veranderen van de selectie in de combobox (bv scrollen van de waarden).
cmbx_change wordt alleen geaktiveerd in een “writeable” cmbx, waarin je op de plek van de selectie de tekst verandert. Ook als je een keuze maakt uit de waarden van de rolluiklijst wordt dat als een verandering van die tekst beschouwd en wordt _change uitgevoerd. (waardoor het lijkt op de reaktie van _click bij een readonly combobox)

Project source download en run

Ontwikkeling in Gambas op verschillende computers, en het project heen en weer kopieren:

  • – overbodige Form files verwijderen
  • – opletten met “deel compilatie” *

* (ik weet niet waardoor het veroorzaakt wordt)

Eerste computer:
Project dat uit verschillende forms, modules en classes bestaat. Make source package. Upload source.tar.gz.

Andere computer:
download source.tar.gz
uitpakken.
Run: niet alle vensters lijken helemaal mee te zijn met de development versie van Eerste.
Compile all

Opgelost met: Project, Compile All.
Uit menu of dubbele groene pijl (ze schermafbeelding)

(Gekozen tussen “Compile all”, Project, “refresh” en Tools, “update all forms”)