REM Pilote (bibliothèque dynamique) pour constituants du système de l'ordinateur REM à compiler avec FreeBasicr REM logiciel libre // libera programaro // free software REM Copyright (C) 2011 Pierre Dieumegard (pierre.dieumegard@free.fr) REM http://sciencexp.free.fr REM (exemples de programmes d'application de la famille Mensurasoft) REM REM Ce logiciel est un logiciel libre au sens LGPL3 (http://www.gnu.org/licenses/lgpl.txt) REM Tous droits réservés. REM Cette bibliothèque est un logiciel libre ; vous pouvez la redistribuer ou REM la modifier suivant les termes de la Licence Générale Publique Limitée REM GNU telle que publiée par la Free Software Foundation ; soit la REM version 3 de la License, soit (à votre gré) toute version ultérieure. REM Cette bibliothèque est distribuée dans l?espoir qu?elle sera utile, mais REM SANS AUCUNE GARANTIE : sans même la garantie implicite de REM COMMERCIALISABILITÉ ou d?ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez REM la Licence Générale Publique Limitée pour plus de détails. REM Vous devriez avoir reçu une copie de la Licence Générale Publique Limitée REM GNU avec cette bibliothèque ; si ce n?est pas le cas, écrivez à la : REM Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, REM MA 02110-1301, USA. REM REM This program is free software; you can redistribute it and/or REM modify it under the terms of the GNU Lesser General REM License As published by the Free Software Foundation; either REM version 3 of the License, Or (at your option) any later version. REM REM This program is distributed in the hope that it will be useful, REM but WITHOUT ANY WARRANTY; without even the implied warranty of REM MERCHANTABILITY Or FITNESS For A PARTICULAR PURPOSE. See the GNU REM Lesser General License For more details. REM REM You should have received a copy of the GNU Lesser General REM License along With this program; if not, write to the Free Software REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #DIM ALL #COMPILE DLL "bibdynsyst_powerbasic2016b.DLL" #INCLUDE "WIN32API.INC" GLOBAL memosa AS LONG GLOBAL memosad AS DOUBLE GLOBAL memosb () AS LONG FUNCTION stdea SDECL ALIAS "stdea"(BYVAL n AS LONG)EXPORT AS LONG DIM result AS LONG IF n= 0 THEN result=TIMER MOD 60 ELSEIF n=1 THEN result=11 ELSE result=-777 END IF FUNCTION=result END FUNCTION FUNCTION cea CDECL ALIAS "cea" (BYVAL n AS LONG) EXPORT AS LONG FUNCTION=stdea(n):END FUNCTION FUNCTION stdead SDECL ALIAS "stdead"(BYVAL n AS LONG)EXPORT AS DOUBLE DIM result AS DOUBLE IF n= 0 THEN result=TIMER MOD 60 ELSEIF n=1 THEN result=11.03 ELSE result=-777.03 END IF FUNCTION=result END FUNCTION FUNCTION cead CDECL ALIAS "cead" (BYVAL n AS LONG) EXPORT AS DOUBLE FUNCTION=stdead(n) : END FUNCTION FUNCTION stdnea SDECL ALIAS "stdnea" (BYVAL n AS LONG)EXPORT AS STRING IF n=0 THEN FUNCTION="secondes dans minute"+CHR$(0) ELSEIF n=1 THEN FUNCTION=" entrée analogique 1" +CHR$(0) ELSE FUNCTION=""+CHR$(0) END IF END FUNCTION FUNCTION cnea CDECL ALIAS "cnea" (BYVAL n AS LONG) EXPORT AS STRING FUNCTION=stdnea(n):END FUNCTION FUNCTION stdnead SDECL ALIAS "stdnead" (BYVAL n AS LONG)EXPORT AS STRING IF n=0 THEN FUNCTION="EAD 0:s dans min"+CHR$(0) ELSEIF n=1 THEN FUNCTION="EAD 1" +CHR$(0) ELSE FUNCTION="" +CHR$(0) END IF END FUNCTION FUNCTION cnead CDECL ALIAS "cnead" (BYVAL n AS LONG) EXPORT AS STRING FUNCTION=stdnead(n):END FUNCTION FUNCTION stdsa SDECL ALIAS "stdsa" (BYVAL n AS LONG, BYVAL x AS LONG) EXPORT AS LONG IF n=0 THEN CLIPBOARD RESET CLIPBOARD SET TEXT STR$(x)+CHR$(0) FUNCTION=x ELSE FUNCTION=-55 END IF END FUNCTION FUNCTION csa CDECL ALIAS "csa" (BYVAL n AS LONG, BYVAL x AS LONG) EXPORT AS LONG FUNCTION=stdsa(n,x):END FUNCTION FUNCTION stdnsa SDECL ALIAS "stdnsa" (BYVAL n AS LONG) EXPORT AS STRING IF n=0 THEN FUNCTION="val vers pressepapier"+CHR$(0) ELSE FUNCTION=""+CHR$(0) END IF END FUNCTION FUNCTION cnsa CDECL ALIAS "cnsa" (BYVAL n AS LONG) EXPORT AS STRING FUNCTION=stdnsad(n):END FUNCTION FUNCTION stdsad SDECL ALIAS "stdsad" (BYVAL n AS LONG, BYVAL x AS DOUBLE) EXPORT AS DOUBLE IF n=0 THEN CLIPBOARD RESET CLIPBOARD SET TEXT STR$(x)+CHR$(0) FUNCTION=x ELSE FUNCTION=-55 END IF END FUNCTION FUNCTION csad CDECL ALIAS "csad" (BYVAL n AS LONG, BYVAL x AS DOUBLE) EXPORT AS DOUBLE FUNCTION=stdsad(n,x):END FUNCTION FUNCTION stdnsad SDECL ALIAS "stdnsad" (BYVAL n AS LONG) EXPORT AS STRING IF n=0 THEN FUNCTION="val vers pressepapier"+CHR$(0) ELSE FUNCTION=""+CHR$(0) END IF END FUNCTION FUNCTION cnsad CDECL ALIAS "cnsad" (BYVAL n AS LONG) EXPORT AS STRING FUNCTION=stdnsad(n):END FUNCTION FUNCTION stdeb SDECL ALIAS "stdeb" (BYVAL n AS LONG) EXPORT AS LONG IF n=0 THEN FUNCTION=0 ELSE FUNCTION=1 END IF END FUNCTION FUNCTION ceb CDECL ALIAS "ceb" (BYVAL n AS LONG) EXPORT AS LONG FUNCTION=stdeb(n):END FUNCTION FUNCTION stdneb SDECL ALIAS "stdneb" (BYVAL n AS LONG) EXPORT AS STRING IF n=0 THEN FUNCTION="EB 0 (fictive)" ELSEIF n=1 THEN FUNCTION="EB 1 (fictive)" ELSE FUNCTION="" END IF END FUNCTION FUNCTION cneb CDECL ALIAS "cneb" (BYVAL n AS LONG) EXPORT AS STRING FUNCTION=stdneb(n):END FUNCTION FUNCTION stdsb SDECL ALIAS "stdsb" (BYVAL n AS LONG , BYVAL valeur AS LONG) EXPORT AS LONG FUNCTION=valeur END FUNCTION FUNCTION csb CDECL ALIAS "csb" (BYVAL n AS LONG , BYVAL valeur AS LONG) EXPORT AS LONG FUNCTION=stdsb(n, valeur):END FUNCTION FUNCTION stdnsb SDECL ALIAS "stdnsb" (BYVAL n AS LONG) EXPORT AS STRING IF n=0 THEN FUNCTION = "SB0 (fictive)" ELSEIF n=1 THEN FUNCTION="SB1 (fictive)" ELSE FUNCTION="" END IF END FUNCTION FUNCTION cnsb CDECL ALIAS "cnsb" (BYVAL n AS LONG) EXPORT AS STRING FUNCTION = stdnsb(n):END FUNCTION FUNCTION stddetail SDECL ALIAS "stddetail" () EXPORT AS DWORD DIM adloc AS DWORD DIM chloc AS STRING chloc="bibdyn systeme par powerbasic, 2016-12-29" +CHR$(0) adloc=STRPTR(chloc) 'adloc=strptr("bib dyn système par Power Basic, 2016-12-28" +chr$(0)) 'function=adloc FUNCTION=STRPTR(chloc) END FUNCTION FUNCTION cdetail CDECL ALIAS "cdetail" ()EXPORT AS DWORD FUNCTION=stddetail() : END FUNCTION FUNCTION stdtitre SDECL ALIAS "stdtitre" EXPORT AS DWORD DIM chloc AS STRING chloc="bibdynsyst PowerBasic" FUNCTION=STRPTR(chloc) END FUNCTION FUNCTION ctitre CDECL ALIAS "ctitre" EXPORT AS DWORD FUNCTION=stdtitre : END FUNCTION FUNCTION LIBMAIN (BYVAL hInstance AS LONG, BYVAL fwdReason AS LONG, BYVAL lpvReserved AS LONG) AS LONG SELECT CASE fwdReason CASE %DLL_PROCESS_ATTACH : FUNCTION = 1 'success! CASE %DLL_PROCESS_DETACH : FUNCTION = 1 'success! CASE %DLL_THREAD_ATTACH : FUNCTION = 1 'success! CASE %DLL_THREAD_DETACH : FUNCTION = 1 'success! END SELECT END FUNCTION