Salut,
J'ai une fonction de recherche (ci-dessous);
j'appelle ma fonction ainsi
ChercheBasesDeDonnees('*.db', 'c:\mesBd\', listbox1);
sur un disque de mon PC ça marche très bien
Mais si je fait une recherche sur un disque réseau SAMBA, comme ceci :
ChercheBasesDeDonnees('*.db', '\\MonHdSamba\mesBd\', listbox1);
la recherche ne vois pas les fichiers???
Par contre si sur le HD Samba je fait ça
ChercheBasesDeDonnees('*.*', '\\MonHdSamba\mesBd\', listbox1);
ou
ChercheBasesDeDonnees('mabd.*', '\\MonHdSamba\mesBd\', listbox1);
là ça passe
Les filtres qui passe sur mon Disque réseau SAMBA sont : (si ma bd s'appelle mabd.db)
*.*
mabd.*
m*.*
mabd.db
Ce qui ne passe pas :
*.db
*.DB
mabd.d*
![]()
et chose étonante,en mettant ce filtre : *abd.db
il ne filtre rien et met tout les fichiers.
Y'a t-il une méthode particulière pour que les filtre fonctionnent bien sur un serveur SAMBA???![]()
voici la fonction de recherche que j'utilise :
procedure ChercheBasesDeDonnees(filtre, Chemin :string; ListDestination : TListBox);
var F :TSearchRec;
Resultat :Integer;
fichier :string;
begin
if not DirectoryExists(chemin) then exit;
if chemin[length(chemin)] <> '\' then chemin := Trim(chemin) + '\';
Resultat := FindFirst(Chemin + filtre, faAnyFile, F);
ListDestination.Clear;
while Resultat = 0 do
begin
Fichier := F.Name;
ListDestination.Items.Add(Fichier);
Resultat := FindNext(F)
end;
FindClose(F);
end;
Partager