cs_Don Pietro
Messages postés4Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention19 juillet 2007
-
19 juil. 2007 à 11:20
cs_Don Pietro
Messages postés4Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention19 juillet 2007
-
19 juil. 2007 à 12:51
Hello,
On ma confier un projet pour lequel je dois améliorer un programme fait en vb6. Ce programme utilise un tableau graphique (mshflexgrid) avec pleins de colonne et de ligne.
Afin de faciliter la vie aux utilisateurs je dois rajouter des colonnes et en cacher d'autres. Jusque là tout va bien :).
Le problème c'est que c'est colonne que je dois rajouter, ne vont pas tout a droite du tableau et qu'il n'y a pas de contolleur patern (donc le gui est directement lier au code).
Donc si je rajoute une colonne a la 4ème position depuis la gauche, en décalant les autres, tous le code sera faux.
Est t'il possible de rajouter des colonne en leur indiquant une position graphique dans le tableau et ce sans qu'il y ait un impact sur le code (ex : afficher .col = 12 à la 4ème position depuis la gauche) ????
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 juil. 2007 à 11:33
Pas à ma connaissance !
De toute façon, il est toujours imprudent d'utiliser des index en dur dans son code : le mieux c'est de faire une constante et de l'utiliser partout (et uniquement la constante), par exemple :
private Const COLONNE_NOM As Integer = 2
.col = COLONNE_NOM
Ainsi si tu modifier l'ordre de tes colonnes, tu n'as plus qu'à modifier la valeur de LA constante, et non de tout le code !
cs_Don Pietro
Messages postés4Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention19 juillet 2007 19 juil. 2007 à 11:25
Ne trouvant pas comment éditer (je repost avec une belle indentation)
Hello, On ma confier un projet pour lequel je dois améliorer un
programme fait en vb6. Ce programme utilise un tableau graphique
(mshflexgrid) avec pleins de colonne et de ligne.
Afin de faciliter la
vie aux utilisateurs je dois rajouter des colonnes et en cacher
d'autres. Jusque là tout va bien :).
Le problème c'est que c'est
colonne que je dois rajouter, ne vont pas tout a droite du tableau et
qu'il n'y a pas de contolleur patern (le gui est directement lier
au code).
Donc si je rajoute une colonne a la 4ème position depuis la
gauche, en décalant les autres, tout le code sera faux.
Exemple d'un
bout de code :
.col = 1
tempx = .text
.col = 0 temp
alpha = .text
.Row =
.Row + 1
If Mid(.text, Len(.text), 1) <> ")" Then
angle = .text -
tempalpha
Else
....
Ma question :
Est t'il possible de rajouter des colonnes
en leur indiquant une position graphique dans le tableau et ce sans
qu'il y ait un impact sur le code (ex : afficher .col = 12 à la 4ème
position depuis la gauche) ???? Merci d'avance
cs_Don Pietro
Messages postés4Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention19 juillet 2007 19 juil. 2007 à 11:37
Oui soit ca soit faire une abstraction du code et du gui (comme ca ce fait en java).
Mais malheureusement ce n'est pas moi qui ait coder cette partie et modifier le code prendrais trop de temps. Qui plus est ca ralenti toutes l'application puisque les tableau graphique de vb sont lent, très lent ^^.
J'ai pensée à une solution mais elle me plait pas : Refaire un tableau par dessus qui copie l'autre.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 juil. 2007 à 11:57
Lol, en effet le flexgrid n'est pas très rapide !
Mais tout dépend comment tu le remplit : si tu le remplit par une base de données, oublie tout de suite le Flexgrid, et remplace le par un SCgrid : contrôle téléchargeable gratuitement sur le net. Il combine les avantages du flexgrid niveau présentation et accès direct aux données, et du datagrid (binding avec un recordset, chargement ultra rapide des données.
Et du coup; quitte à devoir changer de contrôle, revoit un peu l'archi du prog.
De toute manière, un prog avec des données en dur dedans (comme c'est le cas apparement), c'est foireux, et ca te retombe toujours dessus un jour ou l'autre (la preuve), donc il vaut mieux perdre un peu de temps à faire des constantes plutôt que de persévérer avec un code qui deviendra de moins en moins maintenable au fil du temps !
Vous n’avez pas trouvé la réponse que vous recherchez ?