Label qui scintille [Résolu]

Messages postés
78
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
11 août 2019
- - Dernière réponse : Malokoxis
Messages postés
78
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
11 août 2019
- 11 août 2019 à 10:52
Bonjour,

J'ai un label qui est mise à jour très souvent, parfois toutes les ms, pour afficher l'évolution d'une tâche.
Quelle est la meilleurs solution pour qu'il ne scintille pas ?

J'ai pensé à l'actualisé moins souvent, avec un timer par exemple, mais ça veut dire changer pas mal de code (il y a beaucoup d'étapes dans la tâche et le texte change à chaque étape).

Merci
Afficher la suite 

2 réponses

Messages postés
1910
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 août 2019
65
0
Merci
Bonjour
Quel intérêt d'avoir un label qui change aussi vite ?
Supprimes le carrément
Malokoxis
Messages postés
78
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
11 août 2019
1 -
Merci de ta réponse vb95...
Si je demande comment faire c'est que j'ai besoin de ce label... Sinon effectivement je l'aurais supprimé.
J'ai fais la solution dont j'ai parlé dans mon post de départ
Ce n'était finalement pas si compliqué et ça marche bien.
Je stocke le texte dans une variable. Et un timer affiche la variable dans un label toute les 250ms. Cane clignote plus.
JeuDuTaquin
Messages postés
69
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
10 août 2019
1 -
Si je demande comment faire c'est que j'ai besoin de ce label... Sinon effectivement je l'aurais supprimé. 

Salut Vb95 et Malokoxis…
Malokoxis… ne me dit pas que tu utilisais le label comme zone de stockage !!!
C'est possible, mais fortement déconseillé.
En effet, le contrôle "LABEL", tout comme les "TEXTEBOX" interprètent le texte très sommairement, et en cas de texte en UTF8/16... ou autre textes exotiques, le texte récupéré sera corrompu avec des caractères "?" en lieu est place de caractères spéciaux hors Polices d'affichage, des caractères cabalistiques pour les accents !

Donc, utilise TOUJOURS une "String" en "PUBLIC" (margée ou pas), et non un contrôle. A l'état brut, tu n'auras pas d' "auto-conversion" sur une sortie (noms de fichiers, texte UTF et retours chariots auto-amputés.)
Sinon, en 250ms, on a pas trop le temps de tout lire…
;)
Malokoxis
Messages postés
78
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
11 août 2019
1 -
Non ce n'était pas du stockage, c'était de l'affichage pur. Mais maintenant je stocke dans une variable pour ensuite afficher toute le 250ms.
C'est un label d'affichage de progression (Ligne xxxx/xxxx).

D'ailleurs, cette application que j'ai créé fabrique des fichier KML contentant parfois plusieurs milliers de ligne. Et la je passe par un richtextbox comme stockage... Très, trop long... il faut que je passe cela par une variable. Il y a des contraintes particulières à passer de l'un à l'autre ?
JeuDuTaquin
Messages postés
69
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
10 août 2019
1 > Malokoxis
Messages postés
78
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
11 août 2019
-
Tu peux aussi rafraîchir tous les 100 lignes…

if (NewVal\100)*100<>left(ValLabel.text,instr(ValLabel.text,"L") -1) THEN
     ValLabel.text=(NewVal\100)*100 & " Lignes \ " & TotLigne
end if


Nota : "\" et non "/", car ça te donne une valeur entière.

ça mange pas mal de cycles, ..
Tu peux aussi faire deux Labels, un pour ~newval~ et un pour ~Lignes \ " & TotLigne~
Car tu gagnera du temps en supprimant le Left$.

LabTot.text="Lignes \ " & TotLigne
'(…)
if (NewVal\100)*100<>ValLabel.text THEN ValLabel.text=(NewVal\100)*100

Tu gagnera en rapidité...
Malokoxis
Messages postés
78
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
11 août 2019
1 > JeuDuTaquin
Messages postés
69
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
10 août 2019
-
Merci JeuDuTaquin.
Commenter la réponse de vb95
Messages postés
1910
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 août 2019
65
0
Merci
Penses à clôturer le sujet ( avec la roue dentée en haut à droite)
Merci
Commenter la réponse de vb95