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

JSP_objGetSysStrArr

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

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

JSP_Start("TRIAL","");

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

JSP_RET_void App_tstObjSysStrArr(size_t &hObj,char *prp_cName)
{
  long i,j,n,len;
  System::String tmp_str,*str_arr;

  JSP_objGetArrLen(hObj,prp_cName,len);
  str_arr=new System::String[len];
  JSP_objGetSysStrArr(hObj,prp_cName,str_arr);
  
  // Перевернуть массив
  for (i=0,n=len/2;i<=n;i++) {
    tmp_str=str_arr[i];
    str_arr[i]=str_arr[j=len-i-1];
    str_arr[j]=tmp_str;
  }
  JSP_objSetSysStrArr(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_tstObjSysStrArr(tst_obj,"strArray");

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

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

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

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

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

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

  SetLength(str_arr,len);
  JSP_objGetSysStrArr(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_objSetSysStrArr(hObj,prp_cName,@str_arr[0],len);
end;
exports App_tstObjSysStrArr;

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

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

var val_str=str_lst.toString();

App_tstObjSysStrArr(tst_obj,"strArray");

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

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

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