Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29

exe-File [C#]

18.08.2008, 17:35. Показов 4529. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
У меня есть готовый ехеFile, для того что-бы он работал в него надо загрузить хмл-файл. Это можно сделать 3-мя способами,
первый: открыть хмл-File через меню
второй: затянуть хмл-File на форму
и третий: затягивать хмл-файл на Ikon, тогда программа открывается автоматически и хмл-File уже загружен.
Так вот у меня проблема с третьим способом.

написала так:
C#
1
2
3
4
5
6
7
8
9
10
11
static class Program
{
static void Main()
{
String[] args = Environment.GetCommandLineArgs();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
args[2] = args[2].Replace(".",",")
args[4] = args[4].Replace(".",",")
Application.Run (new Form1(args[0], args[1],args[2],args[3],args[4]));
}}
Что надо написать в определении класса?
Дефинировать args[0], args[1].....?
Если да, то как это сделать?
Или можно эту проблему решить другим путём?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2008, 17:35
Ответы с готовыми решениями:

Cannot load exe file!
Первый блин и уже комом!В записи всё правильно,кроме опечатки в самом тексте("Торбо").Run никак не идёт.У меня на компе уже штук...

Как открыть exe file?
Есть программа,которая выводит рандомные слова,есть к примеру .ехе файлы словоA,словоВ,словоС,как сделать чтоб было так- Вывод...

Could not create output file project1.exe
D7 + InterBase, Windows 7 Пишу этот проект уже давно. Обычное клиент-серверное приложение. Не заметил, в какой момент начала...

24
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
19.08.2008, 03:05
не совсем понятно зачем необходимо пять параметров (видимо еще для чего-то).
Environment.GetCommandLineArgs() можно применять в нутри класса Form1, и в Main ничего не придумывать. Получай аргументы сразу перед проверкой своего XML. Первый аргумент - путь к EXE, начиная со второго пути к передаваемым файлам (это если еще че-нить не передавать..)
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 11:04  [ТС]
Спасибо за помощь, очень благодарна.
Написала так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                String[] args = Environment.GetCommandLineArgs();
                if(args[0] != null && args[0].Length > 0)
                {
                    if (Path.GetExtension(args[0]) == (".xml"))
                    {
                        dataSet.ReadXml(args[0]);
                        this.Text = "Data Xml" + args[0];
                    }
                }
            }
            catch (IndexOutOfRangeException exc){}
        }
ошибку не показывает, но и результатов нет, в чём проблема?
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 11:41
Ошибку не показывает потому что:

C#
1
catch (IndexOutOfRangeException exc){}
этот блок пустой, для примера напиши так

C#
1
2
3
4
catch (Exception exc)
{
  messagebox.show(exc.ToString());
}
Добавлено через 1 минуту 37 секунд
Также для себя сделай цикл и выведи все параметры(в цикле) функцией messagebox
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 11:56  [ТС]
Ок, путь к ехе отсутствует, а как мне к нему добраться?
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 12:00
Вот тут есть пример мой

Открытие файлов через свою же программу
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 12:20  [ТС]
Я думаю OpenFileDialog здесь не поможет
Ты это имеешь в виду?
C#
1
2
3
openFileDialog.Filter = "Xml - files(*.xml)|*.xml|All files (*.*) | *.*";
openFileDialog.RestoreDirectory = true;
args[0] = openFileDialog.FileName
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 12:35
https://www.cyberforum.ru/49176-post8.html
Это пример, как я считываю параметры при запуске проги
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 12:39  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void Main(string[] ardgs)
{
if (ardgs.Length > 0)
{
// выбираешь параметр и загружаешь файл
 
Application.Run(new frmMain(ardgs[0]));
// надо создать ещё один конструктор где будешь обрабатывать аргументы//
// ??? как мне их обработать? 
}
else
{
// просто загружаешь прогу
}
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 12:57
C#
1
2
3
4
5
6
static void Main(string[] ardgs)
{
if (ardgs.Length > 0)
{
   // сдесь удостоверся что передаёшь путь к файлу
   Application.Run(new frmMain(ardgs[0]));
\\находишь такое - копируешь и ...
C#
1
2
3
4
public frmMain()
        {
            InitializeComponent();
        }
\\делаешь так
C#
1
2
3
4
5
6
         public frmMain(string filePath)
        {
            InitializeComponent();
            //Вызов функции загрузки файла func(ref filePath) 
// в этой функции загружаешь файл сделал через ref чтобы не делать дубликат, хотя это не обязательно
        }
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 13:42  [ТС]
Spasibo

Добавлено через 2 минуты 41 секунду
boljshoe spasibo

Добавлено через 40 минут 36 секунд
Вот только мне не понятно, как файл без OpenFileDialog загружать?
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 13:51
а когда тебе надо его загружать?
если при загрузке проги, то передавать как параметр полный путь к файлу или асоциировать этот тип файла с твоей прогой, тогда при нажатии два раза кликом мыши, автоматом передасться путь
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 14:07  [ТС]
Загружаться должен тогда, когда я файл на Ikon затягиваю. так что-бы программа открылась уже с загруженым файлом.
В этом вся и проблема, я не знаю как мне эти параметры дефинировать string[0] ...,

Добавлено через 38 секунд
что-бы файл загрузить
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 14:13
перед этой строчкой
Application.Run(new frmMain(ardgs[0]));
напиши
C#
1
2
3
4
5
6
7
8
int i = 0;
forech (string str in ardgs)
{
  messagebox.show(str, i.ToString());
 i++; // и это порядковый номер аргумента, тоесть если при i = 2 появиться путь к файлу
 то его и надо указать в
Application.Run(new frmMain(ardgs[[COLOR=Blue]2[/COLOR]]));
}
Добавлено через 50 секунд
Цитата Сообщение от angelina Посмотреть сообщение
дефинировать string[0]
Это как? что это значит?
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 14:31  [ТС]
Sorry, я думала это русское слово
args[0] обозначить (помоему так правильно)

Добавлено через 11 минут 43 секунды
Application.Run(new Form1(args[i]))
Ok, а зачм ему этот порядковый номмер, если я не написала, что такое args[] ?
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 14:37
да незачем тогда
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 14:43  [ТС]
По идее мне нужен то всего оден параметр args[], который будет обозначать имя втянутого файла, т.к Файлы могут бытъ одного формата, но с разными названиями мы определяем string args как Array, или?

Добавлено через 4 минуты 36 секунд
Так вот к этому FileName, то я добраться и не могу, вернее не знаю как это сделать
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 14:58
так вот я тебе и написал
int i = 0;
forech (string str in ardgs)
{
messagebox.show(str, i.ToString());
}
Что бы посмотрела какой параметр = втянутому файлу и потом удалив выше приведённый код ты просто подставила число, а не i

Добавлено через 11 минут 52 секунды
и тебе того же
1
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 29
19.08.2008, 15:24  [ТС]
Ок, маск, я тебе очень благодарна, что ты столько много своего времени сюда инвестировал, а так ка ты и так много времени уже на меня истратил, посмотри ещё раз.
Короче вот что у меня на данный момент получилось
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
 
if(args.Lenth > 0)
{
if(Path.GetExtension(args) == (".xml"))//Здесь ошибка
{
Application.Run(new DataXmlForm(args[0]));//Здесь тоже, говорится о том, что нет конструктора  для класса Fachwerk_GitterBinder.Form1, который принимает этот параметр
}
}
}
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.08.2008, 15:36
Короче вот что у меня на данный момент получилось
дальше ... находишь
C#
1
2
3
4
        public DataXmlForm()
        {
            InitializeComponent();
        }
копируешь рядышком и ...
C#
1
2
3
4
5
        public DataXmlForm(string strPath)
        {
            InitializeComponent();
            \\тут гениальная реализация загрузки файла где strPath это твой передаваемый параметр
        }
Добавлено через 2 минуты 28 секунд
а лучше вместо
C#
1
if(Path.GetExtension(args[0].IndexOf(".xml")) > 0))//Здесь подправил
сделать
C#
1
if(args[0].IndexOf(".xml") > 0)//Здесь подправил
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.08.2008, 15:36
Помогаю со студенческими работами здесь

Как переделать EXE file в DLL?
SOS!!! Help me переделать EXE file в DLL in Visual Basic

Setup.exe: Generate Reg File not supported
Пытался поставить Gtk2Hs. При установке двух пакетов одна ошибка cabal install gtk In-place registering cairo-0.12.5.3... ...

problems with exe file: “invalid win32 application”
Hi! I have a problem. I ‘m working on project. It’s purpose to generate exe-files, crowded with resources – html, pictures, etc. So I...

1>mt.exe : general error c10100b1: Failed to load file
Я не знаю в том ли разделе я пишу, но прошу разъяснить одну деталь, связанную с C++. Скачал я MS Visual C++ 2008 Express Edition , ввел,...

Не создается exe - error 146: file access denied
Доброй ночи. Если я компилирую программу при destination memory-то программа работает, но не создается exe.файл. Если при destination...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru