SJRDUnits

SJRDUnits, package runtime contenant des routines et classes diverses

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Présentation

SJRDUnits est un assemblage des toutes les routines/classes que j'ai créées à la base pour mes propres besoins. Je les ai relues, corrigées, et partiellement documentées pour pouvoir vous les distribuer.

SJRDUnits est divisé en différentes unités, regroupant ainsi les fonctionnalités par catégories. Les routines qui n'avaient leur place nulle part ailleurs ont été réparties dans les deux unités SjrdUsual (les plus utilisées) et SjrdExtra (celles utilisées plus rarement).

Voici une présentation de ce que propose chaque unité.

I. SjrdUsual

SjrdUsual regroupe les routines/classes qui n'appartiennent à aucune catégorie et qui sont relativement souvent utilisées. Une routine que j'utilise tout le temps, et qui remplace l'archaïque MessageBox, s'y trouve : ShowDialog. Une autre routine utile est la fonction Dir, qui renvoie le répertoire contenant l'application courrante.

Nom Description
Exceptions
ECreateError Erreur lors de la création d'un objet
EAPIError Erreur due à une erreur d'API Windows
Types
T3DPoint Point déterminé par 3 coordonnées
TDialogType
TDialogButtons
TDialogResult
Types des paramètres de ShowDialog
TSoundType Type de son à jouer avec ExecuteSound
TGetXXXFunc Types fonctions renvoyant des types de données diverses
TSetOfXXX Types ensembles usuels
Variables
ShellFolders Record contenant quelques dossiers du shell
Classes
Aucune classe
Routines
Dir Renvoie le répertoire contenant l'application
IIF Fonction de If Immédiat (?: du C)
Point3DToString Formate un T3DPoint en chaîne de caractères
MinMax Renvoie la plus proche valeur d'un entier dans un intervalle déterminé
ShowMes Implémentation Pascal de l'API MessageBox
ShowDialog Réimplémentation de ShowMes avec des paramètres plus exploitables
CreateShellLink Crée un raccourci Windows avec les informations indiquées
Wait
WaitProcessMessages
Boucle pendant un nombre de millisecondes spécifié
ExecuteSound Joue un son au moyen de l'API Windows PlaySound
IntToStr0 Formatte un nombre entier avec des 0 devant pour atteindre une longueur spécifiée
ReadStrFromStream Lit une chaîne au format AZT depuis un flux
WriteStrToStream Ecrit une chaîne au format AZT dans un flux
CorrectFileName Vérifie si nom de fichier est correct
Point3D Renvoie un record de type T3DPoint à partir des valeurs des paramètres
RunURL ShellExecute simplifié (je cherche la version Linux)
Constantes
Aucune constante

II. SjrdLists

SjrdLists propose quelques classes de listes, dont l'ancêtre commun est la classe TSjrdList, qui enregistre ses éléments dans un flux mémoire. Cette classe est construite de façon à gérer tous les comportements de la liste, les descendants n'ont plus qu'à implémenter quelques méthodes codées en une ligne pour fonctionner. Cette unité déclare aussi une variable de type TSjrdStrings contenant les paramètres envoyés à l'application.

Nom Description
Exceptions
Aucune exception
Types
TSjrdListClass Métaclasse de TSjrdList
Variables
AppParams Liste des paramètres passés à l'application
Classes
StringsOps Classe utilitaire sur les listes de chaînes
TSjrdStrings Liste de chaînes implémentant les méthodes de StringsOps
TSjrdList Classe de base pour les listes personnalisées
TIntegerList Liste de nombres signés stockés sur 1 à 8 octets
TUnsignedIntList Liste de nombres non signés stockés sur 1 à 4 octets
TExtendedList Liste de nombres à virgule flottante stockés sur 10 octets
Routines
Aucune routine
Constantes
Aucune constante

III. SjrdStrUtils

SjrdStrUtils déclare quelques routines additionnelles à celles de l'unité StrUtils de Borland. Elle déclare notamment la fonction SjrdCompareString qui compare deux chaînes de caractères via l'API CompareString.

Nom Description
Exceptions
Aucune exception
Types
TSjrdCompareOptions Options de comparaison pour la fonction SjrdCompareString
Variables
Aucune constante
Classes
Aucune classe
Routines
NberSubStr Renvoie le nombre d'occurences d'une sous-chaîne dans une chaîne
SjrdCompareString Compare deux chaînes avec des options de comparaison avancées
GetFirstToken Renvoie la première des sous-chaînes d'une chaîne délimitées par un caractère
GetLastToken Renvoie la dernière des sous-chaînes d'une chaîne délimitées par un caractère
GetXToken Renvoie la Xème des sous-chaînes d'une chaîne délimitées par un caractère
GetXWord Renvoie le Xème mot de la chaîne
PosWord Renvoie la position de la première occurence d'un mot dans une chaîne
Constantes
Aucune constante

IV. SjrdExtra

SjrdExtra propose diverses routines plus ou moins utiles dans des cas bien précis, et de ce fait peu utilisées. Les routines les plus intéressantes parmi celles-ci sont GetMethodFromName et AddResToFile.

Nom Description
Exceptions
EUpdateResError Erreur lors de la modifications de ressources
Types
Aucun type
Variables
Aucune variable
Classes
Aucune classe
Routines
CorrectIdentifier Indique si une chaîne de caractères est un identificateur Pascal correct
GetMethodFromName Renvoie un pointeur sur une méthode d'un objet à partir de son nom
ConvertDoubleToInt64 Transforme un Double en Int64 (sans aucune correspondance des valeurs)
ConvertInt64ToDouble Transforme un Int64 en Double (sans aucune correspondance des valeurs)
StrToStrRepres Convertit une chaîne de caractères en sa représentation Pascal
StrRepresToStr Convertit une chaîne de caractères en la chaîne qu'elle représente en Pascal
CharToCharRepres Convertit un caractère en sa représentation Pascal
CharRepresToChar Convertit une chaîne de caractères en le caractère qu'elle représente en Pascal
SetOfCharsToString Convertit un ensemble de caractères en sa représentation Pascal
StringToSetOfChars Convertit une chaîne de caractères en l'ensemble de caractères qu'elle représente en Pascal
BeginUpdateRes Commence la modification des ressources d'une application Windows
AddResource Ajoute ou remplace une ressource
DelResource Supprime une ressource
EndUpdateRes Termine la modification des ressources
AddResToFile Ajoute une ressource à une application Windows
DelResInFile Supprime une ressource d'une application Windows
CompressStream Compresse un flux
DecompressStream Décompresse un flux compressé avec CompressStream
Constantes
clNoComp
clFastestComp
clDefaultComp
clMaxComp
Niveaux de compressions pour la procédure CompressStream

V. SjrdMaths

SjrdMaths est une unité assez complexes dont la plus grande utilité est la fonction Eval, qui réalise ce que beaucoup de programmeurs de scripts aimeraient pouvoir réaliser en Delphi, à savoir évaluer une expression arithmétique. Cette fonction peut même faire du calcul polynomial à une inconnue. Toutes les autres routines et classes sont construites autour de celle-ci.

Nom Description
Exceptions
EMathsError
et descendants
Erreurs de mathématiques, notamment de calcul polynomial
EEvalError
et descendants
Erreurs provoquées par la fonction Eval
Types
TComplex Nombre complexe, définit comme Variant
EEvalErrorClass Métaclasse de EEvalError
TTestIsAbortedProc Type de procédure de test d'abandon d'évaluation d'expression arithmétique
Variables
VarLists Listes de variables polynomiales
Classes
TComplexList Liste de nombres complexes
TPolynom Polynome
TPolynomList Liste de polynomes
Routines
IsInteger Indique si un nombre à virgule flottante est un entier
VerifyIsInteger Lève une exception si un nombre à virgule flottante n'est pas un entier
AsInteger Renvoie un nombre à virgule flottante sous forme d'entier
IsNatural Indique si un nombre entier est un naturel
VerifyIsNatural Lève une exception si un nombre entier n'est pas un naturel
AsNatural Renvoie un nombre entier sous forme de naturel
Factorial Renvoie la factorielle d'un nombre naturel
IntPower Elève un entier à une puissance entière
Eval Evalue une expression arithmétique

VI. SjrdDateTimeUtils

SjrdDateTimeUtils fournit quelques routines dates/heures supplémentaires, ainsi qu'un record TUsualDate permettant d'utiliser plus facilement les dates.

Nom Description
Exceptions
Aucune exception
Types
TUsualDate Record enregistrant une date
Variables
Aucune variable
Classes
Aucune classe
Routines
GetUsualDate Renvoie une valeur de type TUsualDate à partir des valeurs des paramètres
UsualDateToDateTime Convertit une valeur de type TUsualDate en une valeur de type TDateTime
DateTimeToUsualDate Convertit une valeur de type TDateTime en une valeur de type TUsualDate
DateAddition Ajoute un nombre de jours spécifié à une date au format TUsualDate
GetMonthName Renvoie le nom du mois spécifié
Constantes
Aucune constante

VII. SjrdMusicUtils

SjrdMusicUtils est une unité pour le calcul des notes et des intervales de musique dans une application Delphi. La plus grande utilité de cette unité est la propriété Vibrations de la classe TMusicNote.

Nom Description
Exceptions
EMusicError Erreurs de musique
Types
TMusicNoteInfo Informations sur une note de musique, utilisé en interne
TMusicIntervalInfo Informations sur un intervale de musique, utilisé en interne
Variables
Aucune variable
Classes
TMusicNote Note de musique
TMusicInterval Intervale de musique
Routines
Aucune routine
Constantes
HarmonyOfDo Tableau des seize harmoniques de do

VIII. SjrdLOGFile

SjrdLOGFile est une unité qui vous permet d'exploiter simplement un fichier LOG pour votre application, grâce à la classe TSjrdLOGFile. Même si votre application plante lamentablement, le fichier LOG sera enregistré et vous pourrez le consulter afin de déterminer l'emplacement exact de l'erreur.

Nom Description
Exceptions
Aucune exception
Types
Aucun type
Variables
Aucune variable
Classes
TSjrdLOGFile Gère un fichier LOG avec ajout automatique des données dans le fichier
Routines
Aucune routine
Constantes
Aucune constante

IX. SjrdNoSecretWindow

SjrdNoSecretWindow permet de se débarrasser réellement de la fenêtre secrète de Delphi. Ajoutez simplement cette unité au tout début des uses du fichier .dpr. Cela suffit à la supprimer (ou plutôt à ne pas la créer).

X. Téléchargement

Vous pouvez ici télécharger sjrdunits.zip, qui contient toutes les sources des unités ainsi que la documentation actuellement réalisée.
Si ce lien ne fonctionne pas chez vous, utilisez celui-ci.

Version actuelle : 1.1

Tutoriels
Les génériques avec Delphi 2009 Win32 (English version) - également disponible en espagnol et en russe
Réaliser un plug-in comportant un composant
Construire une procédure pointant sur une méthode
Création de composants - en 4 parties
Refactoring avec Delphi 2007
Prise en main de Delphi 2005
Analyseurs syntaxiques - Leur fonctionnement par l'exemple
Créer un fichier d'aide HLP
Pourquoi un paramètre const change-t-il mystérieusement de valeur ?
Sources
SJRDUnits - Routines et classes diverses
SJRDComps - Quelques composants
Projet Sepi
Présentation
FAQ Sepi
Programmes
FunLabyrinthe - Jeu de labyrinthe très spécial et très fun
TrickTakingGame - Jeux de cartes à plis en ligne
MultiAgenda - Agenda multi-répertoires
DecodeFormulaires - Décode les formulaires
Excel --> HTML - Convertisseur de tableaux Excel en HTML
AddressLinks - Lie les adresses Internet et e-mail d'un document HTML
Vipion - Tic Tac Toe sur 4x4 cases avec jeu de l'ordinateur
BigCalc - Calculatrice de haut niveau
Espace paroissial Astérion de Watermael-Boitsfort
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005 Sébastien Doeraene. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.