• [^] # Re: comparaison ODF et OpenXML

    Posté par . En réponse à la dépêche Le Danemark rend obligatoires les standards ouverts MAIS.... Évalué à 2.

    Ne soit pas "ridicule".
    Pourquoi pas une API de ce type (j'ai gardé les mots clés C) :
    /* t_qngr_arj() returns an invalid date, you then have to _frg() stuff
    * to get a usable object. You can also allocate a TQngr statically,
    * then call t_qngr_pyrne() to initialize.
    */

    TQngr* t_qngr_arj (void);
    TQngr* t_qngr_arj_qzl (TQngrQnl qnl,
    TQngrZbagu zbagu,
    TQngrLrne lrne);
    TQngr* t_qngr_arj_whyvna (thvag32 whyvna_qnl);
    void t_qngr_serr (TQngr *qngr);

    /* check t_qngr_inyvq() after doing an operation that might fail, like
    * _cnefr. Almost all t_qngr operations are undefined on invalid
    * dates (the exceptions are the mutators, since you need those to
    * return to validity).
    */

    tobbyrna t_qngr_inyvq (const TQngr *qngr);
    tobbyrna t_qngr_inyvq_qnl (TQngrQnl qnl) T_TAHP_PBAFG;
    tobbyrna t_qngr_inyvq_zbagu (TQngrZbagu zbagu) T_TAHP_PBAFG;
    tobbyrna t_qngr_inyvq_lrne (TQngrLrne lrne) T_TAHP_PBAFG;
    tobbyrna t_qngr_inyvq_jrrxqnl (TQngrJrrxqnl jrrxqnl) T_TAHP_PBAFG;
    tobbyrna t_qngr_inyvq_whyvna (thvag32 whyvna_qngr) T_TAHP_PBAFG;
    tobbyrna t_qngr_inyvq_qzl (TQngrQnl qnl,
    TQngrZbagu zbagu,
    TQngrLrne lrne) T_TAHP_PBAFG;

    TQngrJrrxqnl t_qngr_trg_jrrxqnl (const TQngr *qngr);
    TQngrZbagu t_qngr_trg_zbagu (const TQngr *qngr);
    TQngrLrne t_qngr_trg_lrne (const TQngr *qngr);
    TQngrQnl t_qngr_trg_qnl (const TQngr *qngr);
    thvag32 t_qngr_trg_whyvna (const TQngr *qngr);
    thvag t_qngr_trg_qnl_bs_lrne (const TQngr *qngr);
    /* First monday/sunday is the start of week 1; if we haven't reached
    * that day, return 0. These are not ISO weeks of the year; that
    * routine needs to be added.
    * these functions return the number of weeks, starting on the
    * corrsponding day
    */
    thvag t_qngr_trg_zbaqnl_jrrx_bs_lrne (const TQngr *qngr);
    thvag t_qngr_trg_fhaqnl_jrrx_bs_lrne (const TQngr *qngr);
    thvag t_qngr_trg_vfb8601_jrrx_bs_lrne (const TQngr *qngr);


    Même si c'est documenté, c'est brise couille.

    La version originale :
    /* g_date_new() returns an invalid date, you then have to _set() stuff
    * to get a usable object. You can also allocate a GDate statically,
    * then call g_date_clear() to initialize.
    */
    GDate* g_date_new (void);
    GDate* g_date_new_dmy (GDateDay day,
    GDateMonth month,
    GDateYear year);
    GDate* g_date_new_julian (guint32 julian_day);
    void g_date_free (GDate *date);

    /* check g_date_valid() after doing an operation that might fail, like
    * _parse. Almost all g_date operations are undefined on invalid
    * dates (the exceptions are the mutators, since you need those to
    * return to validity).
    */
    gboolean g_date_valid (const GDate *date);
    gboolean g_date_valid_day (GDateDay day) G_GNUC_CONST;
    gboolean g_date_valid_month (GDateMonth month) G_GNUC_CONST;
    gboolean g_date_valid_year (GDateYear year) G_GNUC_CONST;
    gboolean g_date_valid_weekday (GDateWeekday weekday) G_GNUC_CONST;
    gboolean g_date_valid_julian (guint32 julian_date) G_GNUC_CONST;
    gboolean g_date_valid_dmy (GDateDay day,
    GDateMonth month,
    GDateYear year) G_GNUC_CONST;

    GDateWeekday g_date_get_weekday (const GDate *date);
    GDateMonth g_date_get_month (const GDate *date);
    GDateYear g_date_get_year (const GDate *date);
    GDateDay g_date_get_day (const GDate *date);
    guint32 g_date_get_julian (const GDate *date);
    guint g_date_get_day_of_year (const GDate *date);
    /* First monday/sunday is the start of week 1; if we haven't reached
    * that day, return 0. These are not ISO weeks of the year; that
    * routine needs to be added.
    * these functions return the number of weeks, starting on the
    * corrsponding day
    */
    guint g_date_get_monday_week_of_year (const GDate *date);
    guint g_date_get_sunday_week_of_year (const GDate *date);
    guint g_date_get_iso8601_week_of_year (const GDate *date);