#1 Thu 19 August 2010 20:21
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
[MapBasic v10/10.5] Plusieurs Dialog vs Onglet
Bonjour à tous
En partant, j'avoue que je manque d'imagination pour le titre.
Comme certain programmeurs Mapbasic le savent, il est impossible de créer des onglet dans mapbasic. Pour palier à cela, il faut créer des formulaire un à la suite de l'autre.
Bref, je dois me lancer dans mbx qui crée des métadonnées selon les standard de notre entreprise via mapinfo. Plusieurs questions sont posé en fonction de la sécurité des données, auteurs, dates, description etc.
Chacun des themes étant regrouper sur un dialoge ou portion de dialog différents, 6 en tout. Disons que chacun des dialogs ont une dizaines de control edit text et qui lorsque la série de formulaire est complèter le tout s'écrit dans un .txt
Il faut donc que les dialog s'enchaine avec 2 boutons un précédent et suivant.
Se que j'aimerais savoir est comment rendre la chose la plus estétique possible et facile à programmer. Voici mon questionnement :
est-il possible de faire cela sans créer 100 variables pour stocker les données?
est-il possible de faire des dialog remove/dialog reserve afin de stock les information et lire en toute fin les controle un fois tout les formulaire rempli?
est-il possible de d'ancré un dialog c'est à dire que l'utilisateur ne peu déplacer?
J'ai d'autre question mais commençon par ceci
JF
Dernière modification par jean94 (Thu 19 August 2010 20:23)
Hors ligne
#2 Fri 20 August 2010 15:53
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic v10/10.5] Plusieurs Dialog vs Onglet
Bonjour
De mon côté je n'ai qu'une question: est-ce bien raisonnable d'utiliser MapBasic pour un tel programme ??
Hors ligne
#3 Fri 20 August 2010 16:29
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic v10/10.5] Plusieurs Dialog vs Onglet
Bonjour Maurice,
Mon plaisir de voir que tu es toujours vivant,
En fait mon Mbx se veut aussi un catalogue de données ( je le partagerai lorsque terminé)...je devrais terminer le tout d'ici fin septembre. Un tel logiciel est nécéssaire car nous travaillons sur 4 serveurs différents et c'est le bordel mais étant donné que notre équipe Sig est petites, utilisé des ressource (programmeurs) pour la gestion de données n'est pas une priorité pour mes patrons...déjà entendu?.
Bref pour l'instant je crois avoir une bonne métho la voici en court et laisse savoir si sa fait du sens
L'exemple est pour le dialogue 3 et 4 mais il en a 5 en tout comme tu le verra je stock le tout dans une variable global array (5 variables) et donc losque l'exécution est lancé dans le formulaire 5 toutes l'info est disponible dans 5 variables et facile à réécrire dans un .txt avec des boucles.
Code:
'*********************************Sub CreateMetaData3***************** Sub CreateMetadata3 if MetaDialog_Counter = 2 then 'si on passe du dialogue 2 au 3 Metadatawarehouse2(1)= "Contact Information" Metadatawarehouse2(29)= ReadControlValue(229) MetaDialog_Counter = MetaDialog_Counter + 1 dialog Preserve Dialog Remove end if if MetaDialog_Counter = 4 then 'si on passe du dialogue 4 au 3 Metadatawarehouse4(1)= "Metadata" Metadatawarehouse4(28)= ReadControlValue(428) MetaDialog_Counter = MetaDialog_Counter - 1 dialog Preserve Dialog Remove end if Dialog Title "Metadata" Width 310 Height 360 Control Groupbox id 301 Title "Data Information and source" Width 290 Height 260 Position 10, 20 ' 24 Controles sur ce dialoque Control StaticText id 324 Title "Online linkage :" Width 65 Height 15 Position 15, 255 Control StaticText Title "3/5" Width 20 Height 15 Position 290, 10 Control Button Title " > " Width 30 Height 15 Position 275, 340 Calling CreateMetadata4 Control Button Title " < " Width 30 Height 15 Position 242, 340 Calling CreateMetadata2 end sub '****************Sub CreateMetaData4*************************************** Sub CreateMetadata4 if MetaDialog_Counter = 3 then Metadatawarehouse3(1)= "Data Information and source" ... Metadatawarehouse3(25)= ReadControlValue(325) MetaDialog_Counter = MetaDialog_Counter + 1 dialog Preserve Dialog Remove end if if MetaDialog_Counter = 5 then Metadatawarehouse5(1)= "Geographic Information" ' 37 Controles sur ce dialoque Metadatawarehouse5(37)="Column Information" MetaDialog_Counter = MetaDialog_Counter + 1 dialog Preserve Dialog Remove end if Dialog Title "Metadata" Width 310 Height 360 Control Groupbox id 401 Title "Metadata" Width 290 Height 260 Position 10, 20 ... Control EditText id 428 Value "" Width 150 Height 35 Position 150, 300 Control StaticText Title "4/5" Width 20 Height 15 Position 290, 10 Control Button Title " > " Width 30 Height 15 Position 275, 340 Calling CreateMetadata5 Control Button Title " < " Width 30 Height 15 Position 242, 340 Calling CreateMetadata3 End Sub
Hors ligne