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

Вниз

Макроязык как в 1С:Бухгалтерии...   Найти похожие ветки 

 
Jolik   (2007-11-07 22:57) [0]

Господа!
Стоит задача создать некий несложный макроязык как в 1С:Бухгалтерии (не такой навороченный конечно).
Представляю это себе так:
на вход некоего препроцессора подается:
1. некий текст написанный на этом макроязыке с предопределенными переменными
2. список переменных в виде key=value

а на выходе получаем готовый текст

Подозреваю, это было где-то и кем-то неоднократно реализовано. Ткните носом плиз.

Предпочтительно если на pascal/delphi

заранее благодарен!


 
vpbar ©   (2007-11-07 23:03) [1]

если готовое то:
1)
Innerfuse Pascal/Bin Script
Created By InnerFuse                   http://www.innerfuse.com
2)
DelphiWebScript II
License
-------
Mozilla Public License (MPL) 1.1
For further information go to: http://www.dwscript.com


 
Jolik   (2007-11-08 00:15) [2]

Спасибо!
Круто, даже слишком...
мне же надо для простого пользователя...
фраза: "Предпочтительно если на pascal/delphi" предполагает что код на pascal, а не интерпритатор его...


 
@!!ex ©   (2007-11-08 00:28) [3]


> http://www.innerfuse.com

Не работает.

Мне походу тоже предстоит ваять интрепритатор на базе Паскаля.
Народ, если тема интересна(мало ли для чего можно такой интрепретатор использовать) и есть идеи как все это лучше реализовать, пишите мне. BasovAV@gmail.com


 
KilkennyCat ©   (2007-11-08 00:39) [4]

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


 
turbouser ©   (2007-11-08 00:48) [5]


> Jolik
> @!!ex ©

http://www.remobjects.com/freedownloads.asp?id={02A079E7-80AD-4CB4-BCF6-D213F45C4FC4}


 
Jolik   (2007-11-08 01:14) [6]

Именно так и бывает - думаешь за недельку сваяешь... а потом... этому то надо, этому это...а без этого вообще хренова... так и получаеца - монстр


 
VirEx ©   (2007-11-08 05:57) [7]

нашел через гугл:
"**********************************
"*      PASCALC interpreter v3.00 for Delphi
"*    (c)2000 Alex Boiko  alexboiko@mtu-net.ru
"*            http://alexboiko.da.ru
"**********************************
вобще компонент для расчетов предназначен, но можно реализовать чтото типа:
ImportWinAPI("KERNEL32.dll","WinExec");
ImportWinAPI("shell32.dll","ShellAboutA");
ImportWinAPI("user32.dll","SendMessageA");
ImportWinAPI("user32.dll","FindWindowA");
ImportWinAPI("user32.dll","GetWindow");
ImportWinAPI("kernel32.dll","Sleep");
ImportWinAPI("user32.dll","MessageBoxA");
WM_CLOSE := 16;
WM_CHAR  :=258;
GW_CHILD := 5;
ID_YES:=1;
ID_NO:=2;
WinExec("notepad",1);
win:=FindWindowA(0,"Áåçûìÿííûé  - Áëîêíîò");
edit:=GetWindow(win,GW_CHILD);
txt:="Ïðåâåä ìèÐ! :)";
for i:=0 to Length(txt) do begin
SendMessageA(edit,WM_CHAR,copy(txt,i,1),0);
sleep(100);
end;
SendMessageA(win,WM_CLOSE,0,0);
if MessageBoxA(0,"yes or not","Q",1)=ID_YES then ShellAboutA(0,"title","text",0);

функции типа copy, ImportWinAPI и т.п. добавляются через (пример) SetFunction("Copy", @fCopy);

а так реализация:
function fCopy(Sender:TObject; var A:TVarList; var R:TVar) : boolean;
begin
 Result := false;
 if A.Count<>3 then Exit;

 R.Value := copy(TPVar(A.Items[0])^.Value,
                 Trunc(TPVar(A.Items[1])^.Value),
                 Trunc(TPVar(A.Items[2])^.Value));

 Result := true;
end;


 
Сергей М. ©   (2007-11-08 09:27) [8]


> Jolik   (07.11.07 22:57)


см. все касаемое TP Lex&Yacc


 
vpbar ©   (2007-11-08 10:32) [9]

>>@!!ex ©   (08.11.07 00:28) [3]
Тема интересная. Но только не паскаля хочу я коечто другое.
Есть куча материала по теме. Могу поделиться. Хотя самое главное -Книга Дракона - у тебя наверое есть :)
>>Не работает.
Звыняй. Вырезал и их справки.
>>turbouser ©   (08.11.07 00:48) [5]
Спасибо на досуге посмотрю что там нового.



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

Форум: "Прочее";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.102 c
15-1194499862
gn
2007-11-08 08:31
2007.12.09
windows vista


2-1194846459
KSergey
2007-11-12 08:47
2007.12.09
Передача строки в параметр PChar


15-1194605822
boriskb
2007-11-09 13:57
2007.12.09
Это что? Сайт вроде солидный


2-1194789862
SveTTT
2007-11-11 17:04
2007.12.09
Переменная в переменную


2-1194776157
alikon1
2007-11-11 13:15
2007.12.09
arctan в Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский