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

Вниз

TScriptControl   Найти похожие ветки 

 
StriderMan ©   (2006-07-19 18:58) [0]

кто-нибудь пользовался сабж"ем? (MSScriptControl)

конкретно интересует как передать в скрипт значение типа TDateTime и как там с ним работать?


 
Palladin ©   (2006-07-19 23:00) [1]

http://podgoretsky.com/ftp/Docs/Delphi/Tenser/7/index.html


 
jack128 ©   (2006-07-19 23:20) [2]

StriderMan ©   (19.07.06 18:58)
конкретно интересует как передать в скрипт значение типа TDateTime и как там с ним работать?

так же как и любые другие данные.  OleVariant поддердивает даты (см System.varDate) так в чем проблема??


 
palva ©   (2006-07-20 09:55) [3]

jack128 ©   (19.07.06 23:20) [2]
Интересно код увидеть. Хотя бы один ключевой оператор. Хотя бы для передачи значения целой переменной. Какой метод при этом используется?
А проблема в том что программа может AddCode к скрипту, Eval, Run и вроде бы все. Единственную возможность я вижу - это преобразовать TDateTime в строку, сформировать из нее строку кода такого типа:
"d = #12/31/2005 12:00:03#"
(если это бейсик) и выполнить ее в скрипте. Но это же не передача переменной типа OleVariant?


 
StriderMan ©   (2006-07-20 12:22) [4]

передаю парметры в процедуры в виде интерфейсов IDispatch через PSafeArray.


 
StriderMan ©   (2006-07-20 12:29) [5]

var
 Params: PSafeArray;
begin
 Params := MakeParmsArray([IP, IR]);
 try
   ScriptControl.Run("TestFunc", Params);
 finally
   SafeArrayDestroy(Params);
 end;



> OleVariant поддердивает даты (см System.varDate) так в чем
> проблема??

в Джава скрипте тип Date является классом. Если туда положить просто TDateTime то он отображает его ввиде double (что естественно)


> сформировать из нее строку кода такого типа:
> "d = #12/31/2005 12:00:03#" (если это бейсик) и выполнить
> ее в скрипте.

уже пошел по похожему пути. Преобразую DateTime в юниксовый формат (DateTimeToUnix). Далее в строку и в скрипте выполняю d := new Date(<число мсек с 01.01.1970>). Дата отображается, но пока не удалось выудить из нее составляющие типа Date.GetYear и т.п.


 
jack128 ©   (2006-07-20 16:41) [6]

palva ©   (20.07.06 9:55) [3]
Хотя бы для передачи значения целой переменной. Какой метод при этом используется?

Я добавлял глобальный именованный объект (флаг SCRIPTITEM_GLOBALMEMBERS) и соответственно все данные через Invoke отдавал в скрипт.

StriderMan ©   (20.07.06 12:29) [5]
в Джава скрипте тип Date является классом. Если туда положить просто TDateTime то он отображает его ввиде double (что естественно

Наверное это проблемы ДжаваСкрипта?


 
jack128 ©   (2006-07-20 16:44) [7]

PS http://www.delphikingdom.com/asp/viewitem.asp?catalogid=737 - отличная статья от DiamondShark"а


 
StriderMan ©   (2006-07-20 16:53) [8]


> StriderMan ©   (20.07.06 12:29) [5]
> в Джава скрипте тип Date является классом. Если туда положить
> просто TDateTime то он отображает его ввиде double (что
> естественно
> Наверное это проблемы ДжаваСкрипта?

сейчас это мои проблемы :)
все же делфишный TDateTime всего лишь один из  используемых форматов. кто виноват что в JS он иной? никто. поэтому колупаюсь дальше.....


 
umbra ©   (2006-07-20 17:53) [9]


> в JS он иной

в JS используется время UTC (по-моему, количество миллисекунд с 1 января 1970 года)



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

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
2-1153554912
malyar
2006-07-22 11:55
2006.08.13
воспроизведение звукового файла


8-1140214004
zxcv
2006-02-18 01:06
2006.08.13
avi2bmp


15-1153197800
Ega23
2006-07-18 08:43
2006.08.13
С Днём рождения! 18 июля


15-1153261002
Каг дила?
2006-07-19 02:16
2006.08.13
Погомгите с длл


15-1152813902
Dok_3D
2006-07-13 22:05
2006.08.13
Препараты для улучшения работы мозга