PDA

View Full Version : سوال: ارسال پارامتر به فایل exe



H_vakilian
شنبه 05 اردیبهشت 1388, 16:14 عصر
من یک برنامه C# دارم که می خوام از داخل اون یک فایل اجرای matlab رو اجرا کنم و 2 تا integer بهش ارسال کنم و یک خروجی ازش بگیرم چطوری باید این کار رو انجام بدم؟؟؟؟؟

tdkhakpur
شنبه 05 اردیبهشت 1388, 21:17 عصر
دوست عزیز:
برای اینکه این کار رو خودتون انجام بدید باید در هر دو طرف قضیه خودتون باشید یعنی هر دو برنامه رو خودتون نوشته و اجرائئیش کرده باشید.
اما یه مشکل دیگه بعد این کار براتون پیش خواهد آمد و اون اینه که شما باید اطلاعات فوق برنامه نویسی از ساخت نحوه اجرا و دانلود فایلهای اجرائی توی حافظه رو داشته باشید تا بتونید با فراخوانی یک مکان مشخص که در فایل قرار داده اید به ارسال از بیرون به اون مکان- داده ها رو انتقال دهید که فکر کنم براتون تقریبا عملی نباشه.
ولی دو راه آسون براتون پیشنهاد میکنم که ترجیها دومی از اولی بهتر و بادرک تر خواهد بود.
1 - از طریق ساخت به روش server /client:
یعنی برنامه یکی به عنوان سرور و دومی به عنوان تقاضا کننده داده ها.
2 - ساخت یک فایل رابط:
یه فایل رو به عنوان رابط در هر دو برنامه ایجاد کنید و با چک کردن محتوا در زمانهای متوالی یا ترجیهی خودتون در برنامه به تبادل داده بپردازی.
(این یادآوریها فقط شامل دو برنامه طراحی شده بوسیله خودتون باید استفاده شود )

Reza_Yarahmadi
شنبه 05 اردیبهشت 1388, 23:14 عصر
من خودم هم دنبال همچین چیزی بودم اما تنها جوابی که گرفتم و به نظرم منطقی اومد این بود که :
بستگی به برنامه ای که می خواید ازش استفاده کنید داره. اگه با C یا ++C کار کرده باشید معمولا اول برنامه با


void main()
{

}

شروع میشه. اگه توی پرانتز پارامتری داشته باشه یعنی میشه به برنامه پارامتر ارسال کرد اگر هم بجای void نوع داده دیگه ای باشه یعنی میشه ازش نتیجه ای دریافت کرد. حالا اگه برنامه مورد نظر شما پارامتر میگیره و ...!
البته یه راه دیگه هم اینه که بگردی فایلهای dllی که کار مورد نظر شما رو انجام میده رو پیدا کنید که یه مقدار مشکله (واسه من که مشکله :گیج:)

H_vakilian
یک شنبه 06 اردیبهشت 1388, 12:35 عصر
در مورد روش دوم میشه یکم توضیح بدین

Reza_Yarahmadi
یک شنبه 06 اردیبهشت 1388, 13:53 عصر
در نرم افزارهای بزرگ مثل matlab همه کدهای برنامه توی یک کلاس نوشته نمی شه بلکه هر بخش از کار ، به گروهی از برنامه نویسان داده میشه. هر گروه کدهای خودشون رو در قالب یک یا چند کلاس می نویسند و به فایلهای dll تبدیل میکنند.... (بدیهیات بود!)
ممکنه کاری که شما می خواید انجام بدید توی یک یا چندتا از این کلاسها انجام بشه. شما باید کلاس مورد نظر رو پیدا کنید و ازش استفاده کنید (پیدا کردنش تقریبا مشکله)