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