Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Как написать билдер для своей программы?

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 01.09.2016, 00:26   #1
 Разведчик
Аватар для Yoooou
 
Yoooou никому не известный тип
Регистрация: 31.08.2016
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
Question Как написать билдер для своей программы?

Вообщем есть у меня готовый класс: отправки почты
Код:
using System;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;
#endregion Imports
 
internal class SettingMessage
{
   public static void MessageSend()
    {
        try
        {
            using (MailMessage mess = new MailMessage())
            {
                SmtpClient client = new SmtpClient("", Convert.ToInt32()){
                Credentials = new NetworkCredential("", ""),
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network};
                mess.From = new MailAddress("");
                mess.To.Add(new MailAddress(""));
                mess.Subject = Environment.UserName;
                mess.SubjectEncoding = Encoding.UTF8;
                mess.Body = "";
              
                client.Send(mess);
                mess.Dispose();
                client.Dispose();
            }
        }
        catch (Exception exception)
        {
            File.WriteAllText("error.txt", exception.ToString());
 
        }
    }
}
Хочу понять сам принцип как добавить весь текст в класс через текстбокс!
И создать билдер без стаба. Чтобы сразу напрямую писать в программе
Слышал от опытного кодера, что можно создать без стаба) хз как
P.S: видел в одном исходе был такой код: типо
Код:
static public string messageToWorld = "Nickitee";
на
Код:
static public string messageToWorld = "[DynamicMessage]";
Что обозначают [ ] скобки как они взаимодействуют?
Буду очень рад если поможете объяснить подробнее, а так же как при комиляции создать билд с иконкой
  Ответить с цитированием
Старый 25.09.2016, 15:36   #2
 Разведчик
Аватар для Yoooou
 
Yoooou никому не известный тип
Регистрация: 31.08.2016
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Как написать билдер для своей программы?

Немного разобрался, подскажите, если у меня имеется много классов, их тоже нужно в ресурсы запихивать чтобы скомпилировать?
  Ответить с цитированием
Старый 04.10.2016, 03:23   #3
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Как написать билдер для своей программы?

Если ответ ещё нужен:
Всё просто, берём вот такой код:
Код:
            try
            {
                CompilerParameters Params = new CompilerParameters();
                Params.GenerateExecutable = true;
                Params.ReferencedAssemblies.Add("System.dll"); //Добавлем линк в исходный файл на System.dll
                Params.ReferencedAssemblies.Add("System.Windows.Forms.dll"); //Тоже самое но на System.Windwos.Forms.dlle
                Params.CompilerOptions += "\n/t:winexe"; //Убираем cmd окно путём объявления программы Windows приложением


                Params.OutputAssembly = "OpenMe.exe"; //Имя конечного файла

                var settings = new Dictionary<string, string>();
                settings.Add("CompilerVersion", "v2.0"); //Указываем версию framework-a 2.0

                
                CompilerResults Results = new CSharpCodeProvider(settings).CompileAssemblyFromFile(Params, new string[] { "Main.cs", "MyClass.cs" });

                if (Results.Errors.Count > 0)
                {

                    foreach (CompilerError err in Results.Errors)
                        MessageBox.Show(err.ToString()); //Выводим циклом ошибки, если они есть
                }
                else
                {
                    MessageBox.Show("Готово, файл появится в том же месте где и программа :)"); //Выводим сообщение что всё прошло успешно
                }
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
Разница между кодом, который я приводил в старой теме и этой - функция для комиляции.
CompileAssemblyFromFile позволяет скомпилировать сборку где в качестве второго аргумента мы можем передать массив строк, который будут путями для файлов компиляции.
В коде выше у меня рядом с .exe лежит 2 файла:
1. Main.cs
Код:
using System;

class Program
{
    private static void Main(string[] args)
    {
        MyClass.MyFunction();
    }
}
и
2. MyClass.cs
Код:
using System;
using System.Windows.Forms;

public class MyClass
{
    public static void MyFunction()
    {
        MessageBox.Show("MyFunction call");
    }
}
Самое главное запомнить, если мы компилируем .exe - нам нужен статический метод Main, который будет являться входной точкой. Для .dll входной точки не нужно.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
  Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Руководство] Система плагинов. Плагины для своей программы Yukikaze C# 5 24.05.2014 22:15
[Руководство] Лаунчер обновлений для своей программы(Updater) kill_stanislav Pascal/Delphi 5 22.08.2013 16:32
[Обсуждение] какие программы бы мне написать ? [Na`Vi]DendI Общение и обсуждение 16 20.06.2012 19:18
[Статья] Лаунчер обновлений для своей программы(Updater) 3jhlty3 Pascal/Delphi 3 03.04.2012 19:31

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:45.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net