Recup nom de fichier dans un champs dbedit [Résolu]

Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
- - Dernière réponse : cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 14 nov. 2007 à 17:23
Bonjours à tous,
J'ai une liste de fichiers PDF et je souaiterais en cliquant sur le nom d'un de ces fichiers,
copier le nom sélectionner à la souris pour que celui-ci se retrouve dans le champ d'un TbEdit, pour ensuite l'enregistrer dans ma base quand je suis pointé sur un enregistrement.
Et cela pour chaque enregistrement de celle-ci je doit disposé d'un PDF différent.
Merci beaucoup pour ce petit coup de main, car je suis encore un peut novice, mais Delphi est quand m^me génial. Merci de l'intérêt que vous porterais à mon ptit blème.
AEC1
Afficher la suite 

Votre réponse

17 réponses

Meilleure réponse
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
3
Merci
un petit bout de code :

procedure TForm1.ListBox1DblClick(Sender: TObject);
var
  I: integer;
begin
  for I := 0 to ListBox1.Count - 1 do
    if ListBox1.Selected[I] then
    begin
      DBEdit1.Text := '';
      DBEdit1.Text := ListBox1.Items.Strings[i];
    end;
end;

@+
cantador

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
3
Merci
Je n'ai plus Delphi 5 depuis longtemps.. je ne peux donc pas tester..
Tu pourrais déjà commencer par installer Delphi 6 qui est gratuit.
çà te permettrait d'y voir plus clair..

cantador

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
3
Merci
procedure TForm1.FileListBox1DblClick(Sender: TObject);
var
i : integer;
begin
  for i:= 0 to FileListBox1.Items.Count - 1 do
  if FileListBox1.Selected[i] then
  begin
  MonQuery.Append;
  MonQueryCHAMPNOMFICHIER.Text := FileListBox1.Items.Strings[i];
  MonQuery.Post;
end;
le champ "CHAMPNOMFICHIER" doit être relié à ton DBEdit

cantador

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
3
Merci
procedure TForm1.FileListBox1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
i : integer;
begin
for i:= 0 to FileListBox1.Items.Count - 1 do
begin
if (FileListBox1.Selected[i]) and (Shift = [ssRight]) then
begin
ShellExecute(0, nil, PChar('c:\le nom de mon chemin\' +
FileListBox1.Items.strings[i]), nil, nil, SW_Shownormal);
end;
end;
end;

Tu sélectionnes dans la liste et sur clic-droit le fichier s'ouvre..

cantador

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
3
Merci
Mais de rien AEC1, je suis content que tu ai pu réglé ton problème.

@bientôt

cantador

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
98
Date d'inscription
lundi 8 mars 2004
Dernière intervention
12 avril 2010
0
Merci
Tu dois utiliser les captures de handle (windowspy) et ensuite les SendMessage



May the force be with you...



 
Commenter la réponse de cs_askil2000
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Merci de m'avoir répondu aussi vite cher ami, mais je ne connais pas du tous ce domaine d'application et si cela n'est pas trop vous demandés est-ce qu'un bout de code serais possible afin de me faire une meilleure idée du problème car actuellement je dispose d'une TListBox qui affiche tous mes fichiers au format PDF et donc en cilquant sur l'un d'eux copié le nom du fichier séléctionné dans un DbEdit.
Merci de vous sollicités une nouvelle fois mais pour finalliser mon application il ne me manque que cette info.
Merci askil2000 de AEC1.
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Bonjours cantador

Merci beaucoup pour ce petit coup de main .
Etant nouveau sur codes sources je tient à remercier toute l'énergie déployer pour s'entraider, meme pour de petit coup de main comme celui-ci.
Cela est très agréable de ne plus se sentir seul dans cet univers du dévelopement sur Delphi.
Merci à tous et à très bientôt si à mon tour je puis aider quelqu'un en apportant le peut de savoir dont je dispose.
Merci cantador au plaisir.
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Re-bonjour cantador de AEC1

Est que tu peu  m'expliqué pourquoi l'expression Count se met en défaut.
A savoir que le message qu'il affiche est:
Identificateur non déclaré :'Count'
En plus je dispose d'une FileListBox et non d'une ListBox, mais cela ne devrais avoir aucune incidence sur ce message.
Merci si tu à quelques minutes de ton temps pour me répondre.
Amitiés, Salutations.
AEC1
Commenter la réponse de AEC1
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
0
Merci
Je ne vois pas bien où est l'erreur car :

procedure TForm1.FileListBox1DblClick(Sender: TObject);
var
i : integer;
begin
  for i:= 0 to FileListBox1.Count - 1 do
  if FileListBox1.Selected[i] then
  begin
  DBEdit1.Text := '';
  DBEdit1.Text := FileListBox1.Items.Strings[i];
end;



Ca fonctionne très bien sous Delphi 7


La seule différence est qu'avec la ListBox1, il n'y a qu'un uses d'ajouter :
ListBox1-->>> StdCtrls
Alors qu'avec la FileListBox1 il y en a deux :
FileListBox1--->>> StdCtrls, FileCtrl

Aider les autres, c'est s'enrichir soi-même car on apprend énormément à traiter les demandes sur le forum à la fois sur un plan informatique et psychologique.

et c'est aussi par plaisir et passion..

cantador
Commenter la réponse de cs_cantador
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Bonjour cantador

Ben je ne sais que pensé, ceci étant  je suis  sur Delphi V5  Pro.
Est-ce qu'il  y à  une  différence ?  cela  m'étonne.
Mais la persistance du message me laisse perplexe par rapport, il est vrais,
à la simplicité de cette procédure. Est qu'il y à une autre solution pour détourner
cette difficulté car je me suis rarement trouvé dans une impasse aussi bete soit elle. Je n'en ai pas la moindre idée.
Merci de te solicité de nouveau.
Amitié AEC1
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Bonjour cantador

J'ai réussi à éliminer le message d'erreur par l'écriture de cette ligne de code que j'ai trouvé dans l'aide de Delphi V5.
For i:=0 to (FileListBox1.Items.Count-1) do begin        etc...
mais je n'arrive toujours pas à copier le nom d'un fichier PDF de ma liste dans le champ DbEdit de ma base. Quand je Clique ou double clique rein ne se passe.
Je suis peut-etre bouché , mais je ne vois toujours pas.
Merci de ton aide si tu le souhaite encore.
Amitié  AEC1.
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Bonjour cantador
J'ai bien reçu ton code mais entre temps je me suis rendu compte d'une erreure qui me bloqué l'apparition dans le DbEdit du nom du fichier sélectionné, mais maintenant cela fonctionne très bien et je ne t'en remercierais jamais assez car tu m'as fait gagné beaucoup de temps.
J'ai juste un renseignement à te demandé et si tu n'en a pas marre de moi et de mes questions simpliste pour toi.
J'ai écrit dans un bouton la ligne de procédure suivante:
ShellExecute (handle,'open','c:\le nom de mon chemin ','',nil,SW_Shownormal);
le problème comme tu le vois est que je ne peut pas déclanché l'ouverture du fichier PDF juste avec le chemin, à cela il lui faut ajouté une variable, mais alors pourquoi pas celle de notre saisie ' i ' ou alors pour etre sur si je suis positionné sur un enregistrement et que mes fichiers PDF sur dans la base il est possible d'inclure le contenu du champ DbEdit à la suite du chemin. Mais là encore la syntaxe me fait défaut malgré quelques tentatives, je n'obteint que l'ouverture du répertoire de mes fichiers PDF.
J'ai été très long et j'espère ne pas avoir altéré ta patience.
Merci encore une fois, amitiés.
AEC1
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Bonjour cantador
Je vois que tu ne manque pas de ressource et je te remercie de toutes ces informations, car pour ma part j'ai certe réalisé quelques apllications intéressantes mais c'est là ou l'on se rend compte que l'on en apprend tous les jours.
Je vais passer tout cela dans la moulinette et je te tient au courant.
Encore un grand merci, à plus...
AEC1
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Re-bonjour cantador
Tout fonctionne bien mais j'ai oublié de te dire que l'accés à partir de la liste m'intéresse moins à par la saisie du nom sélectionné dans l'enregistrement dans la base, mais je souhaite disposé d'un accés légèrement différent, à savoir. A partir d'un simple bouton  pouvoir faire démarré par le ShellExecute le fichier PDF qui est lié par le nom sur l'enregistrement pointé. Si tu préfère, quand je suis sur un enregistrement de ma table, que je puisse cliqué sur ce bouton et me lance le fichier PDF qui lui à été assigné.
Merci de sollicité tes compétences, à très bientot...
AEC1
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
un oubli !...
Ne serais-il pas mieux d'inseré une variable dans la ligne de code du shellExecute du bouton, comme nous somme de toute facon obligé de nous pointé sur l'enregistrement qui nous permet d'affiché les renseignements de celui-ci, on voit bien que le champ DbEdit concerné lui aussi se rempli d'un nom de fichier PDF s'il à été bien sur saisie initialement dans la base. J'espère que tu me comprend et me mélange pas trop les crayons.
A plus, Merci...
AEC1
Commenter la réponse de AEC1
Messages postés
98
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
24 décembre 2012
0
Merci
Bonjour cantador
Bon ca y est, j'y suis enfin arrivé.
J'ai mis la dernière main sur l'apllication et c'est du tout bon.
Je tenais à te remercier pour toute l'aide, rapide et éfficace que tu m'as apporté.
A très bientot le plaisir.
AEC1
Commenter la réponse de AEC1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.