PDA

نسخه کامل مشاهده نسخه کامل : سوال از برنامه نويسان آشنا با دلفي 7 - اجراي فايلها



Erfaan
14-05-2005, 04:04
---------------

Nesta
14-05-2005, 04:26
سلام
دوسته عزيز من که دقيق نفهميدم شما چی منظورت هست ولی اگه منظورت اين هست که ميخوای از delphi مثلاً با يک فرمان يک فايل اجرعی رو اجرا کنی که اصلاً هيچ ربطی به delphi نداشته باشه يعنی اين که مثلاً شما ميخوای وقتی روی يک دکمه کيليک کردی مثلاً winamp اجرا بشه اين دستور برايه اين کار به نظر من توابع ا پی اي از همه بهتر هست
حالا یعنی چی یعنی این که مثلا شما می خواهی ما شین حساب رو با کیلیک روی یک دکمه بیاری winexec('calc',sw_show);
حالا چرا calc چون که اگه روی ما شین حساب ویندوز کلیک راست کنی زده calc.exe خوب پس برای چیزه دیگه باید مسیر بده و نام فایل اجرا کننده رو بدی البته کد logout فرق داره

Nesta
14-05-2005, 04:29
دوسته عزيز شما از اين ببد سؤالات خودت رو در اين قسمت مطرح کن لطفاً [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

FGIT
14-03-2006, 08:56
ShellExecute اين كار رو براتون انجام ميده

shayan_p30
14-12-2006, 08:30
من اين بار كه اومدم تو p30world با اين يكي ميشه سه باره كه اين سوال جواب دادم.ميتونم آدرس اون تاپيك رو بدم ولي ميدونم كه دوست دارين از آسون ترين راه جواب رو بگيرين:

براي اجرا كردن فايل ها از درون دلفي راه هاي مختلفي وجود دارد كه من مختصري از كامل ترين راه را ميگو يم:

براي اين كار تابعي وجود دارد به نام ShellExecute كه در يونيت ShellApi تعريف شده است بنابراين لازم است ابتدا يونيت ShellApi را به ليست يونيتهاي پروژه اضافه كنيد.اين تابع يكي از توابع قدرتمند براي اجراي فايل است.شكل كلي تابع به اين صورت است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پارامتر اول يك متغيير از نوع HWND است.
لازم است براي كساني كه با مفهوم Handle در ويندوز آشنا نيستند توضيحاتي راجع به Handle بدهم. هر پنجره يا آبجكتي در ويندوز داراي يك Handle است كه براي دسترسي به آن پنجره يا آبجكت شما بايد از اين Handle استفاده كنيد. در واقع يك Handle يك عدد در مبناي 16 است. Handle يك عدد unique يا همتا است كه ويندوز آن را مقداردهي مي كند. اگر از يك پنجره دو Instance اجرا شده باشد (مثلا يك برنامه دو بار اجرا شده باشد) هر كدام از اين Instanceها يك Handle جداگانه دارند(فكر كنم كمي پيچيده بود).
با اين تفاصيل پارامتر اول Handle پنجره اي است كه اين دستور را صادر كرده است. شما براي اين پارامتر مي توانيد از Application. Handle استفاده كنيد و يا آن را برابر 0 قرار دهيد. به علاوه مي توانيد Handle يك برنامه ديگر را بدهيد.
در صورتي كه شما مي خواهيد پيغام هاي اخطار آن فايل را دريافت كنيد يا آن را كنترل نماييد و يا تا اجراي كامل آن اجراي برنامه را متوقف كنيد با Handle برنامه خود را با استفاده از Application.Handle به اين پارامتر بدهيد.

پارامتر دوم مشخص كننده وظيفه اي است كه قرار است انجام شود. اين پارامتر مقادير پيش فرضي ندارد و بستگي به خصوصيات فايل اجرايي دارد. روي يك فايل از نوع Text كليد سمت راست ماوس را بزنيد. احتمالا موارد بالاي ليست "open"، "Edit with ..." , "print" است. هر كدام از اين رشته هاي مي توانند يك عمليات يا Operation باشند. به عنوان مثال شما مي خواهيد يك فايل Text را چاپ كنيد. در اين صورت كافي است از عبارت print به عنوان operation استفاده كنيد. يا مي خواهيد يك فايل rar را با استفاده از WinRar باز كنيد. در اين صورت مي توانيد از "Extract files" استفاده كنيد. حتما تا به حال متوجه شده ايد كه دستور ShellExecute چه مقدار انعطاف پذير است. با استفاده از اين فرمان مي توانيد هر گونه دستور Shell را اجرا نماييد.

پارامتر سوم مشخص كننده نام فايل يا شاخه اي است كه شما مي خواهيد عمليات بر روي آن انجام شود.

حتما تا حالا با طرز كار اين تابع آشنا شده ايد اما اگر لازم بود در پست هاي بعدي به توضيح بقيه ي اجزا اين تابع و مثال هاي جالب تري از اين تابع (فرستادن ميل و ...) پرداخته ميشود. بدرود:happy:

sina_ali
02-09-2008, 01:11
سلام
می خواستم بدونم چه طوری می شه در دلفی با سایر برنامه ها ارتباط برقرار کرد
و از اونا چیزی خواست

kiyan01
19-11-2008, 22:54
یه سوال می شه از خود دلفی برای برنامه دلفی inistal ایجاد کرد؟؟

فاطـمه
20-11-2008, 07:50
سلام
می خواستم بدونم چه طوری می شه در دلفی با سایر برنامه ها ارتباط برقرار کرد
و از اونا چیزی خواست
مثلا با چه برنامه ای؟



یه سوال می شه از خود دلفی برای برنامه دلفی inistal ایجاد کرد؟؟

می شه منظورتون رو واضح تر بگین؟
یعنی میخواین واسه برنامه ای که نوشتین فایل نصب بسازید؟

VDeveloper
25-11-2008, 05:08
یه سوال می شه از خود دلفی برای برنامه دلفی inistal ایجاد کرد؟؟
بله، نمونه اش InnoSetup که یک برنامه ساخت Setup بصورت Open-source هست، و با دلفی نوشته شده. می تونید باهاش برای برنامه های دلفی و غیر دلفی (برنامه Setupساز کاری با زبان برنامه نویسی نداره) Setup بسازید.

esmailmazroi
19-03-2009, 10:23
سلام سوال طريقه وصل شدن به فورم از طريق كليك بر روي ركورد دبي گريد را ميخواستم بدونم با تشكر

esmailmazroi
21-03-2009, 11:35
سلام چه كدي بايد نوست تا كارب بتوند هر يك پوسته جديد از وي سي ال اسكين را براي فورم انتخاب كند با تشكر از همه دوستان عزيز