Sciencexp : le site des Sciences Expérimentales

Mesures scientifiques et ordinateur : mesurer, figurer, comparer

Logiciels de bureautique et système Mensura

OpenBasic et LibreBasic, pour OpenOffice et LibreOffice (logiciels libres, Linux et Windows, mais la version Linux ne semble pas gérer les bibliothèques dynamiques)

Au début du module, on déclare les fonctions à utiliser dans les DLL :
Declare function eadouble lib "c:\projd5\mgw32\pilotes\xadestar.dll" alias "eadouble" (byval n as double) as double
Declare function neadouble lib "c:\projd5\mgw32\pilotes\xadestar.dll" alias "neadouble" (byval n as double) as string

Ensuite, dans le corps du programme en Basic, on utilise ces fonctions dans un sous programme, appelé par exemple «mesures» . Le sous programme ci-dessous va insérer la valeur lue à la voie 1 dans la case B1 de la première feuille de calcul (nommée «Feuille1») :
sub mesures
activewindow.gotocell("Feuille1.$B$1")
activecell.insert(stdeadouble(1))
end sub


Enfin, il faut donner l’ordre de déclencher ce sous-programme, par exemple en créant un bouton, et en spécifiant que lors du déclenchement de ce bouton, le sous-programme «mesures» sera effectué.


BasicMaker, de SoftMaker Software GmbH (versions Windows)

La suite bureautique SoftMaker est d’origine allemande et non-libre (http://www.softmaker.com). Ces logiciels sont plutôt moins puissants que les versions récentes de OpenOffice ou LibreOffice, mais ils sont beaucoup plus légers (moins de 100 Mo). Les versions Windows fonctionnent correctement sous Linux grâce à Wine, et peuvent facilement être installées de façon portable sur une clé USB.
La version gratuite est disponible en http://www.freeoffice.com/, mais elle n’a pas le langage BasicMaker.
En plus de permettre l’automatisation des tâches de PlanMaker (le tableur) et TextMaker (le traitement de texte), BasicMaker fonctionne comme un langage Basic classique, avec les instructions print ou input.


Declare Function stdnead Lib "bibdyn_syst_pb_ANSI.dll" (ByVal n As Integer) As string
Declare function stdead Lib "bibdyn_syst_pb_ANSI.dll" (ByVal n As Integer) as double
declare function stddetail lib "bibdyn_syst_pb_ANSI.dll"  as string

Les trois déclarations précédentes permettent ensuite d’utiliser les fonctions stddetail, stdnead, stdead par un langage Basic :
print stddetail()
print stdead(0)
print stdnead(0)

Ci-dessous est un miniprogramme pour faire des mesures dans le tableur. Il nécessite qu’une feuille de calcul ouverte.
Declare Function stdnead Lib "bibdyn_syst_pb_ANSI.dll" (ByVal n As Integer) As string
Declare function stdead Lib "bibdyn_syst_pb_ANSI.dll" (ByVal n As Integer) as double
declare function stddetail lib "bibdyn_syst_pb_ANSI.dll"  as string

Dim intervalle as double
Dim row as Integer
'intervalle=2
intervalle=val(InputBox("(secondes)", "Intervalle ?", "1", 20, 10))

Set pm = CreateObject("PlanMaker.Application")
pm.Visible=True
pm.Workbooks(1).Activate

demarrage#=now
For row = 2 To 8
     chrono1#=now
    pm.ActiveSheet.Cells.Item(row,1).value=(chrono1#-demarrage#)*86400
    pm.ActiveSheet.Cells.Item(row, 2).Value = stdead(0)
     do
    chrono2#=now   
    loop while chrono2#<chrono1#+intervalle/86400     
Next row
'pm.ActiveWorkbook.SaveAs "test2.xls", pmFormatExcel97






Dernière modification le 11/03/2018

Site motorisé par ZitePLUS 0.9.1