L'énoncé Alter MapInfoDialog
J'ai choisi de placer cet article au sujet d'un énoncé peu connu de MapBasic dans le chapitre "Environnement MI" parce qu'il m'a d'abord attiré comme un moyen de contrôler certains paramètres globaux qui ne sont pas accessibles directement par le language MapBasic. Son utilisation potentielle va cependant au-delà de cette fonction de "contrôle de l'environnement" comme on peut le voir dans le document principal.
Une restriction majeure dans l'utilisation de cet énoncé provient du manque d'information immédiatement disponible en ce qui concerne les arguments à utiliser, essentiellement les codes pour les dialogues et ceux pour les contrôles qu'ils contiennent.
J'ai donc poursuivi deux buts, une recherche sur les conditions d'utilisation supportée par quelques exemples et une documentation sur les codes. Je ne serais pas venu probablement à bout de ce dernier objectif sans l'aide et la contribution précieuses de Lars Nielsen (DK) qui a construit une application php pour reconstruire une image de chaque dialogue contenu dans un fichier miresXXX.dll et pour écrire une page htm pour les afficher. Sans lui je serais encore en train de préparer les images de la version 7...
Les dialogues qui apparaissent dans une session de MI viennent de plusieurs sources. Les dialogues originaux se trouvent dans le fichier miresXXX.dll; certains sont basés sur des ressources Windows ("Common Dialogs") et d'autres proviennent de dlls spéciales, en général correspondant à des additions adoptées de tierces parties (le cas des dialogues nouveaux de graphiques).
Les dialogues originaux qui peuvent être complètement documentés sont l'objet principal de ce chapitre. Je décris les "Common Dialogs" comme un ensemble particulier difficile à documenter complètement car ils "n'existent pas" en tant que tels, étant recréés par MI au moment où ils doivent apparaître et selon les circonstances. Quant aux dialogues "spéciaux", nous n'en parlerons pas car ils ne peuvent pas être traités avec l'énoncé qui nous intéresse ici.
Toute l'information que j'ai préparée ou rassemblée est présentée dans plusieurs documents pdf (en anglais seulement, voir plus bas "Les documents principaux"). Ils peuvent être consultés en ligne ou téléchargés en un seul fichier zip (alter_dlg_pdfs.zip) .
Les collections de dialogues pour différentes versions de MI et en anglais seulement sont disponibles sur le site de Lars Nielsen avec des noms comme miproXXX_en_dialogs.zip où XXX est la version and "_en_" indique English ou je peux envoyer par e-mail la collection désirée sur demande.
Pour ceux qui connaissent le language php, l'application de Lars pour reconstruire les collections de dialogues et créer une page htm pour les afficher existe sous forme d'un fichier archive à télécharger d'ici (makealldialogs.zip). Cette application peut permettre de construire des collections en d'autres langues et pour des versions non disponibles. .
Les documents principaux
Alter_MapInfoDialog_statement.pdf est le document clef. Il montre ce que l'énoncé peut faire, comment il marche et comment on peut l'utiliser par voie d'exemples.
Dialog_ID_6_8.pdf identifie les différent dialogues disponibles dans les versions 6 à 8 avec une attention spéciale pour la version 7. Les différences entre versions peuvent limiter la portabilité des applications.
Principles_of_reconstruction.pdf est une "super légende" pour les collections d'images de dialogue. Il explique quelle information de MIRESxxx.dll est utilisée pour reconstruire les dialogues.
Common_Dialogs.pdf démontre comment des ressources Windows sont adaptées aux besoins de MI.