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

JSP_objGetArrLen

- функция JS+ DLL
Функции JS+ DLL
Возвращает количество элементов массива, являющегося свойством указанного объекта.
Синтаксис
int __stdcall JSP_objGetArrLen(
  hObj,
  prp_cName,
  size_Val
);

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

JSP_Start("TRIAL","");

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

JSP_RET_void App_tstObjIntArr(size_t& hObj,char* prp_cName)
{
  int i,j,*int_lst;
  long len;

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

  int_lst=new int[len];
  JSP_objGetIntArr(hObj,prp_cName,int_lst);

  // Перевернуть массив
  for (i=0,j=len-1;i<j;i++,j--) {
    int_lst[i]=int_lst[i]+int_lst[j];
    int_lst[j]=int_lst[i]-int_lst[j];
    int_lst[i]=int_lst[i]-int_lst[j];
  }
  JSP_objSetIntArr(hObj,prp_cName,int_lst,len);

  delete [] int_lst;
}

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

var int_lst=new Array(1,2,3);
var tst_obj={
  intArray: int_lst
};

var val_str=tst_obj.intArray.toString();

App_tstObjIntArr(tst_obj,"intArray");

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

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

1,2,3
-
3,2,1
Пример (Delphi)
------------------------
 Приложение Delphi
------------------------

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

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

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

  SetLength(int_arr,len);
  JSP_objGetIntArr(hObj,prp_cName,@int_arr[0]);

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

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

var int_lst=new Array(1,2,3);
var tst_obj={
  intArray: int_lst
};

var val_str=tst_obj.intArray.toString();

App_tstObjIntArr(tst_obj,"intArray");

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

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

1,2,3
-
2,4,6
Совместимость
C++ Builder/Delphi/Visual C++
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/EmbedApp/Function/JSP_objGetArrLen.htm
© 2024,