Bonjour @Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
,
Pour ta question sur la possibilité d'exploiter l'API via windev je dis : OUI
Comment? ça dépend de la version de WD que tu utilises.
Les fonctions suivantes vont être d'une grande importance.
Je pourrais t'aider mais je ne suis pas dispo tout le temps.Code (Windev):
Pose tes question après recherche dans l'aide de WD, elle est bien fournie et continue de développer.
Les choses s'éclaircissent après chaque effort.
Bon DEV.Cliquez pour agrandir...
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
utiliser une api pour la date hijri dans mon application
Discussion dans 'Windev' créé par steroptes, Mai 29, 2019.
j'ai fait un test avec une fenêtre et le résultat est franchement parfait. il me faut juste trouver une solution pour pouvoir afficher les mois et les jours en langue arabe. Néanmoins je vous suis très reconnaissant aussi bien pour votre réponse que pour votre réactivité.

ci dessous le code que j'ai testé.
Code (Windev):
sDate_G est une chaîne
sUrlRequete est une chaîne
sRésultat est une chaîne
sDate_G=
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(SAI_Date_g , "JJ-MM-AAAA")sUrlRequete = "[URL]http://api.aladhan.com/v1/gToH?date=[/URL]"+sDate_G
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(sUrlReuete)Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(httpRésultat)sRésultat=
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(httpRésultat)STweekday est une Structure
en est une chaîne
ar est une chaîne
FIN
STmonth est une Structure
number est un numérique
en est une chaîne
ar est une chaîne
FIN
STdesignation est une Structure
abbreviated est une chaîne
expanded est une chaîne
FIN
SThijri est une Structure
date est une chaîne
format est une chaîne
day est une chaîne
weekday est un STweekday
month est un STmonth
year est une chaîne
designation est un STdesignation
holidays est un tableau de chaînes // Type indéfini
FIN
STgregorian est une Structure
date est une chaîne
format est une chaîne
day est une chaîne
weekday est un STweekday
month est un STmonth
year est une chaîne
designation est un STdesignation
FIN
STdata est une Structure
hijri est un SThijri
gregorian est un STgregorian
FIN
STJSON est une Structure
code est un numérique
status est une chaîne
'data' est un STdata
FIN
RS est un STJSON
// Désérialisation vers l'élément
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(RS, sRésultat, psdJSON)LIB_Aff= RS.data.hijri.date
Ceci-dit je bloque toujours avec l'utilisation des caractère arabe dans mon code... si vous avez une piste je suis preneur

SalutBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
,
pourquoi ne pas faire directement la conversion des algorithmes existant pour avoir ton calendrier.
voirBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
ou
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
ou
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Cela te permettra de n'avoir pas besoin de l'API et c'est un bon projet pour apprendre la programmation.Cliquez pour agrandir...
oui avant de penser à utiliser une api j'avais essayer de créer mon propre code pour un algorithme passant de la date grégorienne vers la date julienne correspondante puis vers la date hijri . et en y parvenant j'ai constaté que, comme il est connu pour les dates hijri, un décalage d'un jour pouvait être constaté, j'ai préféré donc passer par une api qui me fournirait normalement une date à jour et me permettra de contourner ainsi cette faille.
salam
Code (Windev):PROCEDURE ConvertionMiladiHejri(DateMiladi est une Date)
SI DateMiladi ="" ALORS DateMiladi =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
()
y est un entier = DateMiladi..Année
m est un entier = DateMiladi..Mois
d est un entier = DateMiladi..Jour
jd est un entier
SI ((y > 1582) _OU_ (y = 1582 ET m > 10) _OU_ (y = 1582 ET m = 10 ET d > 14)) ALORS
jd=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((1461*(y+4800+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-14)/12)))/4)+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((367*(m-2-12*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-14)/12))))/12)-Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((3*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((y+4900+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-14)/12))/100)))/4)+d-32075
SINON
jd = 367*y-Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((7*(y+5001+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-9)/7)))/4)+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((275*m)/9)+d+1729777
FIN
l est un entier=jd-1948440+10632
n est un entier=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((l-1)/10631)
l=l-10631*n+354
j est un entier=(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((10985-l)/5316))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((50*l)/17719))+(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(l/5670))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((43*l)/15238))
l=l-(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((30-j)/15))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((17719*j)/50))-(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(j/16))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((15238*j)/43))+29
m=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((24*l)/709)
d=l-Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((709*m)/24)
y=30*n+j-30
HMonths_L est une chaîne
SELON m
CAS 1 : HMonths_L = "Muharram"
CAS 2 : HMonths_L = "Safar"
CAS 3 : HMonths_L = "Rabi al-awwal"
CAS 4 : HMonths_L = "Rabi al-thani"
CAS 5 : HMonths_L = "Jumada al-oula"
CAS 6 : HMonths_L = "Jumada al-akhira"
CAS 7 : HMonths_L = "Rajab"
CAS 8 : HMonths_L = "Shaaban"
CAS 9 : HMonths_L = "Ramadan"
CAS 10 : HMonths_L = "Shawwal"
CAS 11 : HMonths_L = "Dhu al-Qidah"
CAS 12 : HMonths_L = "Dhu al-Hijjah"
FIN
DateHejri est une chaîne = d+" "+ HMonths_L +" " + y
DateHejri2 est une chaîne = d +" / "+ m +" / " + y
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(DateHejri,DateHejri2) // Vous pouvez utiliser un renvoyer DateHejri ou DateHejri2
Man, WX1331, steroptes et 2 autres personnes aiment ça.
Re-bonjour @Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
,
Essaie ça :
Je suis bien intéressé par la méthode que tu as utilisé pour passer d'une date grégorienne vers une date Julienne.Code (Windev):
oRequête est une httpRequête
oRéponse est une httpRéponse
v_Reponse est un Variant
sDate_G est une chaîne=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
, "JJ-MM-AAAA")
s_Server_URL est une chaîne="http://api.aladhan.com/v1/"
s_Verbe est une chaîne="gToH?date="+sDate_G
oRequête..Méthode = httpGet
oRequête.URL=s_Server_URL+["/"]+s_Verbe
oRéponse = HTTPEnvoie(oRequête)
SIBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
ALORS
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
("Le serveur est inaccessible.")
SINON
v_Reponse =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(oRéponse..Contenu))
SELON v_Reponse.code
CAS 200 :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(v_Reponse.data.hijri.date,v_Reponse.data.hijri.weekday.ar)
AUTRES CAS
FIN
FIN
P.S :
- Fais attention au nombre de requêtes que tu envoies au serveur, il y a une limitation par jour je pense.
- Penses à utiliser les tâches parallèles pour ne pas bloquer ton interface et accélérer les traitements.
Bon Dev
salam
Code (Windev):PROCEDURE ConvertionMiladiHejri(DateMiladi est une Date)
SI DateMiladi ="" ALORS DateMiladi =Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
()
y est un entier = DateMiladi..Année
m est un entier = DateMiladi..Mois
d est un entier = DateMiladi..Jour
jd est un entier
SI ((y > 1582) _OU_ (y = 1582 ET m > 10) _OU_ (y = 1582 ET m = 10 ET d > 14)) ALORS
jd=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((1461*(y+4800+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-14)/12)))/4)+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((367*(m-2-12*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-14)/12))))/12)-Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((3*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((y+4900+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-14)/12))/100)))/4)+d-32075
SINON
jd = 367*y-Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((7*(y+5001+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((m-9)/7)))/4)+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((275*m)/9)+d+1729777
FIN
l est un entier=jd-1948440+10632
n est un entier=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((l-1)/10631)
l=l-10631*n+354
j est un entier=(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((10985-l)/5316))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((50*l)/17719))+(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(l/5670))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((43*l)/15238))
l=l-(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((30-j)/15))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((17719*j)/50))-(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(j/16))*(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((15238*j)/43))+29
m=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((24*l)/709)
d=l-Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
((709*m)/24)
y=30*n+j-30
HMonths_L est une chaîne
SELON m
CAS 1 : HMonths_L = "Muharram"
CAS 2 : HMonths_L = "Safar"
CAS 3 : HMonths_L = "Rabi al-awwal"
CAS 4 : HMonths_L = "Rabi al-thani"
CAS 5 : HMonths_L = "Jumada al-oula"
CAS 6 : HMonths_L = "Jumada al-akhira"
CAS 7 : HMonths_L = "Rajab"
CAS 8 : HMonths_L = "Shaaban"
CAS 9 : HMonths_L = "Ramadan"
CAS 10 : HMonths_L = "Shawwal"
CAS 11 : HMonths_L = "Dhu al-Qidah"
CAS 12 : HMonths_L = "Dhu al-Hijjah"
FIN
DateHejri est une chaîne = d+" "+ HMonths_L +" " + y
DateHejri2 est une chaîne = d +" / "+ m +" / " + y
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(DateHejri,DateHejri2) // Vous pouvez utiliser un renvoyer DateHejri ou DateHejri2
Cliquez pour agrandir...
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
, si tu as le code pour faire l'inverse ( date hijri vers grégorien ) ce serait vraiment génial.