He buscado algún ejemplo parecido pero no logro encontrarlo.
Adjunto el código con el que estoy probando, aunque no funciona, para ver si alguien puede decir cómo hacerlo o poner algún ejemplo.
Gracias de antemano.
- Code: Select all Expand view RUN
- #pragma BEGINDUMP
#include "windows.h"
#include "hbapi.h"
#include "string.h"
HB_FUNC( DEVUELVEMATRIZ )
{
LPSTR szTitle = "Nuevo valor";
//LPSTR szMsg = "Hasta Aquí llega";
PHB_ITEM pArray;
char cadena[] = "STATES 1:2|200,2,1:2|201,2,1:7923|202,2,1:5568|203,2,1:1423|204,2,1:1423|205,2,1:1|206,2,1:1|208,2,1:1|209,2,1:17|210,2,1:1|213,2,1:A2DED32F|";
char *elemento;
elemento = [b]strtok[/b](cadena," |");
pArray = hb_itemArrayNew(0);
while (elemento != NULL)
{
//printf("%s\n",elemento);
MessageBox( GetActiveWindow(), elemento, szTitle, 0x40 );
hb_arrayAddForward(pArray,( PHB_ITEM ) elemento );
elemento = strtok(NULL," |");
}
/* Manejo de la matriz dentro de la función en C.
for(i=1;i<=13;i++)
{
MessageBox( GetActiveWindow(), pArray+i-1, szTitle, 0x40 );
}
*/
//Devolver matriz al prg:
hb_itemReturn( pArray );
//return pArray;
}
#pragma ENDDUMP