Re: l'importation...et les doublons

Posté par drcharly93 le 3/7/2007 11:59:37
Bonjour,

OPTIMISATION...

En WLangage il existe ce que l'on appel l'indirection
Cela permet de gagner en ligne de code:
exemple
PROCEDURE masque_champ()
test_modif.modifieur..Visible=Faux
test_modif.modifieur2..Visible=Faux
test_modif.modifieur3..Visible=Faux
test_modif.modifieur4..Visible=Faux
test_modif.modifieur5..Visible=Faux
test_modif.modifieur6..Visible=Faux
test_modif.modifieur7..Visible=Faux
test_modif.modifieur8..Visible=Faux
test_modif.modifieur9..Visible=Faux
test_modif.modifieur10..Visible=Faux
test_modif.modifieur11..Visible=Faux
test_modif.modifieur12..Visible=Faux
test_modif.modifieur13..Visible=Faux
test_modif.modifieur14..Visible=Faux
test_modif.modifieur15..Visible=Faux
test_modif.modifieur16..Visible=Faux
test_modif.modifieur17..Visible=Faux
test_modif.modifieur18..Visible=Faux
test_modif.modifieur19..Visible=Faux
test_modif.modifieur20..Visible=Faux

Devient
Ind est un entier

test_modif.modifieur..Visible=Faux
Pour Ind = 2 a 20
 {"test_modif.modifieur" + ind, indChamp}..Visible = faux
Fin

Pour votre procédure etablissements_voulus()
simplement:
Ind est un entier

test_modif.modifieur..Visible=Vrai
Pour Ind = 2 A test_modif.COMBO_Nombre..Valeur
 {"test_modif.modifieur" + Ind, indChamp}..Visible = Vrai
Fin

voila ce code remplace vos 265 lignes de code.

Je vois que vous avez créé autant de fenêtres que vous avez de fichiers.
Etant données que tous vos fichiers ont la même description vous pouviez très ne faire qu'une seule fenêtre Fiche, une seule table, et un seul état.

Pour effectuer la liaison automatique entre la base et le champ utiliser simplement
Modifier la ligne ci-dessous comme suis:
PROCEDURE FicheRAD(ModeOuverture="Parcours", NomFichier est une chaine = "Donnee" )

Dans le bloc Initialisation de votre fenetre
gproAffecteLiaison( NomFichier )

Créé une procédure globale comme suit:
PROCEDURE gproAffecteLiaison( NomFichier )

Nom..LiaisonFichier = NomFichier + ".Nom"
Date..LiaisonFichier = NomFichier + ".Date" 
Classe..LiaisonFichier = NomFichier + ".Classe"
Difficultes..LiaisonFichier = NomFichier + ".Difficultes"
PAI..LiaisonFichier = NomFichier + ".PAI"
Suivi..LiaisonFichier = NomFichier + ".Suivi"
Suites..LiaisonFichier = NomFichier + ".Suites"

reste plus qu'à remplacer dans le code de la fenêtre le nom du fichier par <NomFichier>
Ainsi votre fenêtre fonctionnera avec tous les fichiers

ATTENTION
D'après votre analyse il faudrait renommer tous les IDDonnee de la meme manière ex : IDDonnee pour tous les fichiers.
Ainsi vous n'aurer que trois fenêtres a maintenir et un etat.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5246&post_id=21707