Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.09;
Скачать: CL | DM;

Вниз

Макроязык как в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
15-1194559339
Pacific
2007-11-09 01:02
2007.12.09
Функции


15-1194867744
@!!ex
2007-11-12 14:42
2007.12.09
Проект вылетает


2-1194928312
San1712
2007-11-13 07:31
2007.12.09
При копировании в Clipboard русских символов изменяется их код-ка


2-1194784127
timekiller
2007-11-11 15:28
2007.12.09
Обработчик ошибок DomDocument


2-1195202524
IvanZ
2007-11-16 11:42
2007.12.09
середина TRect