Ajouter Objets
avec ID
MBX
version 4
Jacques
Paris
Septembre
2006
Il s’agit d’ajouter des objets (limités aux types
Point, Ligne, Polyligne et Polygone) à une table
existante tout en créant automatiquement un nouvel identificateur. La table
doit contenir une colonne appropriée pour recevoir ces identificateurs.
Types
d’identificateurs
Entier (integer) nombre de 1
à 2 147 483 647
Petit entier (smallint)
nombre de 1 à 32 767
Alpha (string) formé de 2 parties de longueur fixe,
une première traitée comme des lettres suivie d’une dont les caractères sont
traités comme un nombre.
Nous sommes conscients que le format d’un
identificateur alphanumérique est loin d’être
universel. La solution que nous proposons est un compromis qui pourrait ne pas
satisfaire bien des utilisateurs. Si un certain consensus pouvait émerger, il
pourrait facilement être intégré dans cette application.
Assignation
des identificateurs
Entier et petit entier : le nouvel objet reçoit
comme identificateur le nombre suivant la valeur la plus élevée déjà assignée.
Alpha : le nouvel objet reçoit comme
identificateur une chaîne formée de la partie « littérale » et du
nombre converti en chaîne suivant celui trouvé dans le dernier enregistrement
de la table.
Si l’assignation automatique d’identificateurs
numériques permet d’éviter toute duplication du même nombre, il n’y a aucune
garantie de la sorte pour les alpha car dans la même
table il peut y avoir mélangés des identificateurs en partie identiques (ex.
pour les lettres). L’utilisateur devra « gérer » lui-même cette
situation.
Identificateurs
manquant
Avant de permettre l’ajout d’objets, le programme
vérifie si tout objet existant a bien un identificateur. En cas d’ID manquant,
le programme demande s’il faut en assigner, l’utilisateur pouvant accepter ou
refuser. La procédure est légèrement différente selon le type de
l’identificateur.
Entier et petit entier : le programme offre comme
premier identificateur le nombre suivant la valeur la plus élevée déjà
assignée. L’utilisateur peut conserver cette valeur ou en choisir une plus
élevée.
Alpha : l’identificateur du premier objet
manquant est automatiquement formé par la chaîne de la partie
« littérale » suivi du nombre converti en chaîne tels que entrés par
l’utilisateur.
Installation et réglage
Installation
Le fichier .INI doit être placé dans le même
répertoire que le MBX. Sinon, un nouveau fichier y sera créé mais avec le
français comme seule langue.
Si les fichiers de documentation …_doc.txt et
…_doc.htm et le répertoire d’images pour le htm …_files existent dans
l’archive, ils doivent aussi être placés dans le répertoire de l’application.
Il devrait y en avoir pour chaque langue.
Lancement
Le programme installe un sous-menu dans le menu OUTILS
et crée une barre d’outils.
Réglage
Deux items du menu permettent d’ajuster la
présentation de l’application :
Langue
d’affichage permet de changer la langue utilisée dans
l’application même (pas celle de MI ou de Windows !!!)
Barre
d’outils permet de retenir la position préférée de la
barre soit ancrée (la rangée de haut=0, la première position=0) soit flottante
(X et Y en pouces à partir du coin supérieur gauche de l’écran)
Utilisation
La table à laquelle on doit ajouter des objets doit
être ouverte.
1 – Menu « Définir table et colonne » ou
Icône « Tableau »
|
|
1 - Choisir une table ouverte |
2 – Type
de la colonne ID |
|
|
Identificateur Alphanumérique seulement |
3 – Choisir colonne des ID |
ID
numériques : Si aucune colonne du type voulu (Integer
ou smallint) n’existe, la procédure est interrompue.
ID
alpha : Si aucune colonne de type char et de largeur = ou > à la somme
des caractères des 2 parties n’existe, la procédure est interrompue.
Les icônes
d’ajout deviennent actives
2 – Identificateurs manquant
Entiers : assignation automatique en augmentant
de 1 la plus haute valeur trouvée dans la table.
Alpha :
|
L’utilisateur entre en respectant les nombres qu’il
a déjà
choisis les caractères fixes et le nombre (chiffres
variables) de base. |
Les nouveaux ID sont définis par la combinaison des
caractères fixes et du nombre variable augmenté d’une unité pour chaque
assignation. La procédure est arrêtée si la partie numérique dépasse la
capacité imposée par le nombre de chiffres donné
3 – Ajout d’objets
Avant tout ajout avec ID alpha, l’application vérifie si la structure de
l’ID du dernier enregistrement correspond à la définition (largeur totale et
largeur de la partie numérique)
Avant tout ajout, l’application vérifie si table spécifiée est toujours
accessible (ouverte), si non l’utilisateur devra redéfinir ses choix de
table/colonne.
Les objets étant insérés dans la table spécifiée (insert into …) celle-ci n’a pas besoin d’être éditable. De plus,
les données graphiques recueillies par l’outil de dessin sont converties au
système de coordonnées de la table d’ajout. Rien n’empêche donc d’utiliser
l’outil dans une autre fenêtre carte que celle dans laquelle la table d’ajout
est affichée pour saisir les coordonnées. Rien n’oblige non plus que cette table
soit visible, il lui suffit d’être ouverte.
Utiliser l’une des 4 icônes disponibles. Le style des
objets ajoutés est celui des valeurs courantes et peut être changé par les
boutons standards.
Vérifications en cours d’ajout :
Entiers : aucune. Il y a aura une erreur de
système si la valeur de l’ID dépasse le maximum.
Petits entiers : procédure d’ajout interrompue
par le programme si la valeur de l’ID dépasse le maximum permis
Alpha : si la valeur de l’ID dépasse le maximum
possible dans la partie définie comme variable la procédure est interrompue.
4 – Fin des ajouts
L’utilisateur doit sauvegarder la table modifiée par
lui-même
Les icônes restent accessibles jusqu’à ce que
l’utilisateur commence la procédure de définition d’une nouvelle table (menu ou
icône) et interrompe cette procédure.
Le menu et la barre d’outils peuvent être retirés par
« Terminer … » du menu.