PDA

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



c-sharp_South
پنج شنبه 21 دی 1391, 23:25 عصر
سلام دوستان.
تاپیک مشابهی رو چند مدت پیش زدم و دوستان یک سری پاسخ هایی دادن که خب
حقیقت هیچ کدام من رو اون چیزی که می خواستم نرسوند.
گفتم دوباره مطرح کنم شاید کسی لطف کنه و جواب درست و کاملی رو بده.
میخواییم یک برنامه بسازیم که توی یک textbox و یک Button وجود داره.
ما توی textbox یک متن خواص رو تایپ میکنیم و بعد انتخاب RadioButton مورد نظر مثلا:
Error , Information , ... و کلیک کردن روی Button فایل exe ما ساخته بشه.
الان اگه فایل exe رو اجرا کنیم تنها یک messageBox واسه ما نمایش داده میشه که متن
داخل messagebox رو خود کاربر تعیین کرده و کلا فایل exe رو خود کاربر ساخته.
خواهش میکنم اگه کسی بلده کامل راهنمایی کنه.
خیلی گشتم ولی به جایی نرسیدم.امید آخرم بچه های سایت برنامه نویس است
مرسی :قلب:

zarrinnegar
جمعه 22 دی 1391, 02:05 صبح
مسیج باکس رو که نمیشه exe کرد ولی یه کد برات میزارم که داخلش توی رشته نوشته شده میتونی یه سری کد های مربوط به Console app رو قرار بدی تا برات کامپایل کنه و توی فایل MyFile.exe برات بزاره که اجرا شه
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
class Program
{
static void Main(string[] args)
{
var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });
var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "MyFile.exe", true);
parameters.GenerateExecutable = true;
CompilerResults results = csc.CompileAssemblyFromSource(parameters,
@"using System.Linq;
class Program
{ public static void Main(string[] args)
{

var q = from i in Enumerable.Rnge(1,100)
where i % 2 == 0
select i; }
}");
results.Errors.Cast<CompilerError>().ToList().ForEach(error => Console.WriteLine(error.ErrorText));
} }


در ضمن این کد هم اگر فایل Cs بهش بدی کامپایل میکنه و ازش Exe میسازه حالا کلنجار رفتن باهاش و اونی رو که میخوای بسازی با خودت
System.Diagnostics.Process.Start(" %systemroot%\\Microsoft.NET\\Framework\\v3.5\\csc /out:c:\\MyFile.exe c:\\MyForm.cs");

c-sharp_South
جمعه 22 دی 1391, 11:02 صبح
مرسی آقای Zarrinnegar (http://barnamenevis.org/member.php?31940-zarrinnegar) بخاط راهنمایی مفیدتون.
من مقال مسیج باکس رو زدم که شاید مفهوم رو ساده تر گفته باشم.
در کل همه ی ما حتما برنامه هایی دیدم که فایل exe میسازن.
فرض کنید یک برنامه داریم که توی اون یک سری کدهای ارسال ایمیل قرار داره.
کاربر با باز کردن برنامه و وارد کردن آدرس ایمیل خودش در برنامه و زدن کلید Build ، یک فایل اجرایی exe میسازه
که با باز باز کردن اون فایل exe ، متن ایمیل به آدرس ایمیلی که کاربر تعیین کرده ارسال میشه.
------------------------
مثال دوم:
من یک برنامه ساختم و میخوام به کاربر ها این امکان رو بدم که برنامه ی من رو به اسم خودشون در بیارن.
میاییم یک برنامه میسازیم که توش چند تا textbox و محل انتخاب آیکن و ... وجود داره که مثلا عنوان یکی از تکست باکس ها
این میتونه باشه که نام Form برنامه چی باشه یا اسم سایت یا وبلاگ کاربر رو بگیره.
در آخر که کاربر موارد مورد نظر رو پر کرد با کلیک کردن بر روی گذینه ی Build . یک فایل exe با مشخصاتی که کاربر تعیین کرده
ساخته میشه.

کار من به مثال اولم مربوط میشه.
امیدوارم تونسته باشم به درستی منظور خودم رو بیان کنم

the king
جمعه 22 دی 1391, 13:12 عصر
این تاپیک را دیده بودید ؟
گرفتن اطلاعات از کاربر و چگونگی ایجاد فایل exe مربوطه (http://barnamenevis.org/showthread.php?377211)

در مثالی که زده بودم فرقی نمی کنه که داده رو برای چه منظوری استفاده کنید، نمایش MessageBox یا هر کاربرد دیگه ای،
شما یک داده حداکثر 224 بایتی که می تونست بیشتر باشه رو ذخیره می کنید و بکار می برید. ممکنه مربوط به دو پارامتر مختلف باشه یا
50 تا پارامتر. اساسا فرقی نمی کنه.