Datacontext voor directories

Ik pas al een tijdje het “datacontext” begrip toe in mijn eigen programma’s, waarbij ik gemakkelijk kan omschakelen tussen database-servers voor “development” en “live” data.

Nu wil ik samen daarmee ook andere directories gebruiken, bv voor uitvoer (“Export”). Standaard had ik daarvoor in “/home/user/Data/myApp/” een map “Export/”, maar nu wil ik schakelen tussen
“live/Export” en “dev/Export”.

In mijn configuratie-bestand maak (definieer) ik daarvoor volgende settings:
(ik gebruik het DataContext object myContext)

myContext.newDirSet("Export", "Export of data here")

Dat bewaart:

[DirSet]
Export="Export of data here"
..

Uitgebreider voorbeeld: een programma dat gegevens met foto’s opslaat in een database, daarvoor kan importeren en er ook uit kan exporteren zou volgende directories kunnen gebruiken:
(telkens de naam en de verklaring)

[DirSet]
Export=”Export of data here”
Import=”Import of data here”
Cam=”Camera images come here”
DbPictures=”Database URL’s to pictures here”

Je kan ze inlezen in een array van strings:
myContext.getAllDirSetNames()
(en zo ook tellen met array.Count)

Ik houd bovenstaande omschakelmogelijkheden aan tussen mijn echt gebruikte gegevens en mijn ontwikkelomgeving:
(terug te vinden in ~.config/gambas3/myApp.conf)


[DataContext0]
Name="live"
...

[DataContext1]
Name="dev"
...

Met het omschakelen van DataContext 0 naar 1 moeten ook de Dirset keuzes aangepast van 0 naar 1.

Daarvoor heb ik config settings nodig:

[Dirset0-Export]
Dir="/home/user/Data/myApp/live/Export"

[Dirset1-Export]
Dir="/home/user/Data/myApp/dev/Export"

Die maak ik met:

myContext.setDirValue(0, "Export", "path", User.Home)
(maak een variabele om te gebruiken ipv User.Home)

In de klasse CDataContext heb ik voor de directory instellingen dus:

newDirSet(sName As String, Optional sDescription As String) As Boolean

updDirSet(sName As String, sNewDescription As String) As Boolean

getDirSetDescription(sName As String) As String


getContextDirSet(iContextId As Integer, sDirSetName As String) As String


getDirValue(iContextId As Integer, sDirSetName As String, sKey As String) As String


setDirValue(iContextId As Integer, sDirSetName As String, sKey As String, sDir As String) As Boolean


getAllDirSetNames() As String[]

Met de bedoeling redelijk universeel toepasbaar te zijn, vanaf je een DataContext hebt gedefinieerd kan je het gebruiken, ook los van database instellingen:

https://sourceforge.net/projects/garlic3/files/Lib/DataContext/

Gebruik: het project bevat Classes en een Module, en een uitvoerbaar (desktop) programma met FMain en een menu om te testen wat het doet.

Als je het compileert als “library” dan gaat die code niet mee, en kan je het als (project properties) “library” gebruiken in een ander Gambas3 project.

Gambas3 updates v.a. 2024

Zie ook
Gambas3 updates 2018-2023.
Gambas2 updates

Gambas updates (v.a. ong dec 2023) – 2024:
(Vastgesteld ,vooral op OpenSUSE. Algemene “Release page“, voor Ubuntu zie bv hier)

2024-11-05
OpenSUSE 15.6: Gambas3 v. 3.19.5-lp156.2.1
build 19 oktober 2024 : Gambas is terug van weggeweest bij Suse

2024-08-19
OpenSUSE 15.5: Gambas3 verwijderd?
OpenSUSE Tumbleweed: Gambas3 verwijderd?
Niet meer in de repositories aanwezig, en de IDE kan door een update zelfs gedeinstalleerd worden! Zie Waar is Gambas…
– Hopelijk een tijdelijk (vakantie-) probleem. (*)

– upd: * Zie Gambas is terug

2024-07-28
OpenSUSE 15.5: Gambas3 v 3.19.3-lp155.2.1

2024-07-05
OpenSUSE 15.5: Gambas3 v 3.19.3-lp155.1.1

2024-05-31
OpenSUSE 15.5: Gambas3 v 3.19.2-lp155.1.2

2024-05-31
OpenSUSE 15.5: Gambas3 v 3.19.2-lp155.1.1

2024-03-20
OpenSUSE 15.5: Gambas3 v 3.19.1-lp155.2.1

2024-03-17
OpenSUSE 15.5: Gambas3 v 3.19.1-lp155.1.1

2024-03-12
OpenSUSE 15.5: Gambas3 v 3.19.0-6.3

??
OpenSUSE 15.5: Gambas3 v 3.19.0-5.3

2024-02-08
OpenSUSE 15.5: Gambas3 v 3.19.0-lp155.10.1
Het lijkt me dat hierna de icoontjes zijn veranderd. Ze zijn eenvoudiger en kleurlozer gewordenm niet echt een verbetering…

2024-01-15
OpenSUSE 15.5: Gambas3 v 3.18.4-lp155.10.1

Gambas is back! Gambas3 is terug in openSUSE!

Na een onderbreking van een paar maanden ben ik verheugd Gambas terug gemakkelijk te kunnen installeren in OpenSUSE, namelijk in versie 15.6. (geïnstalleerd, upd: ook gebruikt).

Stappen:
verse 15.6
Na een update van opensuse 15.5 naar 15.6 ging ik op zoek naar de vroegere bron van Gambas(3) in openSUSE: Munix.

Munix repo
Repository toegevoegd via YAST:
https://download.opensuse.org/repositories/home:/munix9/ (URL link)
En met 15.6 hebben we geluk: gambas3 is weer voorzien:
bv gambas3-runtime-3.19.5-lp156.2.1.x86_64.rpm
ps: En (voorlopig nog) niet in 16.0.

Software Installeren: gambas3
Selecteren:
gambas3 – Complete visual development environment for Gambas
Version: 3.19.5

Installation Successfully Finished
Packages
Installed Packages: 139
autoconf, automake, bison, bison-lang, dwz, gambas3, gambas3-dev-tools, gambas3-gb-args… (more)

Continue reading

Gambas 3 op Raspberry Pi 400 kit

Op de meegeleverde SD kaart staat Raspbian 11.
Na installatie/configuratie bij het eerste opstarten van de Pi, moet je Gambas apart bij installeren.

  • Add/Remove software
  • Linkse kolom bij de software groepen: Ontwikkeling (Development)
  • of zoek “Gambas”
  • Kies bv “Complete Visual Development environment for Gambas”, om de hele IDE+andere onderdelen te krijgen, bevestig
  • Bevestig, wachtwoord geven : “installing packages – please wait ..”

Als de installatie klaar is, staat Gambas3 in het menu onder Programmeren: het is versie 3.15.2. De voorbeelden zijn niet mee geïnstalleerd.