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.

Seconden naar minuten -> uren -> dagen: getal / (60 x 60 x 24)

Hier komen de Visual Basic Compatibility functies goed van pas. Je moet dan eerst bij Project, Properties, tab Components gb.vb aankruisen!

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:

DateAdd DateDiff Left Mid Right Round Str Val

DateAdd vereist de aard van wat erbij geteld wordt (dag), bij te tellen getal, begindatum:

vb.DateAdd("d", Round(db.fldTimestamp / (3600 * 24), 0), Date(1980, 1,1)

Ik probeerde het eerst met seconden maar daar moet ik iets gemist hebben, want dat gaf niet het juiste resultaat:

txlbUpdated.Text=Str$(vb.DateAdd("s", db.fldTimestamp, Date(1980, 1,1))

om weer te geven op het scherm in een programma.

Gambas in OpenSuse 11.1

Ik heb al een repository gevonden in de gbvalor reeks:

http://download.opensuse.org/repositories/home:/gbvalor/openSUSE_11.1/i586/

Toevoegen in het pakketbeheer (repository) in Yast2: in 1 keer plakken werkte niet (mogelijk vanwege de : in de url) dus opdelen ongeveer zo:

  • protocol http
  • server download.opensuse.org
  • directory repositories/home:/gbvalor/openSUSE_11.1/i586/

Bevestig de digitale sleutel van dit repository.

Zoeken naar software in Yast:

Zoek : “gambas2”

Een hele lijst met gambas2 onderdelen verschijnt. Klik rechts, select all.

Installeer; bevestig de afhankelijkheden (dependencies).

Resultaat:
Software menu, Development, gambas2 start Gambas 2.14

Update mei 2010:
* Aangezien dit de laatste openSuse versie is met de KDE 3.5 zou je voor deze versie kunnen kiezen, bv door een installatie van een net-install iso die je alsnog afhaalt van de opensuse site.
Als je na installatie in de repositories de “openSuse-Education” repository kiest, krijg je gambas versie 2.13 geïnstalleerd.

* Recenter: gbvalor
Ofwel de gbvalor repository toevoegen die ondertussen gambas versie 2.18 heeft:
http://download.opensuse.org/repositories/home:/gbvalor/openSUSE_11.1
en import de key.
Software management, zoek “gambas2”, de-installeer eventueel oudere versies; selecteer gambas2 nieuwe versie.

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; dit icoon wordt daarvoor gebruikt (anders standaard icoon).

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