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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2015, 23:34   #1
htrdyfguhnijmko,
Новичок
Джуниор
 
Регистрация: 12.06.2015
Сообщений: 1
По умолчанию Хочу написать программу на delphi, которая сама скомпилирует этот файл.

На компьютере установлен компилятор pascal. Есть .pas файл (написанный на pascal), название которого находится в string переменной s1 . Хочу написать программу на delphi, которая сама скомпилирует этот файл.
htrdyfguhnijmko, вне форума Ответить с цитированием
Старый 24.12.2015, 00:35   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от htrdyfguhnijmko, Посмотреть сообщение
На компьютере установлен компилятор pascal. Есть .pas файл (написанный на pascal), название которого находится в string переменной s1 . Хочу написать программу на delphi, которая сама скомпилирует этот файл.
Сама твоя программа никак не сможет скомпилировать никакой pas-файл. Ты до этого ещё не дорос. Ты только пока учишься "ходить под табуретку". Расскажи более обще что ты хочешь сделать?
northener вне форума Ответить с цитированием
Старый 24.12.2015, 08:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

"компилятор Паскаля" - это компилятор Delphi ?
тогда просто вызвать через командную строку (см. например, CreateProcess) компилятор (dcc32.exe), указать полное имя (полный путь) к вашему файлу. Если файл правильный - то скомилируется.

А лучше действительно расскажите, зачем Вам это всё нужно?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.12.2015, 08:45   #4
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

он хочет написать батник. с командой. команду указали выше и проверяется она через командную строку.
тоесть пишешь строку и копируешь её в текстовый файл. у файла меняешь расширение на bat. и всё готово.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 24.12.2015, 09:42   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Смотрите, поддерживает ли ваш компилятор командную строку, и умеет ли через неё собирать ПО из исходника. Если нет, ваша идея останется идеей.
Далее согласно согласно параметрам командной строки, передаете файла компиляцию с настройками и всеми зависимостями, далее компилируете. Это можно делать хоть из батника, потом кодите свою супер-программу которая делает тоже самое. Дальше сами
Человек_Борща вне форума Ответить с цитированием
Старый 30.12.2015, 05:53   #6
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
тогда просто вызвать через командную строку (см. например, CreateProcess) компилятор (dcc32.exe), указать полное имя (полный путь) к вашему файлу. Если файл правильный - то скомилируется.
Не скомпилируется.
NIKOLAYY2 вне форума Ответить с цитированием
Старый 30.12.2015, 10:41   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от NIKOLAYY2 Посмотреть сообщение
Не скомпилируется.
Что помешает? Отстуствие нужных библиотек (units)?
Ну так их нужно будет приложить к компилятору, разумеется.

Посмотрите мой архив с примером:
CompileMinimal.part1.rar
CompileMinimal.part2.rar
(пришлось архив разбить на две части, 700 Кб - превышает допустимый размер архива на форуме)


Всё компилируется
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.12.2015, 15:11   #8
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Для задачи работы с файлом кода на паскале, для комплияции можно использовать какой-либо из паскальязычных скриптовых движков, например, PascalScript от RemObjects, или DWScript , из программы на дельфи вызвать функции движка по загрузке компиляции и исполнению файла, и при надобности, взаимодействии.
Но, конечно, этот способ имеет ограничения, если у Вас какие-то хитрые исходники.
phomm вне форума Ответить с цитированием
Старый 12.01.2016, 21:05   #9
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Посмотрите мой архив с примером:
Скачал я архив с примером, как его запустить чтоб увидеть что скомпилировалось?
NIKOLAYY2 вне форума Ответить с цитированием
Старый 12.01.2016, 21:37   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

распакуйте всё в одну папку вместе с вложенными папками.
там будет батничек - compile_file.cmd
запустите его, файлик с исходником ProjTest.dpr
он должен скомпилироваться в ProjTest.exe
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу, которая в файл g записывает положительные числа, а файл h - отрицательные Гарри Паскаль, Turbo Pascal, PascalABC.NET 1 12.11.2015 22:43
Написать программу, которая создает файл МарияА Помощь студентам 1 28.11.2014 16:56
Написать программу которая создаэт текстовый файл c данними SashOK1991 Паскаль, Turbo Pascal, PascalABC.NET 0 06.06.2010 15:45
Написать программу которая создаэт текстовый файл даных. SashOK1991 Паскаль, Turbo Pascal, PascalABC.NET 2 31.05.2010 23:48