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

JSP_objGetBStrArr

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

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

JSP_Start("TRIAL","");

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

JSP_RET_void App_tstObjBStrArr(size_t &hObj,char *prp_cName)
{
  long i,n,len;
  BSTR tmp_str,*str_arr;

  JSP_objGetArrLen(hObj,prp_cName,len);
  str_arr=new BSTR[len];
  JSP_objGetBStrArr(hObj,prp_cName,str_arr);

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

  delete [] str_arr;
}

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

var str_lst=new Array("раз","два","три");
var tst_obj={
  strArray: str_lst
};

var val_str=str_lst.toString();

App_tstObjBStrArr(tst_obj,"strArray");

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

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

раз,два,три
-
три,два,раз
Пример (Delphi)
------------------------
 Приложение Delphi
------------------------

uses
ActiveX// TBStr

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

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

procedure App_tstObjBStrArr(var hObj:Pointer;prp_cName:pAnsiChar) stdcall;
var
  i,len:LongInt;
  str_arr:array of TBStr;
  tmp_str:TBStr;
begin
  JSP_objGetArrLen(hObj,prp_cName,len);

  SetLength(str_arr,len);
  JSP_objGetBStrArr(hObj,prp_cName,@str_arr[0]);

  // Перевернуть массив
  for i:=0 to (len Div 2) do
  begin
    tmp_str:=str_arr[i];
    str_arr[i]:=str_arr[len-i-1];
    str_arr[len-i-1]:=tmp_str;
  end;
  JSP_objSetBStrArr(hObj,prp_cName,@str_arr[0],len);
end;
exports App_tstObjBStrArr;

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

var str_lst=new Array("раз","два","три");
var tst_obj={
  strArray: str_lst
};

var val_str=str_lst.toString();

App_tstObjBStrArr(tst_obj,"strArray");

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

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

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