Форум: "Прочее";
Текущий архив: 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.074 c