powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / javascript интерпретатор
25 сообщений из 72, страница 1 из 3
javascript интерпретатор
    #36017381
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заточенный для работы с firebird как клиентское приложение.
исполняет скриты например такого вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
sys=new System();
db=new Database();
db.connect("sql:second","sysdba","masterkey");
trn=new Transaction(db);

q=new Query(db,trn);
q.setSql("select order_id, order_date, order_comment, order_summ from orders");
q.addSql("where order_id>? and order_date>? and order_comment like ? and order_summ>?");
q.addIntegerParam( 10 );
q.addDateTimeParam(new SystemTime("18.05.2009"));
q.addStringParam("'%всякое%'");
q.addFloatParam( 1 . 5 );
q.open();
sys.println("Полей в результате=",q.fieldsCount());
while (!q.eof())
{
 fld0=q.fieldByIndex( 0 ).asInteger();
 fld1=q.fieldByIndex( 1 ).asDateTime();
 fld2=q.fieldByIndex( 2 ).asString();
 fld3=q.fieldByIndex( 3 ).asFloat();
 sys.println(fld0);
 sys.println(fld1.dateToStr());
 sys.println(fld2);
 sys.println(fld3);
 q.next();
}
sys.println("end");

ссылка для скачивания
http://files.mail.ru/3M3IC1
в архиве небольшой текстовик с описанием классов и методов, исполняемый файл и dll ка от vozillовской spidermonkey

javascript поддерживается вроде как надо, всякие Array и прочее есть. ну во общем как в мозилле :) только добавил свои классы для связи с firebird

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

это не релиз, это даже не бета, написал за сегодня :)
ничего не гарантируется!!!
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36017580
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обнаружил, что в прошлом архиве не хватало одной dll.
перезалил еще раз

http://files.mail.ru/PPORWX
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36017944
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k javascript поддерживается вроде как надо, всякие Array и прочее есть. ну во общем как в мозилле :) только добавил свои классы для связи с firebird
Это чего, типа FB я должен в Инету выставить?...
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018136
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какая связь с инетом?
это просто интерпретатор. ему указываешь файл со скриптом и он его исполняет
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018147
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kкакая связь с инетом?
это просто интерпретатор. ему указываешь файл со скриптом и он его исполняет
Ну и на фига попу тогда сия гармонь?
Ява-машина есть в броузере. Где еще она есть?
А скрипт я и так наваяю, тем же FAR-ом, а уж выполнить - инстрУметов хватает.
Али сие чудо крутее чем isql?
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018149
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne
Ну и на фига попу тогда сия гармонь?

вот бы узнать
Di_LIne
Ява-машина есть в броузере. Где еще она есть?

при чем сдесь ява машина?
и в каком браузере она есть?
ты вообще, понимаешь о чем говоришь?
Di_LIne
Али сие чудо крутее чем isql?
вот это мне и интересно узнать

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

сравнивать сие чудо с isql трудно, поскольку isql имеет возможность выполнять команды с клавиатуры, а этот интерпретатор только файлы.
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018155
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kвот бы узнать
alex_kвот это мне и интересно узнать
Во дает!
Наваять - наваял, а нафига и сам не знает...


alex_kDi_LIne
Ява-машина есть в броузере. Где еще она есть?

при чем сдесь ява машина?
и в каком браузере она есть?
ты вообще, понимаешь о чем говоришь?

JavaScript должен выполнятся по стандарту, со времен HTML 1.0 и НетскейпНавигатора и Ехплорер 3.0... А значит в той же мазиле, к примеру, какбэ есть, иль в опере с сафри.
Про ослика - молчу, очам видный пример.

alex_kэто просто интерпретатор. ему указываешь файл со скриптом, он его исполняет.
мне казалось что это очевидно, а вот подиж ты
Та-ак... Скрипт этот на чем написан? Как в прымере что-ль?
Тогда - нафига оно надобно?
Если SQL-скрипт изображается любым текстовым редактором, а выпоняется...
Ну тем же IBExpert-ом. В более дружественной среде и окружении привычном.


ЗЫ: Я думал что типа фреймворка "JavaScript <-> FB" савял.
Это более интересная вещь получилась бы...

Попутно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
{
 fld0=q.fieldByIndex( 0 ).asInteger();
 fld1=q.fieldByIndex( 1 ).asDateTime();
 fld2=q.fieldByIndex( 2 ).asString();
 fld3=q.fieldByIndex( 3 ).asFloat();
 sys.println(fld0);
 sys.println(fld1.dateToStr());
 sys.println(fld2);
 sys.println(fld3);
 q.next();
}
нельзя было преобразовать в типа что-то:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
{
 sys.println(q.fieldByIndex( 0 ).asInteger());
 sys.println(q.fieldByIndex( 1 ).asDateTime().dateToStr());
 sys.println(q.fieldByIndex( 2 ).asString());
 sys.println(q.fieldByIndex( 3 ).asFloat());
 q.next();
}
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018157
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫЗЫ: - Тут и Дельфи-то ни кто не знает , а он с JavaScript...
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018160
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

если ты не знаешь что такое JavaScript - так и скажи.
Постараюсь поянить.
Яваскрипт - это язык. Его реализация есть, например, в браузерах.
Еще есть в флэш плеере.
Еще наверное где то есть.
И еще есть в программе, которую я сдесь выложил.
В довесок к стандартным для JavaScript классам, программа добавляет некоторые классы для работы с фб.

и да, так можно:
Код: plaintext
1.
2.
3.
4.
 sys.println(q.fieldByIndex( 0 ).asInteger());
 sys.println(q.fieldByIndex( 1 ).asDateTime().dateToStr());
 sys.println(q.fieldByIndex( 2 ).asString());
 sys.println(q.fieldByIndex( 3 ).asFloat());
как можно и многое другое. только надо понимать что такое JavaScript
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018161
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к стати, поясни, что такое
Di_LIneчто типа фреймворка "JavaScript <-> FB"?
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018183
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kDi_LIne,
если ты не знаешь что такое JavaScript - так и скажи.
Дык, какбэ я те указал спецификацию...

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

alex_kИ еще есть в программе, которую я сдесь выложил.
Хм...
Вот объясни мне, как она, софтинка твоя, будет выполнять, самы элементанный JavaScript:
Код: plaintext
1.
2.
3.
document.open();
document.write('Бла-бла-бла');
document.close();
Где и что я получу(увижу)?

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

alex_kи да, так можно:
Да это я поинтересовался, зачем нужно было, тем более в примере, определение переменных...

alex_k
Код: plaintext
trn=new Transaction(db);

А где параметры транзакции?

Так сейчас модно всякие фреймворки писать. Чего только не произвели на свет.
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018193
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne
Код: plaintext
1.
2.
3.
document.open();
document.write('Бла-бла-бла');
document.close();

в стандарте JavaScript нет такого.

Di_LIneДык, какбэ я те указал спецификацию...
нет.
http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf
вот спецификация
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018194
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne
Ага, язык. И выполнением кода занимается так называемая Java-машина

это неправда. выполнением занимается интерпретатор. например тот, который я выложил сдесь.

Позволь вопрос. Ты непонимаешь о чем говоришь, но продолжаешь это делать.
Зачем?
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018203
Фотография ilias1979
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k,

извини но я не до конца догоняю зачем все это нужно
интерпретатор jscript есть стандартный встроенный в винду
юзать из него птицу можно примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
WScript.Echo("создание коннекта к базе данных");
var cn=new ActiveXObject("ADODB.Connection");
cn.Provider="LCPI.IBProvider";
cn.Open("location=172.16.0.19:testdb; ctype=win1251","taper","qwerty");
cn.BeginTrans();
var query= new ActiveXObject("ADODB.Command");
query.ActiveConnection=cn;
querytext = "select id from table";
query.CommandText=querytext;
var result_nd = query.execute;
while (!result_nd.EOF)
  {
     WScript.Echo(result_nd("id").value);
     result_nd("id").value
     result_nd.MoveNext();
  }
его же можно подцепить в любое свое win приложение заюзав стандартный COM MSScript Control

Я чего то пропустил или недопонял?
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018206
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kDi_LIne
Код: plaintext
1.
2.
3.
document.open();
document.write('Бла-бла-бла');
document.close();

в стандарте JavaScript нет такого.Хм...
А броузер-то и не знает...

alex_kDi_LIneДык, какбэ я те указал спецификацию...
нет.
http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf
вот спецификация
Цитато:
авторДанный стандарт (ECMA262) формализует языковые конструкции JavaScript ...
Несмотря на то, что язык часто ассоциируется с объектной моделью, данный стандарт не определяет объектную модель... по этому следует четко различать объектную модель и элемент языка.
Цитировано по: С. Айзекс "Dynamic HTML", Microsoft Press 1997
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018209
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilias1979,

все верно.
вот я и спрашиваю, интересно ли кому либо другое решение?
из плюсов, используется не адодиби, а напрямую fbclient.dll
плюс я могу портировать под линукс или FreeBSD.
под линукс я уже портировал, ради интересу, но рабочего варианта сейчас нет.

из минусов, это кривая поделка без внятной поддержки :)
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018283
Фотография Юрий Носов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, я чевой-то не понимаю, но я всегда полагал, что главная фишка жаваскрипта это как раз интегрированность его в браузер, и встроенность в него DOM, что позволяет делать всякие штучки, типа динамического формирования контента на клиентской стороне. Если я не прав, поправьте..
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018317
BorisMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilias1979
извини но я не до конца догоняю зачем все это нужно
интерпретатор jscript есть стандартный встроенный в винду


Посмелею предположить что иногда удобно использовать инструмент без предустановки IBProvider.
Но тут на вкус и цвет...
Я например использовал IBEScript + JScript.

Автор молодец, но
1) Побольше примеров
2) Побольше классов (Например для выгрузку данных в dbf)
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36018321
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorisMor,

дбф я писать не умею, только читать :)

побольше примеров могу предоставить, если будут вопросы по делу.
побольше классов можно, если будет нужно.

пока вижу необходимость сделать работу с блобами, сделать параметры соединения с базой, и параметры транзакции.
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36021390
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

в данной ветке ты не прав, многие действительно ассоциируют JavaScript, с Java или с браузерами, но ни к тому ни к другому он отношения не имеет.
JavaScript вполне самостоятельный/самодостаточный язык, ЕГО используют браузеры.
>>Али сие чудо крутее чем isql?
isql тут не причем, нужно сие чудо для создания интерактивных скриптов, например мы используем (IBEBlock чем то похоже) при обслуживании БД, обновление, перерасчет и т.д. Т.е. там где нужно взаимодействие с пользователем (DBA) из скрипта.
>>Автору
Сама идея хорошая, вот только уже есть IBEScript имеющий на порядок больше возможностей, бесплатный, стабильно работающий. Так что пока не будет сопоставимо по удобству разговаривать не о чем. А чтобы было удобно нужна возможность смешанного написания SQL, JavaScript. Пример в IBEBlock:
Код: plaintext
1.
2.
3.
4.
DestDB = ibec_CreateConnection(__ctFirebird, DestDBParams);
ibec_Progress('Successfull.');
ibec_UseConnection(DestDB);
select CURRENT_VERSION from S_DATABASE into :DBVER;
ibec_UseConnection(DefDB);
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36021425
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex TruhinА чтобы было удобно нужна возможность смешанного написания SQL, JavaScript.
Это действительно удобно?
мне непонятно это. лично мне кажется, что когда смешиваются два(или больше) языка это выглядит убого. например я не люблю html :)

но я понял, что инструменты есть, люди пользуются, все в порядке.
буду дорабатывать для себя :)
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36021476
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex TruhinDi_LIne,
в данной ветке ты не прав...
Выяснив, что ни чего вкусного для меня тут нет - давно ушел из топика.
Бо JavaScript использую только в HTML и заменить его там нечем.
Ы?
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36021620
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kЭто действительно удобно?

Да. Напиши данный кусок на своем движке и все будет понятно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    
    ibec_Progress('Обновление системных комманд (ACTIONS)!');
    ibec_UseConnection(DefDB);
    for select AC_NAME, AC_CAPTION, AC_CATEGORY, AC_COMMANDTYPE, AC_COMMAND, AC_PARAM, AC_ICON
        from S_ACTIONS
    into :AC_NAME, :AC_CAPTION, :AC_CATEGORY, :AC_COMMANDTYPE, :AC_COMMAND, :AC_PARAM, :AC_ICON do begin
        ibec_UseConnection(DestDB);
        ibec_Progress('Обновляем отчет: ' || :ac_name);
        update S_ACTIONS
        set AC_CAPTION = :AC_CAPTION,
            AC_CATEGORY = :AC_CATEGORY,
            AC_COMMANDTYPE = :AC_COMMANDTYPE,
            AC_COMMAND = :AC_COMMAND,
            AC_PARAM = :AC_PARAM,
            AC_ICON = :AC_ICON
        where (AC_NAME = :AC_NAME);
    end
Т.е. в данном скрипте происходит чтение из одной БД и обновление в другой.
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36021650
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
sys.println("Обновление системных комманд (ACTIONS)!");
defdb=new Database(...);
deftrn=new Transaction(defdb);
defq=new Query(defdb,deftrn);

destdb=new Database(...);
desttrn=new Transaction(destdb);

defq.setSql("select AC_NAME, AC_CAPTION, AC_CATEGORY, AC_COMMANDTYPE, AC_COMMAND, C_PARAM, AC_ICON from S_ACTIONS");
defq.open();
while (!defq.eof())
{
 destq=new Query(destdb,destrn);
 destq.setSql("update S_ACTIONS set AC_CAPTION =?,AC_CATEGORY =?,AC_COMMANDTYPE = ?,  AC_COMMAND = ?, AC_PARAM = ?, AC_ICON = ? where (AC_NAME = ?)");
 destq.addStringParam(defq.fieldByName("AC_CAPTION").asString());
 destq.addStringParam(defq.fieldByName("AC_CATEGORY").asString());
 destq.addStringParam(defq.fieldByName("AC_COMMANDTYPE").asString());
 destq.addStringParam(defq.fieldByName("AC_COMMAND").asString());
 destq.addStringParam(defq.fieldByName("AC_PARAM").asString());
 destq.addStringParam(defq.fieldByName("AC_ICON").asString());
 destq.addStringParam(defq.fieldByName("AC_NAME").asString());
 destq.open();
 defq.next();
}
desttrn.commit();

что, так уж неудобно?
я так привык :) еще с делфи :)
...
Рейтинг: 0 / 0
javascript интерпретатор
    #36021664
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я еще и редактор кода сделал на основе scite :)
...
Рейтинг: 0 / 0
25 сообщений из 72, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / javascript интерпретатор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]