Salut tout le monde,
Vous allez me dire que mon message est décalé mais j'ai vraiment besoin d'aide.
Au départ, je voulais traduire un logiciel mais ça a été impossible.
Alors le développeur m'a fait télécharger une dll qui avait les fonctions, et ct à moi de refaire une interface. Il y a une doc avec cette DLL, mais elle a deux problèmes:
1. Elle est en anglais.
2. La documentation est pour du C/C++, ce qui rand impossible pour moi la compréhension.
Pour le zip contenant la dll ainsi que la doc et d sources en C, téléchargez tout ça à l'adresse suivante:
http://gansta93.free.fr/Sald28.zip
S'il vous plaît, aidez-moi!
Depui le temps que je veux traduire ce logiciel.
Merci d'avance.
petit problème pour lire une doc
wanna code some pb gangsta ?!
Bon je t'ai fait le début .. cela ne fonctionne pas encore, mais je te propose quand même d'en faire un peu, ou d'essayer.
Si tu bloques, fais signe ...
Regardes bien le fichier SATEST.cpp et les autres.
Bon courage, et surtout n'hésites pas à demander si tu as un pb.
Slts
Bon je t'ai fait le début .. cela ne fonctionne pas encore, mais je te propose quand même d'en faire un peu, ou d'essayer.
Si tu bloques, fais signe ...
Regardes bien le fichier SATEST.cpp et les autres.
Code : Tout sélectionner
Global *SalisValidDate
Global *SalAdToIslamic
Global *SalIslamicToAd
Global *SalQiblaInfo
Global *SalCalculate
Global *SalMoonInfo
Structure WORLDLOCATION
lat.l ; loc.lat=26+14/60.0+10/3600.0; // Latitude = 26 degrees, 14 minutes and 50 seconds North
lon.l ; loc.lon=50+34/60.0+59/3600.0; // Longitude = 50 degrees, 34 minutes and 50 seconds East
zone.f ; loc.zone=(float)3.0; // timezone is GMT + 3 hours
saveStr.l ; loc.saveStr=0; // DST is not applicable
saveEnd.l ; loc.saveEnd=0; // DST is not applicable
height.l ; loc.height=0; // The height of location is zero
EndStructure
Structure ProgramData
imsakAngle.f ; =(float)-16.0; // 16 degrees and 0 minutes
fajrAngle.f ; =(float)-13.5; // 13 degrees and 30 minutes
ishaAngle.f ; =(float)-16.0; // 16 degrees and 0 minutes
dist.l ; =10 // distance = 10 kilometers
fiqh.l ; =0 // Fiqh = Jafari
precision.l ; =1 // precision = minutes
addMin.l ; =0 // Zero minutes to be added to Maghrib time
secondsToCorrect.l ; =2 // It is recommended to keep this value
maxErrorInSec.l ; =1 // It is recommended to keep this value
rule.l ; =1 // Rule = 1/7 of day when needed
temp.l ; =10 // Change the value of temperature only if needed
pressure.l ; =0 // The prgram will estimate correct value for pressure
visibleLimit.f ; =(float)15 // visible limit = 15 degrees and 0 minutes
adjust.l ; =0 // Do not adjust Islamic date in relation to Julian/Gregorian
nMinutes.l ; =90 // It is recommended to keep this value
programFlags.l ; =0X100 // 0X000 for day, 0X100 for month and 0X200 for year calculation
EndStructure
Procedure SalisValidDate(Date.l, type.l)
; Use this function To test If a Date (Islamic Or Julian/Gregorian is a valid date 'type' indicates the type of date. 0 = Julian/Gregorian And 1 = Islamic
SysDate.SYSTEMTIME
SysDate\wYear = Year(Date)
SysDate\wMonth = Month(Date)
SysDate\wDay = Day(Date)
SysDate\wHour = Month(Hour)
SysDate\wMinute = Month(Minute)
SysDate\wSecond = Month(Second)
CallFunctionFast(*SalisValidDate, @SysDate, Type)
EndProcedure
;
; The 2 functions below convert between Islamic And Julian/Gregorian calendars.
; The result is stored in the date Structure
;
Procedure SalAdToIslamic(Date.l, Latitude.l, Longitude.l, Zone.f)
SysDate.SYSTEMTIME
SysDate\wYear = Year(Date)
SysDate\wMonth = Month(Date)
SysDate\wDay = Day(Date)
SysDate\wHour = Month(Hour)
SysDate\wMinute = Month(Minute)
SysDate\wSecond = Month(Second)
Location.WORLDLOCATION
Location\lat = Latitude
Location\lon = Longitude
Location\zone = Zone
Location\height = 0
CallFunctionFast(*SalAdToIslamic, @SysDate, @Location, @ConfigData)
EndProcedure
Procedure SalIslamicToAd(Date.l, Latitude.l, Longitude.l, Zone.f)
EndProcedure
Procedure SalQiblaInfo(Latitude, Longitude, Zone, dir, dist)
Location.WORLDLOCATION
Location\lat = Latitude
Location\lon = Longitude
Location\zone = Zone
Location\height = 0
CallFunctionFast(*SalQiblaInfo, dir, dist)
; Output arguments are 'dir' And 'dist'. 'dist' is in kilometers And 'dir' is in degree
EndProcedure
;
; The 2 functions below calculate prayer times And moon Data And Return the result in a character string.
; Make sure the string is long enough.
; You can format the output string in the way you prefer.
;
Procedure SalCalculate(Date.l, Latitude, Longitude, Zone, char.s)
SysDate.SYSTEMTIME
SysDate\wYear = Year(Date)
SysDate\wMonth = Month(Date)
SysDate\wDay = Day(Date)
SysDate\wHour = Month(Hour)
SysDate\wMinute = Month(Minute)
SysDate\wSecond = Month(Second)
Location.WORLDLOCATION
Location\lat = Latitude
Location\lon = Longitude
Location\zone = Zone
Location\height = 0
CallFunctionFast(*SalCalculate, @SysDate, @Location, @ConfigData, char)
EndProcedure
Procedure SalMoonInfo(Date.l, Latitude, Longitude, Zone, char.s)
SysDate.SYSTEMTIME
SysDate\wYear = Year(Date)
SysDate\wMonth = Month(Date)
SysDate\wDay = Day(Date)
SysDate\wHour = Month(Hour)
SysDate\wMinute = Month(Minute)
SysDate\wSecond = Month(Second)
Location.WORLDLOCATION
Location\lat = Latitude
Location\lon = Longitude
Location\zone = Zone
Location\height = 0
CallFunctionFast(*SalMoonInfo, @SysDate, @Location, @ConfigData, char)
EndProcedure
;
;
;
Global ConfigData.ProgramData
ConfigData\imsakAngle = -16.0; // 16 degrees and 0 minutes
ConfigData\fajrAngle = -13.5; // 13 degrees and 30 minutes
ConfigData\ishaAngle = -16.0; // 16 degrees and 0 minutes
ConfigData\dist = 10; // distance = 10 kilometers
ConfigData\fiqh = 0; // Fiqh = Jafari
ConfigData\precision = 1; // precision = minutes
ConfigData\addMin = 0; // Zero minutes to be added to Maghrib time
ConfigData\secondsToCorrect = 2; // It is recommended to keep this value
ConfigData\maxErrorInSec = 1; // It is recommended to keep this value
ConfigData\rule = 1; // Rule = 1/7 of day when needed
ConfigData\temp = 10; // Change the value of temperature only if needed
ConfigData\pressure = 0; // The prgram will estimate correct value for pressure
ConfigData\visibleLimit = 15; // visible limit = 15 degrees and 0 minutes
ConfigData\adjust = 0; // Do not adjust Islamic date in relation to Julian/Gregorian
ConfigData\nMinutes = 90; // It is recommended to keep this value
ConfigData\programFlags = $100; // 0X000 for day, 0X100 for month and 0X200 for year calculation
If OpenLibrary(0, "C:\RECUP\PureBasic\Design\Gangsta93\Sald28\SALATD.DLL")
Debug "Librarie trouvée"
If ExamineLibraryFunctions(0)
While NextLibraryFunction()
Debug Str(LibraryFunctionAddress()) + " " + LibraryFunctionName()
Select LibraryFunctionName()
Case "SalisValidDate"
*SalisValidDate = LibraryFunctionAddress()
Case "SalAdToIslamic"
*SalAdToIslamic = LibraryFunctionAddress()
Case "SalIslamicToAd"
*SalIslamicToAd = LibraryFunctionAddress()
Case "SalQiblaInfo"
*SalQiblaInfo= LibraryFunctionAddress()
Case "SalCalculate"
*SalCalculate = LibraryFunctionAddress()
Case "SalMoonInfo"
*SalMoonInfo = LibraryFunctionAddress()
EndSelect
Wend
EndIf
Debug SalisValidDate(Date(), 0)
CloseLibrary(0)
Else
Debug "Librarie pas trouvée"
EndIf
End
Slts
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.