O_LIST
O_LISTP
OW_LIST
OW_LISTP
OW_COMBO
Esempio con array statico
void *lstA1ST6Desc(EH_OBJPARAMS)
{
INT a;
EH_AR ar;
switch (enMess)
{
case WS_OPEN:
ar=ARNew();
for (a=0;arST6[a].pCode;a++) {
ARAddarg(&ar,"\3. 2. 1.%-8.8s. 24.%s\t%s",arST6[a].pIcone,arST6[a].pDesc,arST6[a].pCode);
}
psObjCaller->ptr=ar;
if (ARLen(ar)<10) psObjCaller->col2=ARLen(ar); else psObjCaller->col2 = 10;
break;
case WS_CLOSE:
ARDestroy(psObjCaller->ptr);
break;
}
return NULL;
}
Esempio con query
void *lstStampatoriEH_OBJPARAMS)
{
EH_AR ar;
SQL_RS rsSet;
switch (cmd)
{
case WS_OPEN:
sql_query("SELECT IDCODE,NOME,IP FROM mybook.PGPR12 ORDER BY NOME");
rsSet=sql_store();
ar=ARNew();
while (sql_fetch(rsSet)) {
ARAddarg(&ar,"%s (%s)\t%s",
sql_ptr(rsSet,"NOME"),
sql_ptr(rsSet,"IP"),
sql_ptr(rsSet,"IDCODE"));
}
psObjCaller->ptr=ar;
if (ARLen(ar)<10) psObjCaller->col2=ARLen(ar); else psObjCaller->col2 = 10;
break;
case WS_CLOSE:
ARDestroy(psObjCaller->ptr);
break;
}
return NULL;
}