Selection dans listbox et chargement dans une autre

guy jeuniaux Messages postés 35 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 27 avril 2010 - 23 sept. 2004 à 17:16
guy jeuniaux Messages postés 35 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 27 avril 2010 - 30 sept. 2004 à 19:09
Sur ma Form 1 listbox de selection reprenant par exemple une liste de noms.
Lorsque je selectionne un des noms dans cette liste j'aimerai charger une autre listbox à partir des éléments choisi dans un fichier txt par exemple .

La premiere listbox comporte par exemple :
jean
jaques
Jules
etc
Mon fichier texte :
jean cd1
jean cd2
jean cd3
jean cd4
jaques k71
jaques k72
jules dvd1
jules dvd2
jules dvd3
etc

lorsque je selectionne jean dans ma 1ere listbox, j'aimerai charger cd1, cd2,cd3,cd4 dans la seconde

Quelqu'un aurait il une idée

MERCI D'AVANCE
guy

5 réponses

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
23 sept. 2004 à 18:08
Salut ,

Si j'ai bien compris tu veux charger les elements de ton listbox2 a partir d'un fichier texte different suivant l'item su rlequel tu cliques.

Dans ce cas , tu cree autant le fichiers que d'items que tu appelle par le nom que tu vas leur donner dans ton listbox1.

Ensuite tu mets ce code dans l'evenement OnClick de ton listbox1:
procedure TForm1.ListBox1Click(Sender: TObject);
var
  f : TextFile;
  ligne, fichier : string;
begin
if ListBox1.ItemIndex = -1 then  // On verifie que l'on a bien electionné qqch
  Exit;   // sinon on arrete la procedure
fichier:='C:\\' + ListBox1.Items.Strings[ListBox1.ItemIndex] + '.txt';
if not FileExists(fichier) then  // si le fichier correspondant n'existe pas
  Exit;
ListBox2.Clear;  // on vide le listbox2
AssignFile(f,fichier);  // on assigne le fichier à la variable f
Reset(f);   / On l'ouvre
while not Eof(f) do  // tant que l'on n'arrive pas à la fin alors ...
  begin
    Readln(f,ligne);  // on lit la figne que l'on mémorise dans "ligne"
    ListBox2.Items.Add(ligne);  // on l'ajoute au listbox2
  end;
CloseFile(f);   // On referme le fichier
end;


Je pense (et j'espere) ue le code est assez explicite

@ ++
Florent

Si tu ne te plantes pas ......
tu ne poussera jamais
0
guy jeuniaux Messages postés 35 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 27 avril 2010
25 sept. 2004 à 07:28
Merci pour la réponse , mais j'avais déjà penser à créer un fichier différent par liste et je voulais l'éviter.
guy
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
25 sept. 2004 à 10:29
Penser à cliquer sur "Réponse acceptée" lorsque la réponse convient.
May Delphi be with you
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
30 sept. 2004 à 11:13
tu peux eviter plusieurs fichiers !
charge le contenu du fichier ds une tstring, lis chak ligne et regarde si elle commence par la string kon a cliké ds le liste 1, si c le cas, listbox2.add :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
guy jeuniaux Messages postés 35 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 27 avril 2010
30 sept. 2004 à 19:09
Merci pour vos réponse mais j'ai trouvé une autre solution
en effet : les sélections me permettent de construire des requettes sql et j'ai tout simplement rajouter une requette qui va récupérer ce que je cherche dans la table de référence etc......

Encore MERCI
guy
0
Rejoignez-nous