РАБОТА С КОМПИЛЯТОРОМ BPС(TPC) ЧЕРЕЗ ПРИЛОЖЕНИЕ DELPHI
Запись от Andretti размещена 16.04.2012 в 19:57
Показов 7212
Комментарии 0
Метки delphi
|
РАБОТА С КОМПИЛЯТОРОМ BPС(TPC) ЧЕРЕЗ ПРИЛОЖЕНИЕ DELPHI Автор : Andretti (e-mail:"Drunex@narod.ru", ICQ:569575751) Бывает что существует необходимость какой-либо сгененрированные (набранный) код Pascal программы скомпилировать и проверить на работоспособность. Но сделать мы хотим это, в автоматизированном режиме и используя программы которые написали например на Delphi. Здесь я опишу ОБЩУЮ ИДЕЮ как например код набранный в окне приложения написанного на Delphi 7 передать компилятору Borland Pascal (можно Turbo Pascal или д.р.), получить информацию о его компиляции в нашем приложении и протестировать на работоспособность кода используя входные и выходные данные записанные в соответствующих файлах(либо через задание входных данных через параметры запуска программы), ПРИ ЖЕЛАНИИ ВЫ МОЖЕТЕ ЗНАЧИТЕЛЬНО УМЕНЬШИТЬ КОЛИЧЕСТВО ПЕРЕХОДОВ И ДЛИНУ КОДА ИСПОЛЬЗУЯ СТАНДАРТНЫЕ ПРОЦЕДУРЫ. Для начала не забываем что нам потребуется рабочий bp7.0 и компилятор bpc который необходимо скачать отдельно и запихнуть в папку bin. Создадим новое приложение в Delphi 7 (File>New>Application). На форму разместим следующие компоненты: -Memo1 -для ввода кода Pascal-программы -Memo2 -для отображения ответа компилятора -Memo3 -для ввода входных данных (файл input.txt) -Memo4 -для отображения выходных данных которые выдаст программа (файл output.txt) -Button1 - для запуска компиляции Pascal-программы -Button2 - для запуска программы и обработки ею входных данных из файла input.txt которые мы ввели в memo3 Далее представлен полный код рабочей программы по примеру работы с компилятором bpc:
При запуске процесса компилятора в качестве параметра указан параметр -b т.е. компиляция всех указанных файлов, так же существуют и другие параметры которые приведены ниже : Компилятор командной строки позволяет вам вызывать все функции компилятора IDE из командной строки DOS (она же командная строка cmd.exe в Windows). Компилятор командной строки использует следующий синтаксис TPC [опции] <имя файла> [опции] BPC [опции] <имя файла> [опции] Где в качестве [опций] могут быть одна или большее количество опций, разделенных пробелами. ¦ Поместите + (или пробел) после опции, чтобы включить ее. ¦ Поместите - после опции, чтобы выключить ее. Опции директив компилятора /$A Выравнивание данных (Align Data) /$B Булева оценка (Boolean Evaluation) /$D Отладочная информация (Debug Information) /$F Дальний тип вызова (Force FAR Calls) /$G Генерировать 286 команды (Generate 286 Instruction) /$I Проверка ввода/вывода (Input/Output Checking) /$L Информация о локальных символах (Local Symbol Information) /$N 80x87 коды (FPU сопроцессор) (80x87 Code (Numeric coprocessor)) /$R Проверка диапазона (Range Checking) /$S Проверка переполнения стека (Stack-Overflow Checking) /$T Типизированный @ указатель (Typed @ Pointer) /$V Проверка строковых переменных (String Var Checking) /$W Запись активации Windows (Windows Stack Frame) /$X Расширенный синтаксис (Extended Syntax) Опции режима компилятора /B Компилировать все (Build All) /F Найти ошибку (Find Error) /L Буфер компоновщика (Link Buffer) /M Создать (Make) /Q Тихий (нет эквивалента в IDE) (Quiet) Опция условного выражения /D Условные выражения (Conditional Defines) Опции отладки /G .Map файл /V Включить отладочную информация в EXE файл Опции Каталога /E Каталог для EXE и TPU /I Каталог включений (include) /O Каталог объектных файлов /R Каталог ресурсов /T Каталог Turbo Pascal /U Каталог модулей (unit) Большинство опций командной строки имеет эквивалентные команды меню. Структура папок для указанного примера должна быть следующая : Папака с проектом ¦ Project1.cfg ¦ Project1.dof ¦ Project1.dpr ¦ Project1.exe ¦ Project1.res ¦ tree.txt ¦ Unit1.dcu ¦ Unit1.ddp ¦ Unit1.dfm ¦ Unit1.pas ¦ Unit1.~ddp ¦ Unit1.~dfm ¦ Unit1.~pas ¦ L---bp7.0 +---BGI ¦ ATT.BGI ¦ BOLD.CHR ¦ CGA.BGI ¦ EGAVGA.BGI ¦ EURO.CHR ¦ GOTH.CHR ¦ HERC.BGI ¦ IBM8514.BGI ¦ LCOM.CHR ¦ LITT.CHR ¦ PC3270.BGI ¦ SANS.CHR ¦ SCRI.CHR ¦ SIMP.CHR ¦ SVGA256.BGI ¦ TRIP.CHR ¦ TSCR.CHR ¦ VESA16.BGI ¦ +---BIN ¦ BP.DSK ¦ BP.EXE ¦ BP.ICO ¦ BP.TP ¦ BPC.EXE // наш компилятор который мы скачивали отдельно ¦ DPMI16BI.OVL ¦ Input.txt ¦ KOD.EXE ¦ KOD.PAS ¦ otvet.txt ¦ OUTPUT.TXT ¦ PRNFLTR.EXE ¦ RTM.EXE ¦ TPP.TPL ¦ TURBO.TPH ¦ TURBO.TPL ¦ TVISION.TPH ¦ Русская версия Borland Pascal.PIF ¦ L---UNITS APP.TPP APP.TPU COLORSEL.TPP COLORSEL.TPU DIALOGS.TPP DIALOGS.TPU DRIVERS.TPP DRIVERS.TPU EDITORS.TPP EDITORS.TPU GRAPH.TPP GRAPH.TPU HISTLIST.TPP HISTLIST.TPU MEMORY.TPP MEMORY.TPU MENUS.TPP MENUS.TPU MSGBOX.TPP MSGBOX.TPU OBJECTS.TPP OBJECTS.TPU OUTLINE.TPP OUTLINE.TPU STDDLG.TPP STDDLG.TPU STRINGS.TPU TEXTVIEW.TPP TEXTVIEW.TPU VALIDATE.TPP VALIDATE.TPU VIEWS.TPP VIEWS.TPU WINDOS.TPU Во вложенном архиве находится рабочая программа, исходники, BP7.0, компилятор bpc.exe и все это размещено по настроенным ссылкам в программе. Использованые источники для составления статьи : процедура перевода кодировок пользователя kukuruku310 с форума cyberforum.ru tp7.info sysman.ru pascal.toom.su поиск google.com )) | |||||
Метки delphi
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


