5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
1

Откомпилировать программу из командной строки

25.07.2011, 03:16. Показов 5477. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вечер добрый,

нужно откомпиллировать программу, через командную строку, программно, компилятор fpc от free pascal, если я в обычной командной строке пишу fpc filename.dpr получаю в результате .ехе файл, то что нужно, далее нужно эти параметры передать командной строке и выполнить все это дело по клику скажем по кнопке в моей программе, через ShellExuecute пробовал ничего не происходит, наверно что-то не то делаю

Delphi
1
ShellExecute(Handle, 0, 'fpc', nil, nil, SW_NORMAL);
так вызывается cmd с компилятором

далее пробовал написать
Delphi
1
ShellExecute(Handle, 0, 'fpc filename.dpr', nil, nil, SW_NORMAL);
реакции никакой, не открывается ни командная строка ни в результате .ехе файла нету

Буду рад если кто-то поможет

Добавлено через 20 минут
оказывается было все просто, почитал про функцию, но все равно много чего не понял что прочитал, но увидел там параметр входной как параметр, решил туда добавить название моего компилируемого файла, запустил, все прошло. Так сказать методом тыка решил проблему.

Если кому-то может было бы тоже это интересно
Delphi
1
ShellExecute(Handle, 0, 'fpc',  'filename.dpr', nil, SW_NORMAL);
Добавлено через 15 минут
ну и ну... программа пишет саму себя О_о, компилирует еще и выполняет, красота
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2011, 03:16
Ответы с готовыми решениями:

Как запустить программу из командной строки?
Я просто новичок(начинал когда-то, потом забросил на длительное время), а сейчас снова надо

Не могу запустить программу из командной строки
from vk_api import VkApi from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType from...

Как скомпилировать программу из командной строки?
Как скомпилировать программу на С++ с помощью командной строки?

Как открыть программу с помощью командной строки?
Прошу помощи о том как открыть программу с помощью командной строки. Возможно не дописан код, или...

16
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 16:20 2
Arcor, Чет интересно а по подробней можешь?
Цитата Сообщение от Arcor Посмотреть сообщение
ShellExecute(Handle, 0, 'fpc', 'filename.dpr', nil, SW_NORMAL);
fpc - это fpc.exe из free pascal или чего, это все водной папке лежать должно?
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 16:30  [ТС] 3
FPC просто лежит в отдельной папке в программах, набрал просто в командной строке FPC, выдало информацию о компиляторе.
создал папку на диске ц, далее из командной строки перешел на эту папку, в папку положил саму программу пас файл, мину прогу написал, примерно вот так

Delphi
1
2
3
4
5
program abc;
begin
WriteLn('Hello world');
ReadLn;
end.
далее написал в командной строке fpc наша папка на диске ц abc.pas
и тыкнул энтер, скомпилировался ехе

далее пошел далее

написал это все в дельфи я и попробовал через Shellexecute программно откомпилирвоать

написал вот так
Delphi
1
 ShellExecute(Handle, 0, 'fpc',  'filename.dpr', nil, SW_NORMAL);
, но уже положил этот abc.pas в папку где ехешник нашей программы лежит из которой запускаем мы все это дело, и получилось что скомпилировался снова нам ехе новой программы abc.exe
2
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 16:32 4
спасибо пробовать буду
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 16:36  [ТС] 5
потом продолжил я , написал программно исходник для новой программы, и так же откомпилировал, сделал все по простому, только для проверок

вот может интересно
Вложения
Тип файла: zip fpc compile.zip (563.3 Кб, 61 просмотров)
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 16:46  [ТС] 6
если командная строка не будет ничего реагировать на fpc то она не находит путь до него, прийдется прописать в настройках системы пути, думаю знаете где это прописывать?
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 16:59 7
Вот чего имею
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\Admin>fpc filename.dpr
Free Pascal Compiler version 2.4.0 [2009/12/18] for i386
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Win32 for i386
Compiling filename.dpr
Fatal: Can't open file "filename.dpr"
Fatal: Compilation aborted
Error: C:\FPC\2.4.0\bin\i386-Win32\ppc386.exe returned an error exitcode (normal
if you did not specify a source file to be compiled)

C:\Documents and Settings\Admin>

Добавлено через 50 секунд
Почему то не моджет открыть
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 17:12  [ТС] 8
ошибка значит в коде наверно, дайте свой файл я посмотрю
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 17:14 9
та я дурака свалял - во первых c:\ не поставил а во- вторых запускал не консольный dpr а с формой, с консолью все нормально
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 17:29  [ТС] 10
в папке bin в дельфи лежит еще одна вещь хорошая, компилятор дельфовский через него тоже можно компилить приложения дельфи

Delphi
1
dcc32.ехе
про него не могу сказать много, моей дельфей нельзя его использовать из под командной строки
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 17:33 11
Цитата Сообщение от Arcor Посмотреть сообщение
моей дельфей нельзя его использовать из под командной строки
а почему?
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 17:45  [ТС] 12
Лицензия такая видимо, пишет при попытке использовать "Этой версией программы недопустимо компилировать из под командной строки"
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 17:53 13
Ясно.Я проверил - работает на ура.Моя то задумка была какая.Включить этот файл в ресурсы своей проги.Затем в какой то момент извлечь его из ресурсов обратно в exe - откомпилировать новое приложение(неважно в данный момент какое)-удалить компилятор(он же есть в ресурсах)и получается опять один exe-шник только обросший новыми возможностями.Но получается в ресурсы придется включать и все используемые программой пасы delphi(windows, sysutils и т д)
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 17:57  [ТС] 14
Вот и я нечто похожее задумывал, создать программу которая будет выполнять какой-то кусок, а какие-то там параметры в эту новую программу передавать путем созданием нового исходного кода, и потом скомпилировать новый ехе для дальнейшей работы
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 17:58 15
это практически самообучаемая программа
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
26.07.2011, 18:04  [ТС] 16
еще появилась далее задумка такая, написать как бы учебник, в котором нужно писать код, вот таким макаром можно и сделать компиляцию и так далее
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
26.07.2011, 18:06 17
хорошая идея
0
26.07.2011, 18:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2011, 18:06
Помогаю со студенческими работами здесь

Распечатать переданные в программу аргументы командной строки
программа распечатывает переданные в неё аргументы командной строки. не могу понять с чего начать,...

Создать программу, работающую с параметрами командной строки
Написать программу, которая должна принимать только параметры командной строки. Содержать справку....

Как скомпилировать и запустить java программу из командной строки ?
Добрый день. Хочу скомпилировать и запустить программу из командной строки. Но никак не получается....

Написать программу обработки командной строки вызова программы
Написати програму, яка забезпечує роботу команди вигляду: , де -a і -b несумісні прапори....

как из командной строки запустить программу в режиме совместимости с XP?
поставил семерку, а дрова на звук сущетсвуют только для xp, но дрова установились, звук появился,...

Как из командной строки передать в программу путь к файлу?
Доброго времени суток, пишу пример программы (на стр 1002) выводящей на экран картинку, из книги...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru