![]() |
|
معلمة تعرف البرنامج على حرف cd - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : معلمة تعرف البرنامج على حرف cd (/showthread.php?tid=798) |
معلمة تعرف البرنامج على حرف cd - mohjw - 10-04-2009 السلام عليكم ورحمة الله وبركاته حقيقة أني استفدت من هذا الموقع فوائد كثيرة جدا ومنها اني أحببت دلفي وتوجهت لتعلمه ومازلت على أول عتبات التعلم وعندي سؤال لو تكرمتوا كيف اجعل أمر تشغيل برنامج خارجي من cd يتم من خلال دلفي بمعنى تشغيل برنامج من الجهاز سهل يكون امر الزر هكذا إقتباس :winexec('c:\windows\calc.exe' ,sw_show) ; لكن كيف اعطي الزر امر يشغل برنامج من على cd ولكم دعائي وخالص ثنائي أخوكم ابو عبدالله معلمة تعرف البرنامج على حرف cd - I_Tiger - 10-04-2009 السلام عليكم واصل اخي فلغة دلفاي لغة رائعة وهذا المنتدى يزيدها روعة اما عن سؤالك فالامر في غاية البساطة فقط ظع المسار الكامل للملف وسيشتغل حتى ولو كان في CD يعني لو كان الملف في السواقة F تكتب كود : winexec('F:\calc.exe' ,sw_show) ;واليك طريقة اخرى عن طريق الAPI's اظف كود : uses ShellApi;ثم اكتب في حدث الظغط كود : ShellExecute(Handle, 'open', 'c:\Windows\system32\notepad.exe', nil, nil, SW_SHOWNORMAL) ;ملاحظة: الكود الذي ادرجته في سؤالك يعمل في 98 و Me اما في XP و 2000 و اعتقد Vista و Seven ايظا هو كالتالي: كود : winexec('c:\windows\system32\calc.exe' ,sw_show) ;معلمة تعرف البرنامج على حرف cd - mohjw - 11-04-2009 سلام وتحية لك ولأهلنا في الجزائر جميعا أخي الكريم ردك رائع ووافي ولكن !! وبالنسبة للمثال كما ذكرت هو خاص بالأصدارات القديمة بس انا ابي الفكرة توصل فقط **** البرنامج يكتشف حرف السواقة المضغوطة تلقائي لأنه ما يخفى عليك تختلف من جهاز لجهاز [ f - h -g] وهكذا ولك تقديري محبكم أبو عبدالله معلمة تعرف البرنامج على حرف cd - Maher Tannous - 11-04-2009 حمل هذا أخي و ستجد فيه طلبك http://www.delphi4arab.net/forum/attachment.php?attachmentid=645&d=1235953938 معلمة تعرف البرنامج على حرف cd - I_Tiger - 11-04-2009 ان لم يشتغل لديك المثال الذي تفظل به الاخ ماهر بسبب تلك المكونات المجهولة فاليك هذا الكود الذي يعطيك حرف السيديروم كود : function GetFirstCdRomDrive: string;
var
r: LongWord;
Drives: array[0..128] of char;
pDrive: pchar;
begin
Result := '';
r := GetLogicalDriveStrings(sizeof(Drives), Drives);
if r = 0 then exit;
if r > sizeof(Drives) then
raise Exception.Create(SysErrorMessage(ERROR_OUTOFMEMORY));
pDrive := Drives;
while pDrive^ <> #0 do begin
if GetDriveType(pDrive) = DRIVE_CDROM then begin
Result := pDrive;
exit;
end;
inc(pDrive, 4);
end;
end;وهذا مثال على استدعائه كود : ShowMessage(GetFirstCdRomDrive);ملاحظة: الدالة ترجع empty string اذا لم يكن هناك سيدي درايف على الجهاز معلمة تعرف البرنامج على حرف cd - mohjw - 11-04-2009 ألف شكر وتحية لردودك الوافية والجميلة أسعدك الله بطاعته ورضاه معلمة تعرف البرنامج على حرف cd - mohjw - 11-04-2009 شاكر ومقدر ردك أخي ماهر وقد استفدت من ردكما بورك فيكما معلمة تعرف البرنامج على حرف cd - I_Tiger - 11-04-2009 على الرحب اخي |