Recup nom de fichier dans un champs dbedit

Résolu
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012 - 11 nov. 2007 à 07:40
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 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

17 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 nov. 2007 à 19:45
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
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 nov. 2007 à 18:34
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
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
13 nov. 2007 à 18:59
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
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
13 nov. 2007 à 22:06
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
3

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

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
14 nov. 2007 à 17:23
Mais de rien AEC1, je suis content que tu ai pu réglé ton problème.

@bientôt

cantador
3
cs_askil2000 Messages postés 92 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 12 avril 2010
11 nov. 2007 à 07:49
Tu dois utiliser les captures de handle (windowspy) et ensuite les SendMessage



May the force be with you...



 
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
11 nov. 2007 à 08:18
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.
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
12 nov. 2007 à 05:37
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.
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
12 nov. 2007 à 06:06
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
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 nov. 2007 à 14:27
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
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
12 nov. 2007 à 18:12
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
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
13 nov. 2007 à 06:08
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.
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
13 nov. 2007 à 21:04
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
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
14 nov. 2007 à 05:09
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
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
14 nov. 2007 à 05:33
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
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
14 nov. 2007 à 05:46
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
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
14 nov. 2007 à 16:06
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
0
Rejoignez-nous