![]() |
|
سحب واسقاط الملفات الى برنامجك - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6) +--- قسم : دلفي والتعامل مع الملفات (https://delphi4arab.net/forum/forumdisplay.php?fid=22) +--- الموضوع : سحب واسقاط الملفات الى برنامجك (/showthread.php?tid=1760) |
سحب واسقاط الملفات الى برنامجك - ramijz - 07-03-2010 السلام عليكم ورحمة الله وبركاته اخواني الاعزاء هذه شيفرة تستطيع من خلالها ان تقوم بسحب اي ملف من خارج البرنامج واسقاطه الى نافذة البرنامج فيقوم بعرض اسم ومسار الملف الذي قمت بسحبه كود : procedure TForm1.AcceptFiles( var msg : TMessage );
const
cnMaxFileNameLen = 255;
var
i,
nCount : integer;
acFileName : array [0..cnMaxFileNameLen] of char;
begin
nCount := DragQueryFile( msg.WParam,
$FFFFFFFF,
acFileName,
cnMaxFileNameLen );
for i := 0 to nCount-1 do
begin
DragQueryFile( msg.WParam, i,
acFileName, cnMaxFileNameLen );
Edit1.Text:=acFileName;
end;
DragFinish( msg.WParam );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles( Handle, True );
end;سحب واسقاط الملفات الى برنامجك - ramijz - 07-03-2010 السلام عليكم ربما يتسأل البعض مااستفيد من سحب واسقاط الملف الى برنامج اليكم هذه التجربة وهي تقوم بعرض ملف صورة في حال قمت بسحب الصورة الى داخل نافذة البرنامج كود : uses ShellApi;
procedure TForm1.FormCreate(Sender: TObject);
begin
originalPanelWindowProc := Panel1.WindowProc;
Panel1.WindowProc := PanelWindowProc;
DragAcceptFiles(Panel1.Handle,true);
end;
procedure TForm1.PanelWindowProc(var Msg: TMessage);
begin
if Msg.Msg = WM_DROPFILES then
PanelImageDrop(TWMDROPFILES(Msg))
else
originalPanelWindowProc(Msg);
end;
procedure TForm1.PanelImageDrop(var Msg: TWMDROPFILES);
var
numFiles : longInt;
buffer : array[0..MAX_PATH] of char;
begin
numFiles := DragQueryFile(Msg.Drop, $FFFFFFFF, nil, 0);
if numFiles > 1 then
begin
ShowMessage('You can drop only one image file at a time!');
end
else
begin
DragQueryFile(Msg.Drop, 0, @buffer, sizeof(buffer));
try
Image1.Picture.LoadFromFile(buffer);
except
on EInvalidGraphic do ShowMessage('Unsupported image file, or not an image!');
end;
end;
end;سحب واسقاط الملفات الى برنامجك - kachwahed - 07-03-2010 وعليكم السلام ورحمة الله وبركاته مثال جميل أخي ramijz وإن كان سبقك إليه غيرك ![]() في انتظار المزيد من الجديد، بالتوفيق. سحب واسقاط الملفات الى برنامجك - ramijz - 07-03-2010 وعليكم السلام اخ kachwashed قمت بالبحث بالموقع عن السحب والاسقاط ولكنني يبدو لم ابحث بشكل جيد ففكرت ان اقوم بوضع هذه التجربة وهي ليست لي بل من مقالة اجنبية . سحب واسقاط الملفات الى برنامجك - ابن فلسطين - 17-06-2010 شكرا اخي ramijz على الكود الذي يمكننا من خلال اضافته الى برنامجنا المصمم بالدلفي بان نقوم بسحب واسقاط اي ملف الى الملف. نتمنى منك المزيد يا غالي ولك مني كل الشكر والتقدير. سحب واسقاط الملفات الى برنامجك - Raiven - 12-02-2011 شكرآ لك أخي على الكود الرائع وأعتقد إن الكود له فوائد وإستخدامات عديده ومن بينهم ومن أهمها هي تسهيل عمليه الفتح لبعض الملفات شكرآ مرة أخرى سحب واسقاط الملفات الى برنامجك - المحجوب - 29-11-2011 نعم كود جميل ويستخدم دائماً في مشاريع الملتميديا اشكرك ... سحب واسقاط الملفات الى برنامجك - JS_0 - 26-03-2012 شكرا جزيلا ولكن هل لي في سؤال إذا أردت البرنامج أن يقبل نوع من الملفات مثل .exe فماذا أفعل ؟ سحب واسقاط الملفات الى برنامجك - kachwahed - 27-03-2012 كحل سريع، قم بفحص لاحقة الملف: كود : DragQueryFile( msg.WParam, i,
acFileName, cnMaxFileNameLen );
if SameText(ExtractFileExt(acFileName), '.exe') then
Edit1.Text:=acFileName;كود : http://www.delphidabbler.com/articles?article=8 |