(Français) Téléchargement

Sorry, this entry is only available in French. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Malgré son intégration dans une poignée de projets, gardez à l’esprit que Betula reste en cours de développement, de test et d’optimisation. Revenez donc régulièrement sur cette page pour voir son évolution.

Téléchargements : Composant 0.18 – Source 0.18 – Exemple 0.17

Pour utiliser Betula, télécharger le composant ci-dessus et ajoutez le à votre projet. Pour personnaliser Betula :

  • Téléchargez les sources les plus récentes ci-dessus
  • Décompressez l’archive, par exemple, dans C:\Mes projets\Betula
  • Si vous voulez modifier Betula, créez une autre classe qui hérite de la classe de Betula à modifier. Ainsi, à la prochaine mise à jour de Betula, décompressez l’archive dans C:\Mes projets\Betula mais n’écrasez pas vos modifications !
  • Cas particulier des classes cUtilisateur, cAppParamètres, cLog et cTrace utilisées par la classe principale cApplication. Selon le même principe qu’énoncé ci-dessus, il ne faut pas modifier cApplication pour éviter son écrasement et donc créer un cApplication_Perso qui hérite de cApplication. Dans le constructeur de cApplication_Perso, appelez le constructeur de cApplication en lui passant en paramètre votre(vos) classe(s) modifiée(s), par exemple cUtilisateur_Perso. Le tour est joué, vous garder les fichiers de Betula intacts et vous pouvez personnaliser cUtilisateur grâce à votre classe héritée cUtilisateur_Perso. Ceci est possible depuis la version 0.18.
 

Historique de modification

VersionDate de sortieRemarque / Log de modification
0.1827 décembre 2019Cette version est principalement conçue pour personnaliser le framework (voir explication ci-dessus).
Ajouts
– cBaseDeDonnées et cBaseDeDonnéesSQLServer : méthodes ExécuteProcédure et ExécuteFonctionVersJSON (le résultat de la fonction est fournit en format JSON).
Modifications
– Le constructeur de cApplication accepte maintenant des objets cUtilisateur, cAppParamètres, cLog et cTrace
– Le constructeur de cUtilisateur accepte maintenant un objet cEnregistrementLDAP en paramètre
Corrections
– cBaseDeDonnées.Environnement déclenchait des exceptions intempestives
– Contrôle qui manquait dans cBaseDeDonnéesLDAP.Déconnecte
0.1723 décembre 2019
Ajouts
– Gestion du binary, smallint et uniqueidentifier dans cBaseDeDonnéesSQLServer
Modifications
– Mise en mémoire des termes “traduits” pas JSONEncode. Très utilisé dans la trace, ceci évite de transformer tout le temps les mêmes nom de colonnes. Augmentation significative de la réactivité de l’application.
– Parcours des paramètres envoyés à AjouteMéthode plutôt que les indirections
– Ajustements faits dans cEnregistrement.MemoTélécharge et MémoTéléverse
– Sortie de 2 membre de cGénérique de la sérialisation
Corrections
– Interception d’exceptions supplémentaires dans StructureVersJSON
– cTable.CléValeur gère mieux les dates, heures et date/heure
– cBaseDeDonnées.Environnement : mise en minuscule de la référence Serveur+Base de données (voir mise en minuscule dans les versions précédentes)
– Ajout d’un espace dans les méthode dateVersSQL et DateHeureVersSQL de cBaseDeDonnéesOracle
0.1625 octobre 2019933 lignes modifiées ou ajoutées (PCSOFT déteint sur l'équipe de développement de Betula ! 😉 )
Ajouts
– ColonneOptimiseLargeur : ajout d’une largeur maximum (ex : si une colonne texte contenant 5000 caractères, on peut limiter la largeur de la colonne à 600px au lieu d’avoir une colonne de 30.000px !)
– Méthodes SQLUnicodePréfixe et SQLUnicodeSuffixe dans cEnregistrement, cBaseDeDonnées et cBaseDeDonnéesSQLServer permettant d’encadrer une colonne texte du(des) “mot(s) clé” nécessaire(s) pour qu’elle soit comprise comme du texte unicode (ex en SQLServer, mettre “N” avant le quote du début de chaîne)
– cEnregistrement.CopieMembre : copie les membres du même nom dans un autre objet qui n’a pas la même structure (attention, V1 : des limitations s’appliquent)
– cTable : récupération du GUID dans l’information des colonnes (venant d’une analyse HyperFile)
– cBaseDeDonnées.DateVersSQL, HeureVersSQL et DateHeureVersSQL permettant de formater la date et la date/heure dans une requête selon la base de données utilisée
– cFTP.ETypeDateHeure contient les valeurs des constantes FTP (mais pour brider le passage de paramètres dans les méthodes de la classe)
– cFTP.FichierAttributs et cFTP.FichierDateHeure
– cRéseau : ajout du protocole SMTP sécurisé sur port 993
– cBaseDeDonnéesSQL : trace lors de la dernière déconnexion à une base de données
Modifications
– La procédure AnsiVersUnicodeAnsi devient JSONEncode et les caractères sont maintenant codés en double octets (unicode)
– La procédure UnicodeAnsiVersAnsi devient JSONDécode
– Traitement des exceptions dans ChampNomComplet
– La méthode cEnregistrement.TableVersObjet devient SourceVersObjet
– La méthode cEnregistrement.ObjetVersTable devient ObjetVersSource
– cEnregistrement : amélioration de la gestion du NULL lors de l’écriture (méthode Ajoute et Modifie)
– cEnregistrement : amélioration de la recherche utilisant une clé composée contenant une valeur NULL
– cTable : meilleur gestion de la création de table si inexistante (dans le cas de l’utilisation d’une analyse)
– cBaseDeDonnées.ObjetBaseDeDonnées : vérification que la connexion avait été déclarée au préalable
– cFTP.p_sRepEnCours ne s’exécute pas si le répertoire passé en paramètre est vide ou correspond au répertoire courant
– La méthode cBaseDeDonnéesSQLServer.DateVersColonne et DateHeureVersColonne deviennent respectivement DateVersSQL et DateHeureVersSQL (voir ajouts)
Corrections
– Ajustement de la conversion de la livre impériale de 0.45359243 à 0.45359237
– cEnregistrement.m_stConnexion n’apparaît plus dans la sérialisation
– cEnregistrement et cSourceDeDonnées : meilleur gestion des mémos (binaires) en lecture et écriture
– Méthode cApplication.p_SupportCourriel : nom de la variable “sAdresseCourriel” au lien de “Valeur” (bug non signalé par le compilateur !)
– cTable.Constructeur : hDéclareExterne utilisé pour toutes les tables qui ne font pas partie de l’analyse en cours
– cTable : Amélioration de la gestion des colonnes et des clés en minuscule (pour éviter des problèmes liés à la casse)
– cBaseDeDonnées.m_bConnexionODBC devient mg_bConnexionODBC (normalisation du nom)
– cBaseDeDonnées.Connecte.ChangeConnexion amélioré pour traiter différente configuration (avec et sans analyse)
0.1518 juillet 2019
Ajouts
– StructureVersJSON : Les valeurs de références d’un tableau associatif sont maintenant transformés en unicode
– ColonneOptimiseLargeur : gère les positions X utilisé dans gCoord ((et enlève les formatages gras, soulignés, italique et barré) pour calculer la bonne largeur
– cApplication.Constructeur : ajout du répertoire des traces
– cAppParamètres.ParamètresCharge : priorité du fichier INI s’il existe dans le répertoire de l’application ou dans C:\Users\NomUtilisateur\AppData\Roaming\ ou dans C:\Users\NomUtilisateur\AppData\Roaming\NomApplication
– cSourceDeDonnées : mise en mémoire de la dernière requête et ajout de la méthode ListeRafraichi pour réexécuter la requête initiale (faite préalablement avec la méthode Liste ou ListeRequête)
– cTable : ajout des nom d’origine dans les colonnes et les clés pour être utilisée dans ColonnesCléVersClé et CléVersColonnesClé
– cLog : nouvelles propriétés : p_sFichierLogChemin, p_coFichierNiveaux, p_coEventLogNiveaux, p_coBDNiveaux et p_coCourrielNiveaux
– cLog.LogCrash : ajout de ExeInfo(ExeVersionFormatWindows) et ajout de l’objet cBaseDeDonnées en JSON
– cBaseDeDonnéesSQLServer.Colonnes : utilisation du bigint
Modifications
– Les fichiers de trace et de log sont mis, par défaut, dans SysRep(srAppData) (= C:\Users\NomUtilisateur\AppData\Roaming\NomApplication) au lieu du répertoire des données SysRep(srAppDataCommun) ( = C:\ProgramData\NomApplication). Ceci pour assurer que si l’application est lancée par plusieurs utilisateurs (ex : environnement Citrix ou RDP), chaque utilisateur a ses propres log et trace. Le fichier INI reste dans SysRep(srAppData)
– cEnregistrement.MémoTélécharge : création du répertoire temporaire si inexistant (qui sert à extraire le mémo)
– cFichier.Ouvrir : anti-bouclage si l’ouverture du fichier de trace ne peut pas être fait
– cSQL : utilisation des noms de colonnes en minuscule dans les méthodes EstColonneXXX (car les tableaux associatifs sont sensibles à la casse)
Corrections
– StructureVersJSON : des accolades étaient en trop dans la désérialisation des connexions
– cEnregistrement.Ajoute : retour d’une clé composée en cas d’ajout d’enregistrement
– cLog : utilisation des logs quand plusieurs niveaux sont demandés (ex : coLogNiveauInformation+coLogNiveauAvertissement)
– cFichier.Postionne : correction sur la gestion du positionnement depuis la fin du fichier
0.1412 juin 2019
Ajouts
– cBaseDeDonnéesSQL.Colonnes : ajout de nouveaux types
Modifications
– COL_Log.iImprimeÉtat : une valeur de retour n’est plus obligatoire
– COL_Conversion.StructureVersJSON : vérification d’un objet vide pour éviter d’intercepter des exceptions
– cFichier : amélioration de l’ouverture des fichiers texte
Corrections
– cGénérique.p_sErreurTout et p_sErreurToutJSON et p_sAvertissementToutJSON et p_sAvertissementTout : plus de bouclage sur l’élément cTableReliée
– cTrace : meilleur gestion des traces en Unicode
– cApplication.Contructeur : le 3eme paramètre passe de booléen en cTrace.ETraceFormat pour choisir une trace en ANSI, en Unicode ou aucune trace
– cSourceDeDonnées.Ajoute : correction sur la mise en mémoire de clés composées
– cTable.CléValeur : correction permettant la recherche sur des champs ne faisant pas partie d’une clé
– cBaseDeDonnéesOracle.Connecte : correction sur le mot clé “schema”
0.1317 mai 2019
Ajouts
– Conversion des énergies;
– Conversion des consommations de carburant (voiture);
– Conversion de coordonnées WGS84 vers Lambert93;
– Conversion de Lambert (I, II, III, IV, II étendu et 93) vers WGS84;
– cBaseDeDonnéesSQLServer : détection des type de colonnes ‘float’.
Modifications
– JSONVersVariant : traitement des tableaux vides.
Corrections
– Interception de fin programme dans COL_Log (la trace faisait une sur-exception si l’objet cApplication n’était pas disponible);
– cGénérique.p_sErreurTout et cGénérique.p_sErreurToutJSON : pas de traitement de l’objet _Application (sinon bouclage).
0.1202 mai 2019
Ajouts
– Interception de FinProgramme pour l’ajouter dans le log (inspiré de Erreur);
– cFTP.Connecte : ajout d’un paramètre pour les erreurs ignorées;
– cFTP.Constructeur : ajout d’un paramètre pour mettre un / (ou pas) au début des chemins sur FTP (voir cFTP.FormateChemin);
– cFTP.RépertoireExiste : nouvelle méthode. La méthode Existe devient FichierExiste;
– cFTP.Liste : nouvelle méthode (liste des répertoires ou les fichiers).
Modifications
– COL_Conversion.CheminVersURL : peut traiter des chemins sans protocole (ex : “wlplus.org” au lieu de “http://wlplus.org”) car le protocole peut être géré autrement dans le code appelant (ex : cFTP);
– cEnregistrement.Ajoute : applique les mêmes règles pour les valeurs nulles que la méthode Modifie.
Corrections
– Memos lors de l’ajout d’enregistrement en Hyperfile;
– Recherche sur des clés composées contenant un booléen (qui peuvent être “null”);
– cSourceDeDonnées.ListeRequête : test de l’existence du paramètre sJaugeOuCallBack avant de l’exécuter.
0.1123 avril 2019
Modifications
– le membre cTable.m_sNomUnique passe de “Public constant” à “Privé”. La valeur peut être lue par la propriété cTable.p_sNomUnique (ajout aussi de la propriété p_sAlias).
– cTrace.StructureVersJSON : meilleure prise en charge des membres pas encore instanciés
Corrections
– Accès à des membres objet d’une instance de classe (problème de cTable.m_sNomUnique mal affecté).
– cTable.Colonnes : mauvais nom de table
– cTable.Constructeur : passage de l’objet cTable à son ancètre cSQL et appel de cSQL.p_sNomUnique après l’affectation du nom
Exemple
– Mise à jour de l’exemple pour être compatible avec la version 0.11
0.10d15 avril 2019Cette version a essentiellement modifié plusieurs objets pour une meilleure compatibilité avec Android.
Modifications
– cErreur : niveaux d’erreur mis en membres globaux et ajout de sur certains membres
– Compatibilité Android : cJauge, cEnregistrement, cLog, cFTP, cFichierTexte, COL_Réseau, COL_GUI, COL_PCS et COL_Win
0.10c07 avril 2019
Corrections
– ChampNomComplet et ColonneOptimiseLargeur
– Le membre _Application de cApplication devient un objet non typé pour les cas où un autre objet “Application” est créé en héritant de cApplication
– cGénérique.p_sErreurTout et cGénérique.p_sErreurToutJSON
– cUtilisateur.bSuperviseur et cUtilisateur.Lit suite à la séparation du module Groupware utilisateur (devenu un projet à part)
– Nom de la méthode SQLLimiteRequêteA
– Méthode cBaseDeDonnéesSQLServer.Tables peut lister des tables dans une base de données contenant des caractères spéciaux
Modifications
– Méthodes EstColonnexxx (et quelques membres) passent de cTable à cSQL pour les utiliser dans les appels directs à cSQL. Transparent puisque cTable hérite de cSQL.
Ajouts
– Paramètre “Lecture seule” dans cEnregistrement et cSourceDeDonnées (évite de calculer le hash de l’enregistrement inutilement > gain en performance). Constructeurs et plusieurs méthodes impactées.
– Méthode “Colonnes” dans cSQL pour connaître les colonnes d’une requête SQL faite en direct via cSQL
– Méthode “Occurrence” pour connaître le nombre d’enregistrement d’une requête SQL faite en direct via cSQL
0.10b01 avril 2019
Corrections
– cGénérique.p_sErreurTout et cGénérique.p_sErreurToutJSON
– cSQL, cBaseDeDonnéesSQLServer, cBaseDeDonnées, cTable, cEnregistrement et cSourceDeDonnées suite à la mise en évidence d’un problème de compilation en WD24.
– Correction dans COL_WIN.AfficheÉcranVeille et COL_GUI.ColonneHauteur
Ajouts
– SQLLimiteRésultatA dans cBaseDeDonnéesAS400
0.10a30 mars 2019Première version publique. Téléchargez aussi un projet d'exemple
Ce site n'a aucun lien avec la société PC SOFT®. Les marques "WinDev" et "WebDev" sont des marques déposées de la société PC SOFT.