Jump to content
Nokioteca Forum

[mshell] Passare Puntatori


lento
 Share

Recommended Posts

Scusate, ma forse sto' perdendo troppo velocemente i miei pochi neuroni....

Ero convinto che anche in mShell si potesse assegnare funzioni tramite i puntatori.

Esempio:

function stampa(frase)
  print(frase);
end;

printone=stampa;

printone("hello");

Forse mi confondo con il linguaggio Lua....ma ero convinto che si poteva fare! magari nelle prime versioni di mShell????

qualcuno sa rispondermi?

Link to comment
Share on other sites

Ciao lento, mi attendo qualche piccolo esempio anche riguardo a questa funzione "cursore" come al solito...

Ciao 'Nick_7' .

Se ti riferisci al passaggio di funzioni tramite puntatori, puoi star tranquillo a breve ne vedrai delle belle!. (Spero)

Cursore? (ricorda che ho pochi neuroni) a cosa ti riferisci con cursore?

Link to comment
Share on other sites

mi sa che ho confuso puntatore con cursore... Io per cursore intendevo la freccia stile mouse, per puntatore invece che cosa si intende?

'Nick_7' prova a chiederlo nel forum aprendo un nuovo topic.

Son convinto che troverai persone disposte a spiegartelo.

Anche perché è un concetto presente sia nella programmazione c++ che in Python e j2me. Di sicuro in questo forum ci sono persone più competenti di me per spiegartelo.

Link to comment
Share on other sites

Uhm, manca effettivamente qualcosa a riguardo nella guida e forse sarebbe il caso di trattare anche questo...

Un puntatore è nient'altro che una variabile che contiene un indirizzo in memoria, di una variabile o una funzione, si tratta comunque di un indirizzo.

In mShell è possibile far contenere a una variabile l'indirizzo di una funzione (ma non di una variabile, non chiedetemi perchè).

Un esempio veloce:

function somma(primo,secondo)
return a+b;
end;

function differenza(primo,secondo)
return a-b;
end;

"scegli cosa vuoi fare" // sarebbe da implementare il codice per la scelta ma mi secca
"inserisci a e b" // sarebbe da scrivere anche questo

if scelta=1 then pFunc=&somma end;
if scelta=2 then pFunc=&differenza end;

print pFunc(a,b);

Questo è un utilizzo molto stupido dei puntatori a funzione, però in generale può avere utilità anche fondamentali.

Un esempio, mettiamo caso qualcuno crei una classe per creare figure geometriche, e voglia lasciare la libertà al programmatore di decidere come implementare la funzione per stampare gli oggetti. In questo caso il programmatore si ritrova già tutta la classe bell'e fatta e deve soltanto preoccuparsi di realizzare una funzione, che poi passerà come parametro al costruttore della classe, la quale saprà quale funzione chiamare per stampare gli oggetti...

Mi viene questo esempio, ma ce ne potrebbero essere anche molti altri, se lento o qualcun altro ha qualcos'altro in mente o un esempio migliore che lo scriva pure, magari riusciamo a essere più chiari e poi metto tutto nella guida ;)

ps. Dovremmo anche parlare di classi astratte... ;) quante cose e quanto poco tempo a disposizione!!!

Edited by masmil1988
Link to comment
Share on other sites

Uhm, manca effettivamente qualcosa a riguardo nella guida e forse sarebbe il caso di trattare anche questo...

'masmil1988' se vuoi fare un opera di bene.....Dovresti spiegarci come si gestisce la tastiera e gli schermi tattili con i nuovi nokia

N97 e 5800.

Vedo che sul sito ufficiale nessuno risponde alla domanda di 'Nik_7' e personalmente trovandomi meglio con E71 non me la sento

di passare giornate intere a sperimentare, per capire come funziona il tutto.

Se hai già affrontato il problema potresti aiutare parecchi adoratori di mShell ( di sicuro due!.)

Grazie in tutti i casi.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...

Important Information

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy