JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

JSP_objGetDblArr

- функция JS+ DLL
Функции JS+ DLL
Возвращает свойство объекта JS+ типа массив Number, приведенное к типу массив double приложений С++ и Delphi.
Синтаксис
int __stdcall JSP_objGetDblArr(
  hObj,
  prp_cName,
  prp_Array
);

Параметры
Параметр Тип Описание
hObj size_t объект JS+, имеющий свойство типа массив Number
prp_cName char* имя свойства типа массив Number объекта hObj
prp_Array double* возвращаемый массив свойства prp_cName
Возвращаемое значение
JSP_OK (0) в случае успеха либо JSP_ERROR (-1) в противном случае.
Пример (C++ Builder)
------------------------
 Приложение C++ Builder
------------------------

JSP_Start("TRIAL","");

JSP_RegAppFun("void","App_tstObjDblArr","size_t&,char*");

JSP_RET_void App_tstObjDblArr(size_t& hObj,char* prp_cName)
{
  long i,len;
  double* dbl_lst;

  if ((JSP_objGetArrLen(hObj,prp_cName,len)!=JSP_OK) ||
      (len==0))
    return;

  dbl_lst=new double[len];
  JSP_objGetDblArr(hObj,prp_cName,dbl_lst);

  // Изменить массив
  for (i=0;i<len;i++)
    dbl_lst[i]*=2.0;
  JSP_objSetDblArr(hObj,prp_cName,dbl_lst,len);

  delete [] dbl_lst;
}

------------------------
 Скрипт JS+
------------------------

var dbl_lst=new Array(1.1,2.2,3.3);
var tst_obj={
  dblArray: dbl_lst
};

var val_str=tst_obj.dblArray.toString();

App_tstObjDblArr(tst_obj,"dblArray");

alert(
  val_str+"\n-\n"+
  tst_obj.dblArray.toString()
);

------------------------
 Вывод скрипта JS+
------------------------

1.1,2.2,3.3
-
2.2,4.4,6.6
Пример (Delphi)
------------------------
 Приложение Delphi
------------------------

JSP_Start('TRIAL','User=Delphi');

JSP_RegAppFun('','App_tstObjDblArr','size_t&,char*');

procedure App_tstObjDblArr(var hObj:Pointer;prp_cName:pAnsiChar) stdcall;
var
  i,len:LongInt;
  dbl_arr:array of double;
begin
  if ((JSP_objGetArrLen(hObj,prp_cName,len)<>JSP_OK) or
      (len=0)) then
    Exit;

  SetLength(dbl_arr,len);
  if (JSP_objGetDblArr(hObj,prp_cName,@dbl_arr[0])<>JSP_OK) then
    Exit;

  // Изменить массив
  for i:=0 to len-1 do
    dbl_arr[i]:=dbl_arr[i]*2.0;
  JSP_objSetDblArr(hObj,prp_cName,@dbl_arr[0],len);
end;
exports App_tstObjDblArr;

------------------------
 Скрипт JS+
------------------------

var dbl_lst=new Array(1.1,2.2,3.3);
var tst_obj={
  dblArray: dbl_lst
};

var val_str=tst_obj.dblArray.toString();

App_tstObjDblArr(tst_obj,"dblArray");

alert(
  val_str+"\n-\n"+
  tst_obj.dblArray.toString()
);

------------------------
 Вывод скрипта JS+
------------------------

1.1,2.2,3.3
-
2.2,4.4,6.6
Совместимость
C++ Builder/Delphi/Visual C++
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/EmbedApp/Function/JSP_objGetDblArr.htm
© 2024,