PDA

Visualizza la versione completa : [C++] Leggere una stringa da Excel con Visual C++


andregi
02-08-2012, 17:56
Salve, ho scritto la seguente funzione in C++ per leggere una stringa da Excel e restituire il valore 1 se uguale a una parola prefissata, ad esempio "ciao" e 0 se la parola letta da Excel diversa da "ciao". Il programma ha in ingresso e in uscita la struttura di tipo xloper. Il codice il seguente:

EXPORT_EXTERN_C xloper* acquisisci(xloper *xargs)
{
char *linea;
char *s;
linea = new char[50];
s = new char[50];
s = "ciao";
double p, q;
p = 0;
q = 1;

xloper *xresult;
xresult = new xloper[1];

xresult->xltype = xltypeMulti;
xresult->val.array.lparray = new xloper[1];
xresult->val.array.lparray[0].xltype = xltypeNum;

xargs->xltype = xltypeMulti;
xargs->val.array.lparray = new xloper[1];
xargs->val.array.lparray[0].xltype = xltypeStr;

strcpy_s(linea, 50, xargs->val.array.lparray[0].val.str);

if(strcmp(linea, s)!=0)
{xresult->val.array.lparray[0].val.num = p;}
else
{xresult->val.array.lparray[0].val.num = q;}

xresult->val.array.lparray[0].xltype |= xlbitDLLFree;
xresult->xltype |= xlbitDLLFree;

delete[] linea;
delete[] s;
return (xresult->val.array.lparray);
}

Il programma compila correttamente, ma se scrivo in Excel la parola ciao e poi chiamo la funzione in un'altra cella, anzich darmi il valore 1 mi spunta la segnalazione errori di Microsoft. Non so se un problema di formati incompatibili. Qualcuno pu aiutarmi per favore?? Su internet non trovo niente, trovo solo lettura stringhe da Java, ma io Java non lo conosco. Questo problema col C++ non ho trovato nulla. Help please!!

Loading