Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
1
.NET 3.x

Управление программой через скрипт

02.11.2013, 20:08. Просмотров 1150. Ответов 16
Метки нет (Все метки)


Добрый день. Есть программа из пары десятков классов и нескольких сотен методов. Задача состоит в том чтобы при каждом запуске вызывались определенные методы по алгоритму из внешнего файла. Далее те методы что-то делают, вызывают другие методы и т.д. Т.е. нужно реализовать какой-то встроенный простенький язык, которым можно было бы управлять действием программы. Кто-то может подсказать в какую сторону копать или дать ссылки на код с уже реализованными подобными извращениями?.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2013, 20:08
Ответы с готовыми решениями:

Управление программой через руль и педали игрового устройства
Здравствуйте, такой вопрос. Пишу программу, моделирующую движение автомобиля. Нужно управление с...

Управление чужой программой
Доброго времени суток. Есть программа необходимо нажать в ней кнопку которая находится на тулбаре,...

Управление сторонней программой
Возможно ли в С# управлять сторонней программой при помощи своей? К примеру я хочу на кнопку...

Управление другой программой
Возможно ли полностью управлять другой программой? Ну или эмулировать работу с другой программой?...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
16
50 / 50 / 8
Регистрация: 31.10.2012
Сообщений: 481
02.11.2013, 21:48 2
Почему бы не создать еще один класс, в котором будет прописан этот самый алгоритм?
Только нужно создать многопоточность, на мой взгляд, иначе программа "повесится" рядом с системой.
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
02.11.2013, 22:02  [ТС] 3
Пока так и делается, но скоро потребуется создавать несколько тысяч различных алгоритмов в короткие сроки. Причем люди, составляющие данные алгоритмы - далеки от программирования, им надо простой конструктор.
0
50 / 50 / 8
Регистрация: 31.10.2012
Сообщений: 481
02.11.2013, 22:06 4
Greca, такие вещи, наверное, лучше программировать на С++.
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
02.11.2013, 22:26  [ТС] 5
Цитата Сообщение от SanchezPluz Посмотреть сообщение
Greca, такие вещи, наверное, лучше программировать на С++.
Так а что программировать то?. Написать парсер можно, насоздавать кучу switch/case/if или ещё чего-то подобного. Только когда методов станет 500 - 1000 сопровождать такой код будет проблематично.
0
197 / 166 / 19
Регистрация: 05.05.2013
Сообщений: 1,228
02.11.2013, 23:10 6
Greca, какая то непонятно размытая задача, какая то программа, 1000 методов, что то делают, вообще если быть честным если кто то сделал программу из нескольких десятков классов и десяти тысяч методов, то мне кажется ему нефиг делать как реализовать то что описано выше.
Что само собой запутывает еще сильнее.

SanchezPluz, почему такое лучше реализовывать на С++, чем в данном случае С++ превзойдет C#?
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
02.11.2013, 23:17  [ТС] 7
Досталось в наследство от ушедших коллег.
Детали конечно можно написать, только какая разница что делают методы. Получают входные параметры - выдают результат.
0
197 / 166 / 19
Регистрация: 05.05.2013
Сообщений: 1,228
02.11.2013, 23:25 8
Досталась она от коллег или от инопланетян это не важно, просто то что я пока вижу и могу осмыслить это просто элементарно, есть файл он пуст, далее:

1. запускается программа
2. запускается бесконечный цикл
в цикле:
- проверяется данный файл, есть ли в нем записи
- если есть записи программа их обрабатывает, после чего удаляет эти записи
- если записей нет, продолжает выполнение цикла

соответственно в цикле пауза, допустим 1 секунда.

Все вроде как элементарно, в чем подвох?
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
02.11.2013, 23:31  [ТС] 9
Возможно не корректно описал что надо. Под управлять подразумевались циклы, условия, передача информации из метода в метод.
0
197 / 166 / 19
Регистрация: 05.05.2013
Сообщений: 1,228
02.11.2013, 23:35 10
все равно ни чего не понятно, ты можешь привести простой но конкретный пример, придумать пару классов и методов.
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
02.11.2013, 23:48  [ТС] 11
предположим есть класс
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Calculator
        {
            public double add(double argA, double argB)
            {
                return argA + argB;
            }
            public double sub(double argA, double argB)
            {
                return argA - argB;
            }
            public double dev(double argA, double argB)
            {
                 return argA/argB;
            }
        }
а в скриптовом файле должно быть что-то типа
C#
1
2
3
4
5
if (add(a,b)>0)
   b=dev(a/b);
else
   b=dev(b/a);
b.WriteToFile(fileName);
0
197 / 166 / 19
Регистрация: 05.05.2013
Сообщений: 1,228
02.11.2013, 23:57 12
а, т.е. ты запускаешь программу, она работает, во время ее работы ты в файле записываешь код на C# (вручную допустим) и эта программа, которая уже работает выполняет этот код?
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
03.11.2013, 00:01  [ТС] 13
Цитата Сообщение от VLK Посмотреть сообщение
а, т.е. ты запускаешь программу, она работает, во время ее работы ты в файле записываешь код на C# (вручную допустим) и эта программа, которая уже работает выполняет этот код?
Запускаю программу, передаю ей имя файла (через командную строчку например), она его выполняет.
0
197 / 166 / 19
Регистрация: 05.05.2013
Сообщений: 1,228
03.11.2013, 00:02 14
Цитата Сообщение от Greca Посмотреть сообщение
Запускаю программу, передаю ей имя файла (через командную строчку например), она его выполняет.
а в файле код C#?
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
03.11.2013, 00:08  [ТС] 15
Цитата Сообщение от VLK Посмотреть сообщение
а в файле код C#?
Можно и С#. Что с ним дальше то делать?
0
197 / 166 / 19
Регистрация: 05.05.2013
Сообщений: 1,228
03.11.2013, 00:15 16
Вообщем то я не профессионал, да и может чего то не до конца понял, но на сколько мне известно, что бы скомпилировать и запустить программу написанную на C# не обязательно это делать в MSVS, это можно сделать и через консоль, и во многих книгах по C# это описано как сделать в самом начале, а так же можно написать программу на C# (а можно дописать подобные опции в существующую программу) которая будет это делать сама (компилировать и запускать).

так же из C# возможно запускать другие приложения, и наверное возможно при завершении этих приложений получать от них какое то значение.

т.е. рыть в этих направлениях надо, хотя все это достаточно мудрено.
1
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 13
03.11.2013, 00:36  [ТС] 17
Хм, да, есть такая штука, надо только как-то объединить пространство имен... Буду смотреть в этом направлении.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2013, 00:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Управление свернутой программой
Есть программа test.exe, которая запускает процессы. Запуск происходит когда она открыта по нажатию...

Управление другой программой.
Подскажите пожалуйста что мне следует прочесть/изучить чтоб уметь с пмощю шарпа управлять другой...

Реально ли реализовать управление программой от джойстика
Друзья, помогите, может у кого есть примеры работы с управлением от пульта(джойстика) по...

Управление программой написанной на C# другим приложением(ями)
Прошу предоставить примеры кода или ссылки на литературу по управлению программой написанной на C#...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.