Récupération de fichier

Résolu
manchr Messages postés 4 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 26 novembre 2008 - 12 nov. 2008 à 17:49
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 16 nov. 2008 à 12:48
bonjour,


Au lieu de passer par un opendialog est-il possible d'obtenir le nom d'un fichier rien qu'en cliquant dessus
par exemple une petite application qui, une fois lancée, fait apparaître le nom d'un fichier sur lequel on a cliqué
n'importe ou dans l'arborescence windows...

3 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
13 nov. 2008 à 15:07
Bonjour,
tu peux faire apparaître le nom du fichier dans une bulle à l'approche de la souris..

cantador
3
manchr Messages postés 4 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 26 novembre 2008
16 nov. 2008 à 09:57
Non,non
Je m'exprime mal, en fait j'aimerais, en cliquant sur un fichier, lancer une application delphi
qui place le nom de ce fichier dans un edit..
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
16 nov. 2008 à 12:48
function TriList(SL: TStringList; Id1, Id2: Integer): Integer;
var
  Obj1, Obj2: TSearch;
begin
  Obj1 := TSearch(SL.Objects[Id1]);
  Obj2 := TSearch(SL.Objects[Id2]);
  if Obj1.Fcr.Time < Obj2.Fcr.Time then
    Result := -1
  else
    if Obj1.Fcr.Time > Obj2.Fcr.Time then
      Result := 1
    else
      Result := 0;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  Fcr: TSearchRec;
  SrObj: TSearch;
  SL: TStringList;
  i: integer;
  Path: string;
begin
  Path := DirectoryListBox1.GetItemPath(DirectoryListBox1.Itemindex) + '\' + '*.*';
  Memo1.Clear;
  SL := TStringList.Create;
  try
    if FindFirst(Path, faAnyFile - faDirectory, Fcr) = 0 then
    begin
      repeat
        SrObj := TSearch.Create;
        SrObj.Fcr := Fcr;
        SL.AddObject(DateTimeToStr(FileDateToDateTime(Fcr.Time)) + ' - ' + Fcr.Name, SrObj);
      until FindNext(Fcr) <> 0;
      FindClose(Fcr);
    end;
    SL.CustomSort(TriList);
    Memo1.Text := SL.Text;
  finally
    for i := SL.Count - 1 downto 0 do
      SL.Objects[i].Free;
    SL.Free;
  end;
end;


dans cet exemple, tu sélectionne uniquement le dossier et la liste des fichiers triés apparaît dans le Memo.
ensuite, il est facile sur l'évènement double-clic ou Click du memo de tester l'item sélectionné et de le coller dans un edit :

procedure TForm1.Memo1DblClick(Sender: TObject);
begin
Edit1.Text : = Memo1.SelText;
end;

cantador
0
Rejoignez-nous