Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Вниз

Преобразовать строки в код Delphi   Найти похожие ветки 

 
zorik ©   (2005-08-19 10:26) [0]

Попалась мне недавно интересная програмка в которой в TMemo вводился текст процедуры, сохранялось все это и потом программа считала по этой процедуре. Интересно как это реализовано. Причем там не постая формула, а обычный код Delphi с конструкциями if ... then, try ... except ... end


 
Джо ©   (2005-08-19 10:28) [1]


> Интересно как это реализовано

Скачай, например, RemObjects PascalScript и посмотри. Желательно, почитывая на досуге книгу по теории синтаксического анализа.


 
Ega23 ©   (2005-08-19 10:28) [2]

Пишешь интерпретатор ObjectPascal - и всё. Делов-то...


 
OldNaum ©   (2005-08-19 10:34) [3]

бывший IFPS, теперь RO PascalScript [1] действительно один из лучших. примеры отличные, думаю разобраться без проблем сможешь.

www.remobjects.com

Вот только после того как он перестал быть IFPS он "скурвился". Карло Кок его почти забросил. Коммунити (отличное коммунити) распалось... грустно ( или я не прав? он уже почти год не обновлялся. CVS вроде тоже не "обновлялся".

Но у него нет имплементации работы с классами, нету указателей. Кстати, есть ли freeware компоненты с поддержкой вышеперечисленного? Был в свое время вроде DWS - он жив?


 
Джо ©   (2005-08-19 10:35) [4]


> Но у него нет имплементации работы с классами,

Это как это?


 
zorik ©   (2005-08-19 10:39) [5]

<<Пишешь интерпретатор ObjectPascal - и всё. Делов-то...

А поподробней


 
OldNaum ©   (2005-08-19 10:39) [6]

бррр... ночь не спал ) думаю одно, говорю другое ) хотя смотря с какой стороны... короче, в скрипте классы как таковые не поддерживаются.


 
OldNaum ©   (2005-08-19 10:41) [7]

[5] zorik - не советую писать с нуля его ) г-н Ega иронизирует ) короче, не парь мозги, юзай готовое...


 
Джо ©   (2005-08-19 10:47) [8]


>  [6] OldNaum ©   (19.08.05 10:39)

В смысле - "как таковые"?


 
Джо ©   (2005-08-19 10:49) [9]


> [5] zorik ©   (19.08.05 10:39)
> А поподробней

А поподробнее - см [1]. Бери исходники PascalScript"а и изучай их вместе с соответствующей литературой. Потому что даже "вкратце" раскрытие этой темы занимает листов 20 (это как минимум).


 
Ega23 ©   (2005-08-19 10:50) [10]

2 zorik ©   (19.08.05 10:39) [5]
А поподробней

Поподробней - это шутка была. Написать серьёзный язык, пусть даже интерпретатор - это очень непростая задачка.


 
zorik ©   (2005-08-19 10:58) [11]

>> Ega23 ©   (19.08.05 10:50) [10]

Думал что все намного проще. Буду изучать.


 
OldNaum ©   (2005-08-19 11:06) [12]

Джо ©   (19.08.05 10:47) [8]
вы чего от меня хотите? ))) чтобы исхитрился и по человечески сформулировал фразу? вам действительно непонятно о чем я говорю? или же я все-таки ступил и IFPS понимает что такое классы и позволяет использовати подобные конструкции в скрипте? вы меня запутали, ей богу )


 
pasha_golub ©   (2005-08-19 11:09) [13]

OldNaum ©   (19.08.05 11:06) [12]
Он позволяет, токо помнится как-то хитро. Не помню уже, давно это было, ей богу... :0)


 
OldNaum ©   (2005-08-19 11:17) [14]

хм... как понять хитро? ) тут два варианта, либо скрипт предусматривает возможность написания пользовательских классов, либо нет. вроде все таки не позволяет. подключать написанные непосредственно в Delphi точно можно было.

З.Ы. тут все-таки решил поискать что случилось с DWS: во-первых он называется DWS II (DelphiWebScript), во-вторых последний релиз обозначен 2003 годом (ноябрь вроде), не плохая была штука, но уступала IFPS, как мне помнится.


 
Джо ©   (2005-08-19 11:37) [15]


>  [14] OldNaum ©   (19.08.05 11:17)


> либо скрипт предусматривает возможность написания пользовательских
> классов, либо нет

Вот это нет.

>  подключать написанные непосредственно в Delphi точно можно
> было

Вот это да.
;-)


 
Viktop   (2005-08-19 11:57) [16]

В компоненте JEDI VCL есть что-то подобное


 
Gydvin ©   (2005-08-19 12:23) [17]

Я писал подобное, мне надо было чтобы программа отрисовывала определенные символы с плавающими координатами в определеных местах канваса. Потому я написал одну утилитку расчитывающие код этих процедур. Тоесть в поля вводишь например paintbox1.canvas, потом пременные с которыми работает твоя процедура (x,y,x1,y1) и тупо рисуешь курсором символ. Генерируется готовый код который потом и вставляешь в процедуру в дизайне. Производительность повысилась где-то раз в 30.

Она даже досих пор у меня валяется


 
OldNaum ©   (2005-08-20 02:51) [18]

Джо ©   (19.08.05 11:37) [15]
Ну вот мы друг друга и поняли )


 
Джо ©   (2005-08-20 02:55) [19]


>  [18] OldNaum ©   (20.08.05 02:51)

Аминь! :0)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.018 c
6-1116844341
Alen
2005-05-23 14:32
2005.09.11
передача звука по сети


1-1124638069
Артём
2005-08-21 19:27
2005.09.11
TTreeView


4-1122098994
axx
2005-07-23 10:09
2005.09.11
Цвет фона работчего стола.


3-1122621347
-=snoop=-
2005-07-29 11:15
2005.09.11
отображение в TDBgrid


1-1124425972
Ксардас
2005-08-19 08:32
2005.09.11
Как в ричэдите отловить нажатие pageup и pagedown?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский