Label qui scintille

Résolu
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 - 6 août 2019 à 12:23
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 - 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

2 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
8 août 2019 à 13:45
Bonjour
Quel intérêt d'avoir un label qui change aussi vite ?
Supprimes le carrément
0
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 2
8 août 2019 à 20:29
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.
0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7
Modifié le 8 août 2019 à 23:35
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…
;)
0
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 2
9 août 2019 à 21:38
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 ?
0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7 > Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021
Modifié le 10 août 2019 à 07:13
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é...
0
Malokoxis Messages postés 83 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 22 février 2021 2 > JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023
11 août 2019 à 10:52
Merci JeuDuTaquin.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
8 août 2019 à 21:22
Penses à clôturer le sujet ( avec la roue dentée en haut à droite)
Merci
0
Rejoignez-nous