cs_machto
Messages postés179Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 février 2009
-
17 févr. 2006 à 00:23
cs_machto
Messages postés179Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 février 2009
-
22 févr. 2006 à 09:29
Bonsoir.
J'ai fait un petit programme pour lister le contenu des dossiers. Mon problème est que je n'imprimme que sur le latéral gauche de la page et perds tout le reste du papier. Je n'ai pas trouver comment faire une mise en page pour imprimer sur plusieurs colonnes. Pouvez vous me guider si cela est possible?
Merci par avance
JMMACHTO
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 19 févr. 2006 à 21:29
Bon, je ne suis pas un spécialiste de l'impression en VB (puisque n'en ayant jamais implémenté) mais je vois deux solutions possibles :
Imprimer les dossiers les uns à la suite des autres séparés par des tabulateurs façon oldschool.
Print Rep1 & CHR(9) & Rep2 & CHR(9) & Rep3
Les inconvénients sont évidents...
Pour pallier ces problèmes on ne peut que faire appel à une procédure plus complexe...
Mais tout dépend du nombre de caractères du nom des dossiers... S'il est constant où, factuellement d'une amplitude moindre l'algorithme n'en sera que facilité, sinon, il faudra sans doute faire appel à des techniques un tantinet plus compliquées.
Cependant, la première chose à déterminer est l'ordonnancement visuel des fichiers à savoir, soit de gauche à droite et de haut en bas soit de haut en bas puis de gauche à droite.
Horizontal :
Fich1
Fich2
Fich3
Fich4
Fich5
Fich6
Fich7
Fich8
Fich9
Vertical :
Fich1
Fich4
Fich7
Fich2
Fich5
Fich8
Fich3
Fich6
Fich9
Le plus simple étant la première organisation, évidemment!
La seconde laisse apparaître un problème de sécabilité et de consultation du listing (puisque vertical!).
Mais si tu souhaites quand même employer l'affichage vertical, il faudra déterminer, ce qui est loin d'être une chose aisée, le nombre de lignes selon le nombre de colonnes souhaitées et selon les cas particuliers (noms trop longs pour tenir dans une seule colonne). Mais là, moi, je ne me lancerais pas dans ce sens!
Tout le problème du premier mode d'affichage (horizontal donc) est, donc, les fichiers portant un nom ne tenant pas dans dans la colonne... Du moins, si tu t'axes sur la colonne plutôt que, comme Windows le fait dans l'Explorateur de Fichiers en mode d'affichage Liste, sur le nom de fichier le plus long!
Mais dans tous les cas, le problème numéro un est de déterminer la taille des noms.
Subodorant que tu récupères ces noms dans une variable - à un moment ou à un autre - il suffit donc d'utiliser la fonction Len(string) :
varNom = "fichier.ext"
varTailleDuNom = Len(varNom)
En l'occurrence, varTailleDuNom sera égale à 11.
Il faut, évidemment, connaître le nombre maxi de caractères que tu peux entrer horizontalement dans ta page!
Il y a aussi la fonction Space(n) qui te retournera une chaine de caractère de n espaces.
Space(5) renverra donc " "
Avec ces deux fonctions il ne te reste plus qu'a faire des évalutations (avec l'instruction If ) et des concaténations de chaîne (avec & ).
Bon, je te donne pas de code car, après tout, je ne connais pas le tien!
Si tu as encore des problèmes pour implémenter ça, demande moi... mais plus précisément
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 17 févr. 2006 à 01:26
Oui, cela est possible et on peut te guider.
Une autre question aussi imprécise ?
Au fait Machto, t'a remarqué ???
Non, t'a pas remarqué !?
Ben on est pas dans ta tête!!!
Si si, j'assure, on est pas dans ta tête pour deviner, entre autre, avec quel langage et quelle version de ce dernier tu programme!
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
cs_machto
Messages postés179Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 février 20091 22 févr. 2006 à 09:29
Bonjour, je te remercie de ta réponse mais, c'est un peu compliqué pour moi, pour l'instant: Je garde..
J'ai réussi (quel exploit!) à avoir plusieurs colonnes dans ma listbox et la trier. Il me suffirait de les imprimer comme tel.
Mon petit code me permet de lister le contenu de mes CD de suvegarde mais je ne peux pas inserrer dans le boîtier 10 pages de papier... Tu comprends... D'où ma recherche d'utiliser toute ma feuille de papier et non pas seulement la colonne de droite.
En tout cas merci de ton, intérêt
JMMACHTO