1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| Private Const CarnavalBinariesDirectory As String = "D:\Masques\"
'
' Fonctions internes de la DLL Carnaval_Excel.dll
' En cas d'installation non standart de Carnaval,
' corriger le chemin d'accès à la librairie Carnaval_Excel.dll
' ( ligne suivant les caractères Lib _ )
'Initialisation de la DLL
Private Declare Sub Internal_DLLInit Lib _
"D:\Masques\Carnaval_Excel.dll" _
Alias "?load_database@@YGXXZ" ()
' Calcul de l'altitude du terrain en un point
Private Declare Sub Internal_GetAlt Lib _
"D:\Masques\Carnaval_Excel.dll" _
Alias "?get_alt@@YGXNNPAN@Z" (ByVal latdeg As Double, _
ByVal londeg As Double, _
ByRef alt As Double)
' Calcul de la hauteur de l'horizon depuis un point dans une direction donnée
Private Declare Sub Internal_GetHorizonAtAzimuth Lib _
"D:\Masques\Carnaval_Excel.dll" _
Alias "?calcHorizonElevation@@YGXNNNNNNPAN0@Z" (ByVal latdeg As Double, _
ByVal londeg As Double, _
ByVal observationheight As Double, _
ByVal azimuthdeg As Double, _
ByVal minsearchdist As Double, _
ByVal maxsearchdist As Double, _
ByRef elevationrad As Double, _
ByRef maskdistancem As Double)
Private Declare Sub Internal_CalcAzimuth Lib _
"D:\Masques\Carnaval_Excel.dll" _
Alias "?calc_sun_azimut@@YGXNNJJJNPAN@Z" (ByVal latdeg As Double, _
ByVal londeg As Double, _
ByVal year As Long, _
ByVal month As Long, _
ByVal day As Long, _
ByVal hour As Double, _
ByRef azimut As Double)
Private Declare Sub Internal_CalcElevation Lib _
"D:\Masques\Carnaval_Excel.dll" _
Alias "?calc_sun_elevation@@YGXNNJJJNPAN@Z" (ByVal latdeg As Double, _
ByVal londeg As Double, _
ByVal year As Long, _
ByVal month As Long, _
ByVal day As Long, _
ByVal hour As Double, _
ByRef elevation As Double)
'/*------------------------------------------------------------------------------+
'| Fonction Init_Carnaval_DLL |
'+-------------------------------------------------------------------------------+
'| Entrée(s) |
'+-------------------------------------------------------------------------------+
'| aucune |
'+-------------------------------------------------------------------------------+
'| Sortie(s) |
'+-------------------------------------------------------------------------------+
'| aucune |
'+-------------------------------------------------------------------------------+
'| Remarques |
'+-------------------------------------------------------------------------------+
'| aucune |
'+------------------------------------------------------------------------------*/
Public Sub Init_Carnaval_DLL()
Dim current_path As String
current_path = CurDir()
ChDir (CarnavalBinariesDirectory)
Call Internal_DLLInit
ChDir (current_path)
End Sub |
Partager