Archive for the ‘Gamblog’ Category

Standaard leeg project

Project Type: Graphical application.
Options:

Internationalisation
Database access
Settings files management

Name: EmptyProject
Title: Empty Project
FMain: Menu met

File: Quit

Help: About, Changes, License

Form_Open: zet programma titel en versie.
doClose(): aangeroepen bij Menu/Quit (of scherm “Exit” button); kan afsluitende code aanroepen (wegschrijven toestand)
FAbout: About logo en tekst: naam plus versie.
FLicense: Toont License.txt
FChanges: Toont Changes.txt
Misschien nog een “test” menu-item dat alleen verschijnt als de conf […]

TabStrip: hoe tab-bladen bijmaken en aanspreken?

Een tabstrip zit in de Toolbox onder de tab “Container”.
Eens op het werkvlak getekend heeft hij slechts 1 tab: Tab0.
Als je terug naar de Toolbox gaat zoeken om tab-bladen bij te maken vind je dat daar niet.
Als je op het TabStrip rechtsklikt om tab-bladen bij te maken vind je alleen “Move Tab”, niet “Create”

Om […]

Columnview: kolomtitel invullen, item invullen

Nieuw formulier FMain, daarop een columnview “cvTwoCols”.
Eerst moeten de dimensies opgegeven worden met Columns.Count.
Dan kunnen de titels ingevuld worden.
Dan kunnen lijnen bijgemaakt worden met een zelfgekozen sleutel waarmee een opvraging kan gebeuren.
Tenslotte kan
- genavigeerd worden met MoveTo,
- een waarde gewijzigd,
- of de waarde in een bij de lijn horende kolom ingevuld worden.
PUBLIC SUB btFillColView_Click()
[…]

html rapport weergeven of printen

Uitvoer kan je eenvoudig doen in html-bestanden, die je lokaal schrijft en opent met een browser.
Maak een module met alle printonderdelen, en met bovenaan
PUBLIC bToPrint AS Boolean

PRIVATE hFile AS File

schrijf een bestand
OPEN sFilename FOR WRITE CREATE AS #hFile
pushHeader(bToPrint)

dat je begint met een kop die zo […]

Universele product selectie op scherm

Ik ben op zoek naar een manier om een redelijk “universeel” inzetbare productselectie te doen op het scherm.
Voorlopig denk ik aan:

  • Het scherm toont een aantal knoppen om produkten te kiezen
  • produkten komen uit databank
  • aantal produkten ligt niet vast
  • hoeveel produkten op scherm tonen? Wijzigbaar aantal?
  • een knop per produkt, met produktnaam of afbeelding
  • een display waar informatie over de selectie komt
  • een methode om er een “aantal” selecties aan te koppelen?
  • een aktie-log in de vorm van een “rolletje” vgl kassa’s?

(werk in uitvoering in deze dir ; laatste versie als ProductSelect-snapshot.tar.gz)

Foxpro timestamp data leesbaar maken

Een uit Foxpro ingevoerde tabel bevat een kolom met “timestamps”; het is een getal dat in Foxpro gebruikt wordt om te kijken in welke volgorde de records gemaakt (of gemanipuleerd) werden; een vergelijking tussen de getallen levert een aantal seconden verschil op. Hoe dit getal bruikbaar maken, bv door het naar een leesbare datum om te zetten?

Bv: het getal : 487768695 zou op het moment van bewaren het het aantal seconden voorstellen dat verstreken is sinds Foxpro’s referentietijd, een soort seconde nul in het begin van 1980.

Hier komen de Visual Basic Compatibility functies goed van pas.
De component gb.vb bevat maar een paar functies, niet toevallig met datumfuncties, en meer bepaald om tijd bij te tellen of af te trekken van een datum:

Icoon voor je project

  • Default map icon Er is een standaard icoon voor gambasmappen; een map gecobineerd met een blauwe garnaal: .icon.png; de naam begint met een punt en is daardoor onzichtbaar. In een eveneens “onzichtbaar” bestand .directory staat het icoon aangegegeven voor deze directory (in KDE):

    [Desktop Entry]
    Icon=./.icon.png

    Blijkbaar: Als er een icoon gekozen is in het project, wordt dit gecombineerd met een standaard map-icoon tot een nieuw waar beide in voorkomen.

  • Er is ook een standaard icoon voor een project; de blauwe garnaalkop.
  • Het icoon kan je kiezen bij menu project, properties; klik op de grote icoon-knop om het icoon te kiezen uit je bestanden.
  • Als je het project compileert vanuit de IDE maakt die een icoon op de desktop aan om het programma te starten …

Source archive uitpakken, compileren en draaien

Ik zoek een manier om gemakkelijk een programma in aanpassing bij de gebruiker te installeren.
Programmeur:

Maak source archive in de Gambas IDE
Upload ergens

Gebruiker:

Download bv met wget locatie/archivenaam van ergens het “source archive”.
Zet het bestand in de gambas werkdirectory, bv in ~/gambasprj
Pak uit bv in terminal met tar -xzvf archivenaam; je krijg een projectdirectory met projectnaam
Compileer in […]

Database opvraging met result set

Met de resultset kan je dan hetvolgende:

  • Kijken hoeveel records of resultaatrijen er zijn
  • bewegen met de pointer
  • FOR EACH gebruiken ipv zelf teller te definieren
  • De inhoud van een veld opvragen om in te vullen in bv een TableView
  • De “subcollecties” met FOR EACH enumerated gebruiken, als myResult.Fields

Parameters meegeven naar Form

In het voorbeeld Database (voorbeelden inbegrepen in Gambas) wordt zo informatie doorgegeven naar een opgeroepen form:
hForm = NEW FRequest($hConn, rData)