CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[delphi] copie de fichiers

fracart
fracart
Niveau 5
29 juin 2005 à 21:45:41

bonjour,
je cherche à faire un programme ( en delphi) qui serait capable de lire dans un fichier :
- une liste de mots clés
- un répertoire de départ
- un répertoire d´arrivée
avec ces informations, ce programme devrait pouvoir copier tous les fichiers dont le nom comporte un des mots-clés depuis le répertoire de départ ( et sous répertoires) vers le répertoire d´arrivée.

J´ai déjà effectué la première partie ( lecture dans le fichier).
La deuxieme partie ( recherche des fichiers à copier et leur copie) est plus délicate et je ne vois pas comment faire, si quelqu´un pouvait m´aider :)

merci d´avance

dnob700
dnob700
Niveau 10
29 juin 2005 à 22:01:50

e moyen le plus simple, et le seul, sauf à tout reprogrammer, c´est d´utiliser les fonction de l´api win32 pour rechercher des fichier.

C´est pas super simple, mais si tu connait un peu le C, recherche les post de Tav sur ce même forum, où il s´en sers ce ui pourrait te donner des idée sur la manière de procéder.

fracart
fracart
Niveau 5
29 juin 2005 à 22:06:19

merci, je vais faire une recherche de ce coté

fracart
fracart
Niveau 5
29 juin 2005 à 22:29:17

pour ce qui est de l´api win32, j´ai trouvé très peu de doc interressante, si tu avais quelques liens a me suggérer ( l´anglais ne me dérange pas)...
merci

lord_kalipsy
lord_kalipsy
Niveau 10
29 juin 2005 à 23:39:47

Les fonctions comme FindFirstFile et FindNextFile ( FindClose pour fermer le handle) pourront t´aider.

Voir :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/findfirstfile.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/win32_find_data_str.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/listing_the_files_in_a_directory.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/findnextfile.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/findclose.asp

Bonne chance,

Kali

fracart
fracart
Niveau 5
30 juin 2005 à 10:05:59

merci beaucoup, je m´y attèle de suite ; )

fracart
fracart
Niveau 5
30 juin 2005 à 11:25:02

merci, ca marche impecable, je vous laisse un morceau du code au cas ou cela interresserait quelqu´un :

procedure findfichiers ( chemin,nom,nvchemin : string);
var
test : WIN32_FIND_DATA;
lb : longbool;
dwError : DWORD;
hFind : integer;
begin
/ /init
hFind := INVALID_HANDLE_VALUE;
lb := true;

hFind := FindFirstFile(PChar(chemin + nom),test);

if ( hFind = INVALID_HANDLE_VALUE) then
begin
writeln ( ´Invalid file handle. Error is ´ + inttostr(GetLastError()));

end
else
begin
writeln ( ´Le premier fichier : ´ + test.cFileName);
/ /copie du fichier
CopyFile(PChar(chemin + test.cFileName),PChar(nvchemin + test.cFileName),lb);

while ( FindNextFile(hFind, test)) do
begin
writeln ( ´Le prochain fichier : ´ + test.cFileName);
/ /copie du fichier
CopyFile(PChar(chemin + test.cFileName),PChar(nvchemin + test.cFileName),lb);
end;

dwError := GetLastError();

if ( dwError < > ERROR_NO_MORE_FILES) then
begin
writeln ( ´FindNextFile error. Error is ´ + inttostr(dwError));

end
end;

/ /FindClose(hFind);

end;

Yoda_Software
Yoda_Software
Niveau 30
01 juillet 2005 à 21:56:02

Juste pour info, Delphi contient les fonctions FindFirst, FindNext, . .. Pas besoin d´utiliser une API :ok:

J´avais à une époque des sources de prog Pascal ( utilisable en Delphi) de copie de fichier(s) voir même de copie de dossier(s) avec ou sans leur contenu.
Mais j´ai peur de ne plus savoir ou ils sont, car ça fait un bail que je n´ai pas programmé en Delphi. Et vu la tonne de CD et DVD d´archivage de données que j´ai, il va me falloir plusieurs vies pour les retrouver. Enfin, je vais essayer.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment