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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
15-1152612671
Kerk
2006-07-11 14:11
2006.08.13
Разработка чего-нибудь


3-1149584654
RomanH
2006-06-06 13:04
2006.08.13
Выгрузка PNG и PDF из BLOB а


2-1153854290
men-hen
2006-07-25 23:04
2006.08.13
процессы


4-1145447500
Elen
2006-04-19 15:51
2006.08.13
Определение загруженности процессора


8-1139918799
MatrixSh!t
2006-02-14 15:06
2006.08.13
OpenGL или DirectX





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