Снегопат

Обсуждение Снегопата
Текущее время: 23 ноя 2024, 05:14

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Как тип у значения посмотреть?
СообщениеДобавлено: 16 янв 2014, 09:36 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
orefkov писал(а):
Для просмотра 1Сного типа - пока ничего нет, но скоро добавлю.

Еще не? А то бы очень не помещало


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как тип у значения посмотреть?
СообщениеДобавлено: 22 янв 2014, 12:54 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Попытался смоделировать процедуры ТипЗнч и Тип (пока особо не тестил), может кому пригодятся:

function TypeOf(val){
var obj = null;
var strTypeOf = null;
var defined = false;
defined = true;
strTypeOf = gc.ValueToStringInternal(val);
if (strTypeOf.substr(2, 1) == Str("T")){
strTypeOf = 'd47d59f8-73f0-481c-8b5e-f6384c0a4804';
}
else if (strTypeOf.length >= 41){
strTypeOf = strTypeOf.substr (5, 36);
}
else if (strTypeOf.substr(2, 1) == Str("B")){
strTypeOf = '5d4125ad-f6e7-4313-be32-f71d0ab60915';
}
else if (strTypeOf.substr(2, 1) == Str("U")){
strTypeOf = 'ee8d3e7c-f930-4a76-8aad-4ff9083a6ea6';
}
else if (strTypeOf.substr(2, 1) == Str("D")){
strTypeOf = 'aae38c48-a877-411c-a6d3-fbaa1f83c4bd';
}
else if (strTypeOf.substr(2, 1) == Str("L")){
strTypeOf = 'af40a278-63bc-478e-91a8-19e0d16b10b5';
}
else if (strTypeOf.substr(2, 1) == Str("S")){
strTypeOf = '9b6abf8b-0173-48e5-b0a0-83b21fcf63c5';
}
else if (strTypeOf.substr(2, 1) == Str("N")){
strTypeOf = 'b0be78f2-0ee6-4d31-a3bb-77dd32ba5bec';
}
else if (strTypeOf.substr(2, 1) == Str("T")){
strTypeOf = 'b0be78f2-0ee6-4d31-a3bb-77dd32ba5bec';
}
else {
defined = false;
Message ( 'Не возможно определить тип значения' );
}
if (defined){
strTypeOf = '{\u0022T\u0022,' + strTypeOf + '}';
obj = gc.ValueFromStringInternal ( strTypeOf );
}
return obj;
}

function Type(name/*String*/){
var res = null;
var descrType = null;
var strType = null;var mark = null;var str = null;
var obj1c = null;

descrType = d1c.snegopat.v8types.item(name);
if (descrType != null){
strType = descrType.uuid;
strType = strType.substr(1, strType.length);
strType = '{\u0022T\u0022,' + strType;
res = gc.ValueFromStringInternal(strType);
}
else {
Message ( name + ' - тип не определен' );
}
return res;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как тип у значения посмотреть?
СообщениеДобавлено: 09 апр 2014, 09:11 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Дико извиняюсь, но служащий для этих целей объект IV8Value не попал в онлайн-документацию.
Есть только описание метода toV8Value.
Можете посмотреть описание IV8Value в библиотеке типов снегопата, вкратце описание таково:
Код:
         [helpstring("Название типа")] HRESULT
      typeName(_opt(0) long language, _ret BSTR* ppObject);
         [helpstring("Строковое представление")] HRESULT
      presentation(_ret BSTR* ppObject);
         [propget, helpstring("Это объект?")] HRESULT
      isObject(_ret VARIANT_BOOL* pVal);
         [helpstring("Список методов/свойств")] HRESULT
      contextInfo(_ret BSTR* pVal);
         [helpstring("ЗначениеВСтрокуВнутр")] HRESULT
      toStringInternal(_ret BSTR* pVal);
         [propget, helpstring("UUID типа")] HRESULT
      typeUUID(_ret BSTR* pVal);


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB