Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2009, 17:46   #11
neo-210
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 21
По умолчанию

Спасибо Alter но с этим уже проблем нет, нимогу разобраться с другой проблемой которая связана с скорее всего с директориями, а может быть и нет.
ps Немного выше описано!

Последний раз редактировалось neo-210; 09.01.2009 в 17:56.
neo-210 вне форума Ответить с цитированием
Старый 09.01.2009, 17:56   #12
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Цитата:
Сообщение от neo-210 Посмотреть сообщение
Спасибо Alter но с этим уже проблем нет, нимогу разобраться с другой проблемой...

зы Немного выше описано!
- Паскаль -
Путь до своего ексешника: PararmStr(0)
Диск ексешника своего: Copy(ParamStr(0), 1, pos('\', ParamStr(0)))
Alter вне форума Ответить с цитированием
Старый 09.01.2009, 17:57   #13
DelDev
Пользователь
 
Аватар для DelDev
 
Регистрация: 09.01.2009
Сообщений: 24
По умолчанию

В Delphi надо писать - в той программе где ты тестируешь другие:

Цитата:
SetCurrentDir(tmp);
RunDosAndWait(cmd,res) ;
где, tmp - имя папки где лежит запускаемый файл. Но это работает только если файлы с исходными данными лежат там же где и программа которая их использует. И так перед каждым вызовом.

Если не секрет, что в итоге должно получиться? И откуда файлы берутся, опиши по подробнее этот момент.

Alter, простым ShellExecute тут не отделаешься, нужно именно дождаться когда программа отработает - потом дальше действия предпринимать.

Последний раз редактировалось DelDev; 09.01.2009 в 18:03.
DelDev вне форума Ответить с цитированием
Старый 09.01.2009, 18:15   #14
neo-210
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 21
По умолчанию

DelDevНу: в общем смотри, идея такова! Программа одним словом нужна в учебных целях, как проверялка олимпиады к примеру! Народ кто учавствовал пишут программы на паскале, параметры для своих программ они должны считать с фала input, и вывести в output после чего как я уже говорил сверяю правильно или нет.
На олимпиаде в среднем 3-4 задачи, следовательно у меня 3-4 папки каждая из которых будет называтся также как задача, а в каждой папке лежат работы участников(exe.фалы) по этим задачам, и должная проходить последовательная проверка каждой из задач.
Прежде чем я запускаю свою программу, я ввожу параметры задачь, тобеж входные и выходные(для проверки), + директории каждой папки с задачами, при этом задачи находятся в произвольном каталоге не зависимо от моей порграмы! Вот в этом и заключается проблема, при этом когда я ввожу полный путь к exe-шнику он запускается но работа срывается как только компилятор достигает слова aasign, это я проверял различными тестами!
Более простого способа проверки работ я придумать не смог, хотя насколько я знаю возможен такой вариант когда я через главную программу передаю параметры дочерней программе, а потом получаю из нее данные и сверяю, либо нужно встраивать компилятор и проверять сами тексты и выходные данные, но эти варианты мне кажутся намного сложнее.

Последний раз редактировалось neo-210; 09.01.2009 в 18:19.
neo-210 вне форума Ответить с цитированием
Старый 09.01.2009, 18:38   #15
DelDev
Пользователь
 
Аватар для DelDev
 
Регистрация: 09.01.2009
Сообщений: 24
По умолчанию

neo-210, я почему-то как только увидел твой пост - так и подумал, видимо потому что сам участвовал в таких мероприятиях. Но все же решил спросить чтобы удостовериться.

Итак, предлагаю следующий выход. Если я конечно правильно понял.

1. есть каталоги, в одном лежат программы для проверки, в другом тесты.
2. так же есть каталог TMP - пустой
3. программа пошла проверять программы: берет первую копирует в каталог TMP, к ней копирует файл input.txt с входными данными, запускает из этого каталога - получился output.txt - сверила с этолонным получила результат.
4. очистила каталог TMP
5. взяла следующую программу

Вариант с компилятором на самом деле не намного сложнее. На всех более-менее серьезных соревнованиях по программированию шлются на проверку именно исходные тексты, а не исполняемые файлы.
Все что нужно - это иметь под рукой компилятор паскаля - он 2 файла всего. Если интересен этот вариант - то могу показать свои наброски, они черновые еще, но идея в них просматривается.

Наиболее правильным мне кажется вариант если это все объединить. Ход работы тогда такой получается:
1. Берем исходник - компилируем в папку TMP
2. Копируем туда исходные данные
3. запускаем
4. Проверяем
5. очищаем, следующий
DelDev вне форума Ответить с цитированием
Старый 09.01.2009, 18:43   #16
neo-210
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 21
По умолчанию

DelDev У тебя есть аська? Или что-то более удобное для общения? Если ты конечно не против!
Ну ты почти правильно понял, но я на данный момент реализовал так, в программе я создаю списки, для участников и для задач, к каждой задаче я создаю несколько тестов и количество балов за тест, все хранится в списках, а для проверки нужен только один каталог с exe-шниками, прямо в нем создаются поочередно input - output, и все даные заносятся в списки созданные в главной программе, потом формируются итоги и сохраняются в отдельном txt файле! Я почти все продумал, мне осталось только реализовать толковую проверку, и успеть все сделать до середины февраля)
я бы не против разобраться с компилятором, но пока я плохо понимаю как можно с ним что-то реализовать!

Последний раз редактировалось neo-210; 09.01.2009 в 18:53.
neo-210 вне форума Ответить с цитированием
Старый 09.01.2009, 18:53   #17
DelDev
Пользователь
 
Аватар для DelDev
 
Регистрация: 09.01.2009
Сообщений: 24
По умолчанию

В профиль добавил (всмысле номер аськи)
DelDev вне форума Ответить с цитированием
Старый 09.01.2009, 22:14   #18
neo-210
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 21
По умолчанию

Всем спасибо, думаю тему можно закрывать)
neo-210 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Dev-C++ проблема с запуском программ Надюха Помощь студентам 12 28.05.2008 03:55
MASM.exe помогите пожалуйста с запуском FlyingRat Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 03.05.2007 20:06
проблема с запуском Delphi6 xen Общие вопросы Delphi 2 18.03.2007 01:16