nono78220
Messages postés181Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention28 octobre 2010
-
22 janv. 2007 à 13:23
nono78220
Messages postés181Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention28 octobre 2010
-
22 janv. 2007 à 23:09
hello,
J'ai une DrListBox nommé Dir1 qui contient plusieurs dossiers.
J'ai une FileListBox File1 qui affiche les fichiers d'un dossier sélectionné.
Chaque fichier est un document text correspondant à un enregistrement de richtextboxes indexées nommée Commande(0), Commande(1)....
2 Questions:
1/ Y a t'il un code qui permet d'enregistrer le NOM (et nom le chemin) du dossier sélectionné dans la DirListBox .
2/ Comment charger tous les fichiers du dossiers dans leur RichTextBox propre en cliquant justement sur le dossier et non sur le fichier ?
Explications:
Dans mon programme, chacune de mes RTB sont enregistrée de cette manière:
ex1: Commande(0).SaveFile "c:\DOSSIERS CLIENTS" & SauvegardeClient & "\TypeCommande " & SauvegardeClient & ".txt", rtfText
ex2: Commande(1).SaveFile "c:\DOSSIERS CLIENTS" & SauvegardeClient
& "\Adresse " & SauvegardeClient & ".txt", rtfText
SauvegardeClient est une variable qui concatenne 3 variables nom prénom et ddn du clients
Chaque dossier de ma >DirListBox sont enregistré au nom de SauvegardeClient
Mon souci est que lorsuqe le programme est fermé et que je le relance je voudrais pourvoir charger toutes mes RTBoxes en 1 fois en utilisant loadfile. Pour cela, je pense qu' il faudrait que j'attribue à SauvegardeClient le nom du dossier sélectionné dans ma DirListBox pour uitiliser loadfil:
x1: Commande(0).LoadFile "c:\DOSSIERS CLIENTS" & SauvegardeClient
& "\TypeCommande " & SauvegardeClient & ".txt", rtfText
Si quelqu'un pouvait m'aider car CELA FAIT DES JOURS QUE JE CHERCHE UNE SOLUTION et je n'ai rien trouvé sur le site... Y a t'il une autre solution ????
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 13:40
Ta question serait-elle tout simplement :
Comment sélectionner un dossier par le biais d'une dirlistbox et comment alimenter ensuite une RichTextBox par le nom de tous les ficheirs contenus dans ce dossier ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 18:42
Je ne vois pas à quoi peut dans cette affaire te servir le NOM (sans son chemin) de ton dossier.
Je l'ai quand même extrait (nomrep) et il s'affiche dans une msgbox. Tu en feras ce que tu voudras...
voilà donc :
sur ta Form :
- 1 DrivelistBox
-1 dirlistbox
- 1 filelistbox
autant de RTB indexées que nécessaire, appelées RichtextBox1(0).... (n)
code
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Dir1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
nomrep = Dir1.Path
While InStr(nomrep, "") > 0
nomrep = Mid(nomrep, InStr(nomrep, "") + 1)
Wend
MsgBox nomrep ' je ne sais pas ce que tu comptes en faire, mais le voilà
allons_y Dir1.Path & ""
End If
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub allons_y(chemin As String)
monfic = Dir(chemin & "*.txt", vbDirectory) ' Retrieve the first entry.
Dim nb As Integer
Do While monfic <> ""
Open chemin & monfic For Input As #1
While Not EOF(1)
Line Input #1, titi
RichTextBox1(nb).Text = RichTextBox1(nb).Text & titi & vbCrLf
Wend
nb = nb + 1
Close #1
monfic = Dir
Loop
End Sub
Mode d'emploi : un double click gauche sur un dossier (et les fichiers déroulent)
un click droit sur un dossier (après déroulement) et tes RTB s'alimenteront
J'espère que le nombre de tes RTBs est suffisant (sinon.... index inexistant, bien sur, ... et erreur)
nono78220
Messages postés181Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention28 octobre 2010 22 janv. 2007 à 13:23
hello,
J'ai une DrListBox nommé Dir1 qui contient plusieurs dossiers.
J'ai une FileListBox File1 qui affiche les fichiers d'un dossier sélectionné.
Chaque
fichier est un document text correspondant à un enregistrement de
richtextboxes indexées nommée Commande(0), Commande(1)....
2 Questions:
1/ Y a t'il un code qui permet d'enregistrer le NOM (et nom le chemin) du dossier sélectionné dans la DirListBox .
2/
Comment charger tous les fichiers du dossiers dans leur RichTextBox
propre en cliquant justement sur le dossier et non sur le fichier ?
Explications:
Dans mon programme, chacune de mes RTB sont enregistrée de cette manière:
ex1:
Commande(0).SaveFile "c:\DOSSIERS CLIENTS" & SauvegardeClient
& "\TypeCommande " & SauvegardeClient & ".txt", rtfText
ex2:
Commande(1).SaveFile "c:\DOSSIERS CLIENTS" & SauvegardeClient
& "\Adresse " & SauvegardeClient & ".txt", rtfText
SauvegardeClient est une variable qui concatenne 3 variables nom prénom et ddn du clients
Chaque dossier de ma >DirListBox sont enregistré au nom de SauvegardeClient
Mon
souci est que lorsuqe le programme est fermé et que je le relance je
voudrais pourvoir charger toutes mes RTBoxes en 1 fois en utilisant
loadfile. Pour cela, je pense qu' il faudrait que j'attribue à
SauvegardeClient le nom du dossier sélectionné dans ma DirListBox pour
uitiliser loadfil:
x1: Commande(0).LoadFile "c:\DOSSIERS CLIENTS"
& SauvegardeClient & "\TypeCommande " & SauvegardeClient
& ".txt", rtfText
Si quelqu'un pouvait m'aider car CELA FAIT
DES JOURS QUE JE CHERCHE UNE SOLUTION et je n'ai rien trouvé sur le
site... Y a t'il une autre solution ????
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 14:23
Peut-être....
Mais il me faut rechercher ce que j'ai écrit sur ce forum pour parvenir à choisir un dossier à l'aide d'une dirlistbox et d'un double-click
Il me semble que j'ai répondu il y a environ 20 jours...
Cherches également de ton côté ... on va retrouver... ou il me faudra réécrire (et je déteste)...
A +
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 15:20
Hé Bé !
On ne peut pas dire que je suis content, là !!!
Je viens de passer plus de 45 minutes, sans succès, à rechercher une réponse que j'ai donnée moi-même et qui
- 1) traitait exactement ce que demande nono78220 à l'aide d'une dirListBox, d'une drivelistBox et d'une FileListBox
- 2) était accompagnée du code nécessaire, capable de gérer le double-click sur un répertoire afin d'en extraire le nom et de le distingier d'un click
Tous mes efforts étant vains, j'en tire la conclusion suivante :
- soit le titre de la discussion avait été donné, une fois de plus, de façon ne permettant pas de cerner de quoi il s'agissait..
- soit un demandeur, après avoir posé une question et obtenu sa réponse... s'est amusé à en poser une seconde sans ouvrir une nouvelle discussion ...
Le résultat est maintenant là : impossibilité de retrouver cette discussion et ma réponse, sauf à ouvrir, un par un, la totalité de mes messages (et il y en a beaucoup......)
Je demande vraiment que la plus grande sévérité soit observée dans ce domaine (attribution d'un titre adéquat de discussion, d'une part... et nécessité, d'autre part, de ne pas traiter, à la suite d'une première conversation, un nouveau sujet traitant d'une 2ème question...)
Bon...
je vais me calmer en allant regarder la mer (j'en ai besoin, là...)
Je coderai à nouveau (et dieu sait que je n'aime pas du tout coder 2 fois la même chose) à mon retour (dans 2 heures environ)...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 17:51
De retour.
En te relisant, je me dis que j'ai peut-être mieux encore à faire, comme code, mais ai besoin de précisions claires
1) où veux-tu afficher le NOM du dossier sélectionné ? et S'agit-il bien du seul NOM (sans le reste de son chemin) ?
2) pas bien compris ton affaire de plusieurs RTBs et préfère un exemple
Imaginons que tu sélectionnes le dossier C:\titi\toto cintenant les fichiers fic1.txt, fic2.txt et fic3.txt
où mets-tu le nom "toto" et que mets-tu dans tes RTB ?
"fic1.txt", "fic2.txt" et "fic3.txt" dans une seule RTB ?
ou "fic1.txt" dans une RTB, "fic2.txt" dans une autre et "fic3.txt" dans une autre ?
ou
leur contenu (pas leur nom, dinc) dans une textbox pour chacun ?
un petit synoptique clair de ce que tu as et de ce que tu veux avoir sera le mieux, sans t'étendre à ce que tu veux en faire ensuite, qui reste ton affaire.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 19:47
Coucou...
Passons maintenant aux choses sérieuses, si tu veux bien...
Je me suis volontiers prêté à ton jeu et suivi scrupuleusement le mécanisme que tu avais défini...
J'ai donc "joué" ton jeu...
j'attends maintenant de toi que tu t'interroges sur l'intérêt réel de ce mécanisme, compte tenu du résultat que tu voulais avoir...
Il ne me semble pas (mais alors pas du tout) astucieux de passer par ces "fausses astuces" et ces "vraies acrobaties en tous genres", quand même, pour faire ce que tu veux faire....
Je te laisse réfléchir sur chacun des points et revenir avec du réellement astucieux. Le développement informatique bien pensé commence par une réflexion bien conduite... et cette réflexion ne peut être complète que si la vision globale de chaque chose est bonne et que les connaissances sont suffisantes pour inclure cette vision "globale" dans un raisonnement. Tout se tient...
Ce n'est que parce que tu m'es fort sympathique (j'ai aimé ta façon de chercher à contourner des difficultés) que je te le dis là.
nono78220
Messages postés181Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention28 octobre 2010 22 janv. 2007 à 23:09
Coucou me revoilà,
J'ai intégré ton code à mon logiciel et je dois te dire que c'est royalement royal. Tout fonctionne. Je vais maintenant l'analyser pas à pas afin de le comprendre. En effet pour progresser, il faut analyser et étudier chaque fonction. J'apprend VB6 et pour cela j'ai débuté avec l'ouvrage de Diane Zak que je conseille vraiment à tous les débutants car il permet d'apprendre pas à pas les bases. D'ailleurs connaitrais-tu un ouvrage de ce genre d'un niveau plus élevé ? Sincèrement un grand merci car je ne voyais pas de solution à mon problème. Je dormais très peu et réfléchissais sans cesse. La programmation c'est comme les échecs: on en rève la nuit !!
Pour répondre à ta question, je voulais que mes données enregistrées soient accessibles par d'autres moyens que mon logiciels. Je connais 4 solutions (niveau débutant !)
- créer un fichier à accès séquentiel
- créer un fichier à accès direct
Le problème est que les données enregistrées par ce mode ne sont pas lisibles facilement
- creer une base de donnée (pas encore étrudié et si on ne peut plus accéder à la base ?)
- enregistrer des RichTextBoxes en text. L'avantage: une RTB enregistrées peut être lues par word, wordpad..; et si par malheur mon logiciel se plantait, au moins mes données pourraient encore être lues !!! Je pensais que ceci était à ma portée. En cherchant sur le forum et grâce à aux conseils de tous et notamment des tiens jmfmarques j'ai réussi à coder l'enregistrement des RTBoxes. Mais je ne pensais pas que la programmation des chargements des RTB serait plus difficile !!!! Et en voyant ton code, jamais je n'aurai pu !!! Je voulais que chaque RTB soit identifiable par le nom du client et qu'elle soit enregistrée dans un dossier au nom du client. Oui mais voilà, une fois le logiciel fermé, la variable contenant le nom du client est perdu !! La difficulté consisite à la retrouver pour pouvoir ouvrir le fichier adéquat !!
Bref tu me retires une épine du pied. Je vais pouvoir avancer de nouveau car le chemin est encore long. Mais avant tout, je vais me replonger dans ton code, car je suis impatient de savoir comment tu as fait cela !!!