Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2958 connectés 

  FORUM HardWare.fr
  Programmation

  [Delphi] Obtenir un callback sur la copie d'un fichier

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[Delphi] Obtenir un callback sur la copie d'un fichier

n°110938
Ciler
Posté le 12-03-2002 à 12:13:14  profilanswer
 

J'ai une appli Delphi qui copie des fichiers (pour cela, j'utilise l'API CopyFile car je n'ai pas trouvé de routine Delphi)
 
Le problème est que lors de la copie, je voudrais savoir ou il en est (genre progressbar) mais CopyFile n'a pas de callback !
Donc, connaissez vous une méthode de copie avec callback.
 
2 réponses que je vous demande de ne pas faire :
1 - La copie brutale en ouvrant le fichier en binaire et en le copiant bit par bit
2 - Un compo style JCL ou BUPack, l'appli doit être 100% freeware sans contraintes (même GNU GPL) donc je ne peut pas utiliser ces compos...  :(


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
mood
Publicité
Posté le 12-03-2002 à 12:13:14  profilanswer
 

n°110956
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 12-03-2002 à 12:38:06  profilanswer
 

ciler a écrit a écrit :

J'ai une appli Delphi qui copie des fichiers (pour cela, j'utilise l'API CopyFile car je n'ai pas trouvé de routine Delphi)
 
Le problème est que lors de la copie, je voudrais savoir ou il en est (genre progressbar) mais CopyFile n'a pas de callback !
Donc, connaissez vous une méthode de copie avec callback.
 
2 réponses que je vous demande de ne pas faire :
1 - La copie brutale en ouvrant le fichier en binaire et en le copiant bit par bit
2 - Un compo style JCL ou BUPack, l'appli doit être 100% freeware sans contraintes (même GNU GPL) donc je ne peut pas utiliser ces compos...  :(  




 
Quelles sont les contraintes de GNU-GPL ???


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°110960
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-03-2002 à 12:47:06  profilanswer
 

et en utilisant les SHFileOperation de Win9x/NT ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°110961
Ciler
Posté le 12-03-2002 à 12:53:03  profilanswer
 

antp a écrit a écrit :

et en utilisant les SHFileOperation de Win9x/NT ?  




 
Je vais encore passer pour un neuneu mais :
C quoi ces trucs là ?  :sweat:  :??:
 
@ Juju : Ben, si tu utilise du code ou des compos qui sont sous cette liscence, tu dois publier ton source (C pas le problème pour moi) et adjoindre au programme un fichier texte contenant la liscence GPL.  
Or là, je fais ce soft pour un devoir d'info et il est dit quele tout ne doit contenir qu'UN fichier .exe (donc pas de fichier texte) MAIS le soft sera mis ensuite en dl tel quel sur le serveur de l'école, donc il doit respecter les règles type GPL...

 

[jfdsdjhfuetppo]--Message édité par ciler--[/jfdsdjhfuetppo]


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°111004
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-03-2002 à 14:14:49  profilanswer
 

pour le SHFileOperation, c'est dans l'aide Win32 Programmer's Reference, dans les fichiers d'aide de Borland.
Sinon ça doit se trouver facilement:
http://groups.google.com/groups?q= [...] a=N&tab=wg
Mais apparemment il n'y a pas non plus moyen de le faire avec cette fonction :/

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°111133
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 16:56:47  profilanswer
 

Vais ptet dire 1 connerie... en checkant la taille du fichier périodiquement ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111142
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 12-03-2002 à 17:05:29  profilanswer
 

[SDF]Poire a écrit a écrit :

Vais ptet dire 1 connerie... en checkant la taille du fichier périodiquement ?  




 
pour les petits fichiers, je crois que tout est mis dans la ram, puis recopié vite fait en destination.
En plus si c'est sur le même disque, ya pas de déplacement physique, juste dans le MBR (l'IPL en fait)


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°111143
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 17:07:54  profilanswer
 

juju_le_barbare a écrit a écrit :

 
 
pour les petits fichiers, je crois que tout est mis dans la ram, puis recopié vite fait en destination.
En plus si c'est sur le même disque, ya pas de déplacement physique, juste dans le MBR (l'IPL en fait)  




Beh ds C 2 cas la progress bar est inutile de toute façon ;)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111147
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 12-03-2002 à 17:12:56  profilanswer
 

[SDF]Poire a écrit a écrit :

 
Beh ds C 2 cas la progress bar est inutile de toute façon ;)  




en fait la progress bar est utile pour la copie/déplacement de plein de fichiers. Dans ce cas il suffit de checker le nombre de fichiers avant la copie dans les 2 reps, puis toutes les sec pendant la copie des 2 reps, et faire une différence...

 

[jfdsdjhfuetppo]--Message édité par juju_le_barbare--[/jfdsdjhfuetppo]


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°111148
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 17:13:55  profilanswer
 

juju_le_barbare a écrit a écrit :

 
en fait la progress bar est utile pour la copie/déplacement de plein de fichiers. D  




Oui mais ds les 2 cas que tu as sité elle est instantanné


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
mood
Publicité
Posté le 12-03-2002 à 17:13:55  profilanswer
 

n°111150
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 12-03-2002 à 17:18:18  profilanswer
 

[SDF]Poire a écrit a écrit :

 
Oui mais ds les 2 cas que tu as sité elle est instantanné  




oui, sdf, oui !!!
pq tu es si lourd aujourd'hui ? c'est les 21 ans ???


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°111152
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 17:19:27  profilanswer
 

juju_le_barbare a écrit a écrit :

 
oui, sdf, oui !!!
pq tu es si lourd aujourd'hui ? c'est les 21 ans ???  




eh t'as édité hein ;)
et en + G que 20 ans
 
Et je défend seulement mon hypothese de solution...

 

[jfdsdjhfuetppo]--Message édité par [SDF]Poire--[/jfdsdjhfuetppo]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111154
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 12-03-2002 à 17:20:19  profilanswer
 

[SDF]Poire a écrit a écrit :

 
eh t'as édité hein ;)
et en + G que 20 ans  




 
ooops 20 ans, OK !


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°111158
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 17:24:59  profilanswer
 

:D (up pour l'édit ;))


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111170
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 12-03-2002 à 17:37:07  profilanswer
 

[SDF]Poire a écrit a écrit :

:D (up pour l'édit ;))  




en fait ya mieux que ce que j'ai dit, j'aurais du réfléchir...
on compte le nombre de fichiers à envoyer (nb_fichiers), on paramétrise (?) la scroll bar avec min : 1 et max : nb_fichiers,
puis après chaque fichier copié on incrémente la scrollbar de 1, ou bien toutes les secondes avec 1 timer (mais moins élégent)...
 
@++ et bonne nuit :D  :D   :p  :na:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°111173
Ciler
Posté le 12-03-2002 à 17:39:12  profilanswer
 

Hélas, le coup de checker la taille ne marche pas...
0 jusqu'a la fin de la copie et la bunk, pleine taille.
En plus, c'est pas vraiement beaucoup de petits fchiers qui sont copiés, mais quelques gros...


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°111176
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 17:48:53  profilanswer
 

juju_le_barbare a écrit a écrit :

 
en fait ya mieux que ce que j'ai dit, j'aurais du réfléchir...
on compte le nombre de fichiers à envoyer (nb_fichiers), on paramétrise (?) la scroll bar avec min : 1 et max : nb_fichiers,
puis après chaque fichier copié on incrémente la scrollbar de 1, ou bien toutes les secondes avec 1 timer (mais moins élégent)...
 
@++ et bonne nuit :D  :D   :p  :na:  




ça résout en rien le pb... ce qu'il veut C la progression même sur 1 fichier...


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111177
Ciler
Posté le 12-03-2002 à 17:52:40  profilanswer
 

[SDF]Poire a écrit a écrit :

 
ça résout en rien le pb... ce qu'il veut C la progression même sur 1 fichier...  




 
tt à fait...  :sweat: Comment il fait, Windows ?


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°111178
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 17:53:29  profilanswer
 

Je panse que avec ce qu'a donné Antp ça doit être possible :
lpszProgressTitle
 
Pointer to a string to use as the title for a progress dialog box. This member is used only if fFlags includes FOF_SIMPLEPROGRESS.
 
mais ptet pas de la façon excompté

 

[jfdsdjhfuetppo]--Message édité par [SDF]Poire--[/jfdsdjhfuetppo]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111181
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 17:54:47  profilanswer
 

ciler a écrit a écrit :

 
 
tt à fait...  :sweat: Comment il fait, Windows ?  




Windows il copit buffer par buffer hein ;) C la seule méthode...
Mais il y a ptet 1 API pour te simplifier la vie....


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111182
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-03-2002 à 17:55:26  profilanswer
 

ciler a écrit a écrit :

 
 
tt à fait...  :sweat: Comment il fait, Windows ?  




 
Windows il utilise le SHFileOperation
cette fonction permet d'afficher la même fenêtre que l'Explorateur Windows


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°111183
Buitoni
Posté le 12-03-2002 à 17:56:18  profilanswer
 

Bon, je vais répondre (pour une fois).
 
1. Je vois pas pourquoi tu veux pas utiliser le JvPack (le BUPack n'existe plus je le rapelle), ou un autre truc de delphi-jedi, c'est sous licence GNU-GPL, tu peux faire tout ce que tu veux avec, mais tu peux pas te faire du fric sur une version modifiée du code source, c'est tout... Enfin, chacun son truc.
 
2. Utilises deux TFileStream et copie par coup de 1-2ko dans un buffer, tu pourras faire ta progression alors...


---------------
Vendredi c'est Buitoni
n°111185
Ciler
Posté le 12-03-2002 à 18:00:09  profilanswer
 

Buitoni a écrit a écrit :

Bon, je vais répondre (pour une fois).
 
1. Je vois pas pourquoi tu veux pas utiliser le JvPack (le BUPack n'existe plus je le rapelle), ou un autre truc de delphi-jedi, c'est sous licence GNU-GPL, tu peux faire tout ce que tu veux avec, mais tu peux pas te faire du fric sur une version modifiée du code source, c'est tout... Enfin, chacun son truc.
 
2. Utilises deux TFileStream et copie par coup de 1-2ko dans un buffer, tu pourras faire ta progression alors...  




 
Merci, mais j'ai expliqué le pourquoi du 1 vers le milieu du topic, j'aimerais bien mais j'ai pas le choix, c'est tout.
Pour le 2 ... J'espérais pouvoir éviter la méthode "brutale" mais si il n'y a rien d'autre...


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°111190
Buitoni
Posté le 12-03-2002 à 18:05:55  profilanswer
 

C'est pas brutal comme méthode, tu crois qu'il fait comment Windows? Hein?  :D  
 

Citation :


@ Juju : Ben, si tu utilise du code ou des compos qui sont sous cette liscence, tu dois publier ton source (C pas le problème pour moi) et adjoindre au programme un fichier texte contenant la liscence GPL.  


 
C'est quoi ce délire? Depuis quand tu es obligé de publier tes sources quand tu utilises des composants sous GPL? Faut arrêter de boire, c'est pas bon...
 
Quand tu modifies un composant, tu dois republier ta version modifiée, mais en aucun cas ton programme  :pt1cable:  
 
Sinon on aurait droit à avoir les sources de milliers de programmes commerciaux  :D


---------------
Vendredi c'est Buitoni
n°111208
Ciler
Posté le 12-03-2002 à 18:36:58  profilanswer
 

Buitoni a écrit a écrit :

 
C'est quoi ce délire? Depuis quand tu es obligé de publier tes sources quand tu utilises des composants sous GPL? Faut arrêter de boire, c'est pas bon...




 
 
Je bois pas... On va dire que j'ai mal compris le GPL. Bon dans le doute, je vais relire la charte de près ce soir, mais il me semble bien qu'un prog contenant du code sous GPL doit lui même être sous GPL et donc opensource.


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°111214
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 18:43:33  profilanswer
 

TFileStream rulez  :D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111215
Buitoni
Posté le 12-03-2002 à 18:43:35  profilanswer
 

Soit dit en passant, la licence pour delphi-jedi (JvPack et cie), c'est la MPL, pas la GPL...  
 
Et on peut lire clairement sur le site:
 

Citation :


Project JEDI's implementation of the MPL allows developers to use its code in their applications ("Larger Work" ) regardless of whether the intended distribution will be in the public domain or as commercial applications, as long as the licence conditions are met. For a more detailed explanation, an annotated version of the MPL is available.  


 
Voila ce que tu dois savoir en résumé. Tu fais ce que tu veux
(le premier qui dit loreal il fait une semaine d'assembleur OS/390!)


---------------
Vendredi c'est Buitoni
n°111224
Ciler
Posté le 12-03-2002 à 19:00:49  profilanswer
 

Voila ce que je craignais... direct de la MPL

Citation :


     3.7. Larger Works.
     You may create a Larger Work by combining Covered Code with other code
     not governed by the terms of this License and distribute the Larger
     Work as a single product. In such a case, You must make sure the
     requirements of this License are fulfilled for the Covered Code.



---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°111297
taureau
Posté le 12-03-2002 à 20:12:07  profilanswer
 

va voir là http://www.torry.net/files.htm
 
par exemple le composant copyfile permet l'affichage d'une barre de progression, comme tu as les sources tu peux l'adapter à tes besoins

 

[jfdsdjhfuetppo]--Message édité par Taureau--[/jfdsdjhfuetppo]

n°111300
Buitoni
Posté le 12-03-2002 à 20:19:24  profilanswer
 

ciler a écrit a écrit :

Voila ce que je craignais... direct de la MPL

Citation :


     3.7. Larger Works.
     You may create a Larger Work by combining Covered Code with other code
     not governed by the terms of this License and distribute the Larger
     Work as a single product. In such a case, You must make sure the
     requirements of this License are fulfilled for the Covered Code.


 




 
 
Tu es sur que tu comprends bien ce que ca veux dire? :-D
Faudra songer à ne pas utiliser des traducteurs pour lire des licences, mais prendre qqs cours d'anglais  :na:  
 
Puis bon, je vois pas pourquoi je m'anarche, c'est ta merde si tu veux pas utiliser des trucs sous GPL/MPL parce que tu comprends pas les licences...
 
Sur ce... je laisse antp ou poire continuer, c pas mon trip de m'égosiller 50* pour la même chose.


---------------
Vendredi c'est Buitoni
n°111302
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-03-2002 à 20:19:48  profilanswer
 

ciler a écrit a écrit :

Voila ce que je craignais... direct de la MPL

Citation :


     3.7. Larger Works.
     You may create a Larger Work by combining Covered Code with other code
     not governed by the terms of this License and distribute the Larger
     Work as a single product. In such a case, You must make sure the
     requirements of this License are fulfilled for the Covered Code.


 




 
Et c'est quoi les requirement de la license que tu dois fulfiller ?
Pcq si c'est un truc genre "ne pas publier les source du composant en disant que c'est ton boulot", y a pas de problème dans ton cas.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°111303
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 20:20:12  profilanswer
 

Taureau a écrit a écrit :

va voir là http://www.torry.net/files.htm
 
par exemple le composant copyfile permet l'affichage d'une barre de progression, comme tu as les sources tu peux l'adapter à tes besoins  




Mieux avec l'édit  ;) j'allais filer le lien


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111304
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-03-2002 à 20:21:34  profilanswer
 

Buitoni a écrit a écrit :

 je m'anarche




 
:??:
je te savais plus anarché que ça :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°111305
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 20:21:36  profilanswer
 

Moi j'y connais rien ds les licences et je m'en fout... (enfin presque...)
Enfin pour le moment C pas mon pb...
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111309
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 20:22:28  profilanswer
 

antp a écrit a écrit :

 
 
:??:
je te savais plus anarché que ça :D  




Antp relecturage nétiquette hein.... ça arrive fautes/fautes de frappe....  :na:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111324
Buitoni
Posté le 12-03-2002 à 20:43:08  profilanswer
 

antp a écrit a écrit :

 
 
:??:
je te savais plus anarché que ça :D  




 
T'aimes pas ca?
Mais si tu continues je t'achatte a un arbre pour la nuit hein  :pt1cable:


---------------
Vendredi c'est Buitoni
n°111325
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 20:44:25  profilanswer
 

Buitoni a écrit a écrit :

 
 
T'aimes pas ca?
Mais si tu continues je t'achatte a un arbre pour la nuit hein  :pt1cable:  




Non ça compte pas si C toi ;) (private)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111350
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-03-2002 à 21:42:53  profilanswer
 

[SDF]Poire a écrit a écrit :

(private)  




 
 :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°111353
[SDF]Poire
Vive Grumly
Posté le 12-03-2002 à 21:49:58  profilanswer
 

antp a écrit a écrit :

 
 
 :heink:  




non tu comprendras pas  :p


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°111360
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-03-2002 à 22:00:24  profilanswer
 

[:sisicaivrai]  
c'est quoi toutes ces magouilles


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Delphi] Obtenir un callback sur la copie d'un fichier

 

Sujets relatifs
Comment obtenir la clé primaire d'une table...a koi sert le fichier MSCVRT.DLL ki se trouve dans system32?
[Pascal/Delphi] déclarer des nouvelles variables dans un while[c++] comment supprimer des fichier et des sous repertoire
[C++] pb de lecture fichier [newbie need help][PHP] Comment fait-on pour renommer un fichier ?
[DELPHI] Pour le modo[Delphi] Scintillement lors du mouvement de composants Timage
[Delphi] Composant pour minimiser la perte d'espace sur les Cds[C++/MFC] IWebBrowser2 : comment afficher un fichier html en mémoire ?
Plus de sujets relatifs à : [Delphi] Obtenir un callback sur la copie d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR