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

JSP_objGetBlnArr

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

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

JSP_Start("TRIAL","");

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

JSP_RET_void App_tstObjBlnArr(size_t& hObj,char* prp_cName)
{
  long i,len;
  bool* bln_lst;

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

  bln_lst=new bool[len];
  JSP_objGetBlnArr(hObj,prp_cName,bln_lst);

  // Обратить значения в массиве
  for (i=0;i<len;i++)
    bln_lst[i]=!bln_lst[i];
  JSP_objSetBlnArr(hObj,prp_cName,bln_lst,len);

  delete [] bln_lst;
}

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

var bln_lst=new Array(false,true);
var tst_obj={
  blnArray: bln_lst
};

var val_str=tst_obj.blnArray.toString();

App_tstObjBlnArr(tst_obj,"blnArray");

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

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

false,true
-
true,false
Пример (Delphi)
------------------------
 Приложение Delphi
------------------------

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

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

procedure App_tstObjBlnArr(var hObj:Pointer;prp_cName:pAnsiChar) stdcall;
var
  i,len:LongInt;
  bln_arr:array of boolean;
begin
  if ((JSP_objGetArrLen(hObj,prp_cName,len)<>JSP_OK) or (len=0)) then
    Exit;
  SetLength(bln_arr,len);
  if (JSP_objGetBlnArr(hObj,prp_cName,@bln_arr[0])<>JSP_OK) then
    Exit;
  // Изменить массив
  for i:=0 to len-1 do
    bln_arr[i]:=not bln_arr[i];
  JSP_objSetBlnArr(hObj,prp_cName,@bln_arr[0],len);
end;
exports App_tstObjBlnArr;

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

var bln_lst=new Array(false,true);
var tst_obj={
  blnArray: bln_lst
};

var val_str=tst_obj.blnArray.toString();

App_tstObjBlnArr(tst_obj,"blnArray");

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

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

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