denisBilog
-
Modifié le 22 févr. 2022 à 16:26
Whismeril
Messages postés18290Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention24 mars 2023
-
22 févr. 2022 à 18:06
A partir de la demande de Guillaume Romain qui a observé que la commande Copier un nom de fichier ne produisait pas la commande Coller quand un nom de fichier pour un fichier Jpeg par exemple était copié depuis le menu Popup de l'explorateur des fichiers.
f := GetclipBoardData(CF_HDROP);
f := Clipboard.GetAsHandle(CF_HDROP);
if f <> 0 then
begin
maximum:=0; ficelle:='';
numFiles:=DragQueryFile(f,$FFFFFFFF,nil,0);
for i := 0 to numfiles - 1 do
begin
buffer[0] := #0;
DragQueryFile(f,i,buffer,SizeOf(buffer));
strlower(strpcopy(pc_extension,ExtractFileName(strpas(buffer))));
if (strpos(pc_extension,wmenuk.point_jpg)<>nil)
or (strpos(pc_extension,wmenuk.point_jpeg)<>nil)
or (strpos(pc_extension,wmenuk.point_gif)<>nil)
or (strpos(pc_extension,wmenuk.point_tga)<>nil)
or (strpos(pc_extension,wmenuk.point_bmp)<>nil)
or (strpos(pc_extension,wmenuk.point_png)<>nil) then
begin
if wutil.file_existe(buffer) then
begin
inc(maximum,wutil.file_size(buffer));
Self.Lecture_d_un_fichier_image_open_image_file(buffer,false)
end
else
k_erreur.MessageBox_printf(self.hwindow,
k_erreur.Tell_je_ne_trouve_rien_sur_ce_peripherique,mb_ok or mb_iconstop,buffer); {cela va de soi...}
end;
if strpos(pc_extension,wmenuk.point_svg)<>nil then
Ouvrir_un_svg(buffer);
end; {for i}
if numFiles=1 then ficelle:='"'+strpas(buffer)+'"';
if maximum<>0 then
unit_menu.Prevoir_la_taille_du_fichier(unit_menu.TPEV_Ouvrir,maximum,ficelle);
end;
finally
Clipboard.Close;
end;
Whismeril
Messages postés18290Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention24 mars 2023622 22 févr. 2022 à 18:06
BONJOUR si si un peu de politesse c'est toujours apprécié...
Imagine que ton boulanger te demande si tu préfères le pain blanc ou complet.
Tu sors de la boulangerie et entres dans la boucherie en disant à qui veut l'entendre "Complet bien sûr ».
Personne ne va comprendre.
C'est exactement ce que tu as fait sur ce forum en cliquant sur le bouton vert "Posez votre question". Pour répondre à une discussion il faut cliquer sur le bouton ROUGE "Répondre" ou encore plus simplement écrire dans la boite de texte placée en bas de la page
Si ce bouton ou cette boite de texte ne sont pas visibles, c'est que la discussion est close et qu'on ne peut plus y répondre.
En ce cas un lien vers la discussion d’origine est indispensable pour comprendre ce que tu racontes.