1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. 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.

  1. steroptes

    steroptes New Member

    Inscrit:
    Mai 28, 2019
    Messages:
    3
    J'aime reçus:
    0
    bonsoir tout le monde,
    je suis encore à mes débuts avec windev et j'ose espérer trouver parmi vous quelqu'un qui pourrait m'aider à avancer. alors voilà je voudrais utiliser une api pour convertir une date gregorienne de mon application en date hijri que je pourrais utiliser par la suite. le problème c'est que je ne dispose pas d'un WSDL conçu à cet effet.
    j'ai cherché et j'ai trouver le lien suivant

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    est ce que les api qui y sont fournis peuvent être utilisé avec windev? et si c'est le cas comment procéder?
     
    Tags:
  2. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    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.

    Code (Windev):
    httpRequête()
    httpRéponse()

    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!

    ()
    Je pourrais t'aider mais je ne suis pas dispo tout le temps.

    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.
     
  3. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,880
    J'aime reçus:
    1,532
    Salut

    Bonjour 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.
    voir

    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!


    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.
     
    elhacene apprécie ceci.
  4. WX1331

    WX1331 Well-Known Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 1, 2018
    Messages:
    610
    J'aime reçus:
    670
    Bonjour les trolls

    Il y a aussi .net pour convertir les dates vers hijiri
     
    elhacene et steroptes aiment ça.
  5. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,880
    J'aime reçus:
    1,532

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour les trolls

    Il y a aussi .net pour convertir les dates vers hijiri
    Cliquez pour agrandir...
    c'est vrai, il y a aussi java.
    mais l'avantage de traduire l'algo c'est ensuite utilisable sur WM et WB.
     
    steroptes et WX1331 aiment ça.
  • steroptes

    steroptes New Member

    Inscrit:
    Mai 28, 2019
    Messages:
    3
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    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.

    Code (Windev):
    httpRequête()
    httpRéponse()

    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!

    ()
    Je pourrais t'aider mais je ne suis pas dispo tout le temps.

    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...
    Bjr, je m'excuse d'avoir pris tout ce temps pour répondre mais il m'a fallut toute une journée pour suivre la piste que vous m'avez indiqué qui par ailleurs s'est avérée concluante.
    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 preneurXD[/code]
     
    #6 steroptes, Mai 29, 2019
    Dernière édition: Mai 29, 2019
  • steroptes

    steroptes New Member

    Inscrit:
    Mai 28, 2019
    Messages:
    3
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Salut

    Bonjour 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.
    voir

    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!


    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...
    salut,
    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.
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    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
     
     
  • suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Re-bonjour @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Essaie ça :
    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)

    SI

    Bonjour 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
     
    Je suis bien intéressé par la méthode que tu as utilisé pour passer d'une date grégorienne vers une date Julienne.

    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
     
    #9 suenodesign, Mai 29, 2019
    Dernière édition: Mai 29, 2019
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,880
    J'aime reçus:
    1,532

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    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.
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    salam
    cette procedure je la garde dans mes archives
    mais d’après une méthode décrite sur internet (les résultats ne sont pas 100% fiables) j'ai fait cette procedure a tester :)
    Code (Windev):
    PROCEDURE Hijri_to_meladi(DateHjri est une Date)

    y1 est un entier = DateHjri..Année
    m1 est un entier = DateHjri..Mois
    d1 est un entier = DateHjri..Jour

    nBrJ est un entier = (m1-1)*30-

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ((m1-1)/2) +d1
    xTT1 est un numérique =( (nBrJ / 355) + y1)* 0.97 +622
    nAnnE1 est un entier =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (xTT1)
    nJJ est un entier =

    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!

    (xTT1)*365)
    dAte22 est une Date=RéelVersDateHeure(nJJ)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Année :"+nAnnE1,"Mois : "+dAte22..Mois,"Jours : "+dAte22..Jour)

     
    saha ftourkoum
     
    popoy, WX1331 et suenodesign aiment ça.
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,880
    J'aime reçus:
    1,532

    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!

    Cliquez pour agrandir...
    je m'en souvenait pas.
    en tout cas avec tes codes

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    n'as plus besoin de l'API
     
  • Partager cette page

    Chargement...