IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> компиляция Exe-шника
Георгий
сообщение 8.01.2009 11:02
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 36
Пол: Мужской
Реальное имя: Георгий

Репутация: -  0  +


добрый день!
возможно ли такое:
1) имеется исходник кода, необходимо чтобы при его открытии он сам компилировался (не нажимая F9) (ВАЖНО чтобы он проверял TPU файлы привазаные к нему!!!!).
2) если сохранить этот файл в exe то при его запуске он компилировался и запускался (ВАЖНО чтобы он проверял TPU файлы привазаные к нему!!!!).


blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 28.01.2009 1:56
Сообщение #2


Гость






Георгий, вот скажи честно, тебе нравится такая организация программы? А вот теперь смотри сюда: берем из аттача TPU-файл, занимающийся вычислением произвольной функции, и компилируем с его помощью программу:

uses  parser;

const
s1: string = '2.75*(3+4*X)*5';
s2: string = '2.75*(3+4*X)*5-4*Y';

var ls: tlist;

begin
setFunction(s1, ls);
setVariable('X', 3);
writeln('result = ', eval(ls):8:3);
setVariable('X', 5);
writeln('result = ', eval(ls):8:3);

setFunction(s2, ls);
setVariable('X', 3);
setVariable('Y', 7);
writeln('result = ', eval(ls):8:3);
setVariable('X', 5);
writeln('result = ', eval(ls):8:3);
end.
Заметь, ты можешь не имея никаких исходников этого модуля (я исходники тебе пока не покажу, они еще слишком сырые) поменять функцию, перекомпилировать и запустить программу, можешь переделать ввод, и ввести значение функции, тогда вообще все будет выполняться в рантайме. Можешь добавить в функцию переменных (до 26, все буквы латинского алфавита от A до Z, только прописные, а не строчные; строчные зарезервированы для функций). Правда пока доступны только арифметические операции (+ - * /), но добавить мат. функции, имея на руках модуль, корректно работающий с арифметикой - дело пары часов максимум. И не надо никаких тебе извращений с корректировкой исходного текста, и тому подобными вещами... Насколько ты видишь из приведенного кода, сначала функция готовится, а потом, при вызове eval, вычисляется, причем вычисляется она очень быстро...

Итак, что выбираешь? Продолжать свою эпопею с TPC, или сделать нормальную программу?

Кстати, если выберешь путь, предложенный мной - тему надо будет перенести в Задачи, она по-моему уже сейчас вышла за пределы Теории...


Прикрепленные файлы
Прикрепленный файл  PARSER.zip ( 2.16 килобайт ) Кол-во скачиваний: 190
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Георгий   компиляция Exe-шника   8.01.2009 11:02
volvo   И зачем это тебе, можно уточнить? Саму задачу озву...   8.01.2009 11:24
Георгий   в общем я написал программу для построения графико...   8.01.2009 12:12
volvo   Не мучайся... Напиши парсер, который позволит вычи...   8.01.2009 12:33
Георгий   я нашел интерпретатор http://pascal.sources.ru/par...   8.01.2009 12:57
volvo   Есть. По крайней мере, должен быть, в папке TP...   8.01.2009 13:22
Георгий   модуль стал нормально компилироваться млин не пру...   8.01.2009 13:32
volvo   Ты сообщения мои вообще читаешь? Я же написал: , н...   8.01.2009 13:42
Георгий   млин я не могу понять пример, я понимаю только где...   8.01.2009 14:17
Георгий   Please help!   8.01.2009 15:04
volvo   Попробуй вот так: {$F+} Function GetXY(Code:L...   8.01.2009 17:01
Георгий   АААААААААААААААААААААААААААААААААААААААААААААААААА...   8.01.2009 17:08
Георгий   млин опять ничего не работает :mega_chok: короч...   8.01.2009 21:08
volvo   Ты для себя-то реши, в каком формате и что ты хоче...   8.01.2009 21:57
Георгий   Volvo я наверное тебя уже измучил со своими вопрос...   9.01.2009 15:55
Lapp   дак както вот так можно сделать?Все можно, вопрос ...   10.01.2009 3:45
volvo   процедура должна вычислять значение ф-ии F:=x+y; Н...   10.01.2009 12:51
Георгий   2 вариант я уже сделал, но это не удобно очень   10.01.2009 10:14
Lapp   2 вариант я уже сделал, но это не удобно оченьЧем ...   10.01.2009 10:21
Георгий   несколько биллионов запросов   10.01.2009 12:01
Lapp   несколько биллионов запросовТогда в чем слстоит уп...   10.01.2009 12:06
Георгий   задача надо ввести ф-ию и построить ее график, ф-и...   27.01.2009 17:59
Archon   TPU создается только как промежуточный этап компил...   27.01.2009 19:13
Георгий   Вот, об этом я и говорил! сейчас попробую это...   27.01.2009 19:59
Георгий   работает если изменить "c:\tp7\turb...   27.01.2009 20:48
Archon   А зачем ты из батника все команды вырезал? C:...   28.01.2009 0:49
volvo   Георгий, вот скажи честно, тебе нравится такая орг...   28.01.2009 1:56
Георгий   Archon, я так понял что @echo off не выводит исп...   28.01.2009 9:21
volvo   А для теста. Сначала обработал одну, потом поменял...   28.01.2009 10:32
Георгий   :blink: :blink: :blink: Фигасе! скачал друг...   28.01.2009 13:21
Георгий   Volvo, сделал программу, но опять косяк, не могу п...   8.02.2009 9:29
volvo   А я тебе говорил, что не надо пользоваться бредовы...   8.02.2009 9:55
Георгий   мне хотелось бы чтобы ф-ию можно было вводить в де...   8.02.2009 12:29
volvo   Уточняю: 1200 строк корявого кода перенести в Дель...   8.02.2009 12:47
Георгий   volvo, можешь подсказать похожие ф-ии в делфи паск...   8.02.2009 12:49
amega   при прорамирование на делфи работа идет с компан...   8.02.2009 13:09
Георгий   как очистить экран? не помогает form1.Canvas.FillR...   8.02.2009 13:54
volvo   Не экран, а канву.. Это тебе не Паскаль, где у теб...   8.02.2009 14:09
Георгий   а что на счет readkey?? у меня в паскале был цикл:...   8.02.2009 14:15
volvo   А вот это уже твоя проблема... Ты исходники засекр...   8.02.2009 14:25
Георгий   ок! кстате прогу я перенес с паскаля на делфи,...   8.02.2009 14:40
Георгий   ну вот, я сделал прогу, теперь самое главное остал...   8.02.2009 15:39
Георгий   Volvo, пожалуйста помоги! я вот переделал прог...   9.02.2009 6:21
Георгий   Volvo, я все-таки сделал программу, и интерпретат...   21.04.2009 17:09
Ritardikzzz   252 Free Penny Auction Bids You can get 252 b...   18.12.2011 10:59


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 3.07.2025 10:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"