Les trucs & astuces de la semaine du 14 au 20 Novembre 2005
Justifier à gauche ou à droite le contenu d’un champ
Voilà plusieurs années, notre DSI (directeur
des systèmes d’information)
avait caressé l’idée de convertir nos
vieilles applications basées sur RPG II
en applications Windows plus au goût
du jour. Nous avons donc acheté une
plate-forme de développement et
avons rapidement remplacé la plupart
de « écrans verts » par des modèles
Windows bien plus séduisants. Cette
opération avait suscité l’adhésion générale
dans l’entreprise. Le nouveau
système a passé avec succès la période
de test. Ensuite, nous avons converti
les données et lancé le système dans
le grand bain : la production.
Après quelques mois, notre help
desk a commencé à recevoir des doléances
: les fonctions de recherche
étaient incapables de trouver certains
enregistrements de données. J’ai
commencé à examiner nos fichiers de
données et découvert que certains
champs numériques et alpha n’étaient
pas bien justifiés à gauche ou à droite.
Aucune validation stricte ne régissait
les anciens programmes et ceux-ci
permettaient aux utilisateurs d’entrer
des données sous n’importe quelle
forme. Ainsi, on pouvait entrer un nom de famille justifié à
gauche ou à droite, avec des blancs à gauche ou à droite. Il en
était de même pour les champs numériques. A l’évidence,
cela ne convenait pas au programme de recherche. En effet,
un seul blanc à gauche dans le nom suffisait pour qu’un utilisateur
ne le trouvât point.
J’ai écrit une brève routine pour corriger ce problème. Le
RPG IV a des BIF pour régler les problèmes de cette nature.
Malheureusement, la longueur du champ était codée en dur
dans la routine, donc si je voulais corriger un autre champ, il
me fallait copier le code et modifier la longueur du champ.
Une solution pas très élégante, on en conviendra.
J’ai légèrement modifié mon code pour recevoir le
contenu du champ en cause en 256 octets variables. Ensuite,
plusieurs lignes de code ont déplacé les données à l’endroit
désiré et les ont renvoyées au programme appelant. Je n’ai
pas eu à copier ou à modifier mon code : j’appelle simplement
ce petit programme et transmets la variable. Fin de
l’épisode.
Les programmes f_001 et f_002 ajustent à droite le
contenu du champ. On peut facilement modifier le code
pour ajuster à gauche ou pour faire les deux à la fois. Un paramètre
de plus devrait être échangé dans cette fonction : le
sens de l’ajustement (à gauche ou à droite).
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
- Et si les clients n’avaient plus le choix ?
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- Des Master Data aux data products : comment l’IA redéfinit le rôle du MDM
- Communication d’entreprise : la voix s’impose à nouveau comme canal critique à l’ère de l’IA
- Réforme de la facturation électronique : une préparation largement théorique
- Le futur de la cryptographie post-quantique
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
