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

> ВНИМАНИЕ!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> компиляция Exe-шника
сообщение
Сообщение #1


Новичок
*

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

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


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


blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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 килобайт ) Кол-во скачиваний: 283
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 23.05.2024 16:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name