Bonjour a tous
silkyroad a eu une très bonne idée dans CETTE SOURCE cela dit il y avait certains détails qui me gênaient
je m'était donc tourné vers le format base 64 qui lui était plus rapide a obtenir avec l'object Adobdstram(Ado)
dans CETTE CONTRIBUTION
LES POINT FAIBLES DE LA VERSION DE SILKIROAD
1° rien que le format giff était pris en compte
2° quand on essayait avec le format JPG de plus grande taille ca moulinait pendant plus de (3à10) minutes pour enregistrer
3° pour la lecture dans le webBrowser pareil ca moulinait pendant au moins 1 à 3 minute pour recréer l'image et l'afficher
fort de mon expérience avec la version base 64 que j'ai mis au point avec l'aide de RDURUPT j'ai voulu reproduire les points forts de celle ci
a savoir
plus de tableau de X ligne sur 21 colonnes mais 7500 bits en binaire dans une cellule
les bits étant représenté par des nombres allant de 0 à 255 et donc dans un array un bit peut aller de 2 à 4 caractères en comptant la virgule
exemple
255,
3,
donc a la retranscription dans le sheets
je peut avoir 7500*2 caractères à 7500 * 4 qu'importe sachant qu'une cellule peut contenir plus de 32000 caractères j'ai de la marge
puisque 7500 bit enregistrés font au max 30000 caractères
cette astuce est en grande partie responsable de la vitesse accrue(réduit a maximum 5 seconde ) de convection dans l'exemplaire que je vous propose aujourd'hui
pourquoi est ce plus rapide de cette manière
reponse: par ce que c'est plus rapide d'aceder a 10 cellule et ecrire 100 caractères dans chaque plutot que d'écrire 2 caractères dans 500 cellules et cela même en utilisant des variables tableaux
a savoir aussi que le poids a l'enregistrement du fichier avec les données binnaire s'en trouve aussi beaucoup diminué ( voir / 10 et plus ) c'est quand même pas rien
la deuxième raison est que je n'utilise plus le("Open Fichier For Binary Access Read As F")bien trop lent pour annalyser les fichier de plus grande taille mais l'object("Adobdstream(ADO)) qui par sa constante ".Read()"
me donne tout le paquet
dans une boucle sur le tableaux de bits je dispatche sur X cellule dans une colonne 7500 bits a chaque fois
exemple pour une grande image du genre fond d'écran (jpeg 1280X765) j'arrive a 38 lignes au lieu de 4100 lignes!!!!!! avec la version de silkyroad sur 21 colonnes
dans cet exemplaire vous aves les deux versions dans leur userforms respectif
les images enregistrer par le mode silkyroad sont rééditable par le même
veuillez noter et la je l'avoue je ne l'ai pas fait exprès la rétrocompatibilité les tableaux du mod silkyroad avec ma version qui elle utilise une seul colonne
donc les image enregistrées avec l'userform de silkyroad sont visibles par les deux userform mais pas l'inverse ce qui fait de ma version un outils plus performant
les noms de sheets représentants les images on le préfixe "sil" pour ceux qui ont été enregistrées avec l'userform de Silkyroad afin de les différencier et gérer les combobox de chaque usererform seule les "sil " apparaissent dans la combobox de silkyroad
dans ma version tous y apparaissent
voila je vous le laisse découvrir pour certains et redécouvrir pour d'autre
n'hésitez pas tester et a me laisser vos commentaires
merci d'avance pour vos retours
Partager