ما هي الطريقة لأستدعاء ملف تنفيذي غير معروف مساره
#1
أرغب في صنع برنامج صغير
عبارة عن فورم واحد فقط أضع به عدة أزرار أو مكون menu
وكل زر أضع به كود لإستدعاء ملف تطبيقي
مع العلم ما ارغب في الوصول اليه من خلال هذا الطلب هو
أنه لدي عدة برامج و**** أن أضع لهما menu لأستدعيهم من خلاله
كما انني لا أرغب تعريف المسار الموجود به الملف
بل لا بد من البحث على الملف تلقائيًا بمجرد الضغط على الزر المخصص للملف المراد استدعاءه
مثلا الملف المراد استدعاءه هو talckam.exe ولا أعرف في اي مسار موجود
**** أن اكون قد وفقت في طرح السؤال
أنا اعرف اني لا احسن طرح السؤال
وشكرًا
الرد
#2

تبحث ! وان كان هناك ملف اخر له نفس الاسم، كيف تعرف انه المقصود ؟
عليك ان تشرح اكثر ما تقوم به
والسلام عليكم
الرد
#3
DeltaAziz كتب :
تبحث ! وان كان هناك ملف اخر له نفس الاسم، كيف تعرف انه المقصود ؟
عليك ان تشرح اكثر ما تقوم به
والسلام عليكم


أعرف المقصود من خلال المجلد الموجود به كل البرامج التطبيقية
لآنه لا بد من وجود مجلد خاص أجمع به هذه البرامج إلا أن القرص مجهول
ربما يكون هذا المجلد في أحد الأقراص c,d,e,f,g,h,i,k,l,m إلخ
والقصد هو أن البحث يجب ان يبحث على القرص المتواجد به المجلد الذي يحتوي على الملف المفصود
وليكن إسم المجلد مثلاً Mes_Programmes
واحد الملفات المقصود هو talckam.exe الموجود داخل مجلد أخر وإسمه Talckamino

Mes_Programmes\Talckamino\talckam.exe
أتمنى أن أكون وفقت في التوضيح
الرد
#4
هل تقصد هذا ؟
http://www.delphi4arab.net/forum/showthread.php?tid=834
الرد
#5
DeltaAziz كتب :هل تقصد هذا ؟
http://www.delphi4arab.net/forum/showthread.php?tid=834

شكرًا على معاونتكم لنا
لكن ليس هذا هو المقصود
عندما اضغط على زر المسمىkey SR-X550/650D
يبحث في في كل الأقراص على المجلد المسمى starsats ومن ثم إلى المجلد SR-X550D ثم المجلد KeyEditor ثم الملف التنفيذي KeyEditor.exe لتنفيذه
والزر الثاني يبحث على المجلد CONDORS ثم المجلد CONDOR_5000CI ثم على الملف التنفيذي DreamLoader.exe لتنفيذه
وهكذا

وشكرًا
الرد
#6

ولماذا البحث ؟!!

باستخدم نفس ما بالرابط الذي وضته سابقا يكفي كتابة في الزر الاول
PHP كود :
ShellExecute(Handle,'open',Pchar(ExtractFilePath(Paramstr(0))+'STARSATS\SR-X550D\KeyEditor\keyeditor.exe'),nil,nil,SW_SHOW); 
وفي الزر الثاني
PHP كود :
ShellExecute(Handle,'open',Pchar(ExtractFilePath(Paramstr(0))+'STARSATS\SR-X150D\DreamLoader.exe'),nil,nil,SW_SHOW); 
الرد
#7
DeltaAziz كتب :
ولماذا البحث ؟!!

باستخدم نفس ما بالرابط الذي وضته سابقا يكفي كتابة في الزر الاول
PHP كود :
ShellExecute(Handle,'open',Pchar(ExtractFilePath(Paramstr(0))+'STARSATS\SR-X550D\KeyEditor\keyeditor.exe'),nil,nil,SW_SHOW); 
وفي الزر الثاني
PHP كود :
ShellExecute(Handle,'open',Pchar(ExtractFilePath(Paramstr(0))+'STARSATS\SR-X150D\DreamLoader.exe'),nil,nil,SW_SHOW); 


مشكور لكنه يطلب تعريف ShellExecute
[Erreur] Unit1.pas(37): Identificateur non déclaré : 'ShellExecute'
الرد
#8
اظف الوحدة ShellApi في uses
الرد
#9
DeltaAziz كتب :اظف الوحدة ShellApi في uses

شكرً جزيلاً لقد نجحت العملية
لكن هناك أمر أخر
وهو إن لم تكون هذه المجلدات مدمجة مع البرنامج وكانت على قرص أخر
كيف يتم استدعاءها
يعني البرنامج على القرص d\ مثلاً وهذه المجلدات على قرص أخر ربما E:\ أو F:\
الرد
#10

لا يهم اي قرص حتى لو كان z:
المهم ان تكون المجلدات بنفس الترتيب انطلاقا من مكان تواجد الملف التنفيذي
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم