Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
co??? Funcia sa vola: funkcia(parametre); Bolo by dobre precitat si najprv nejake zaklady C :)
MM.. 08.07.2010 18:03
MM..
Asi jsem to trošku blbě zformuloval. Dělám něco jako menu a nechci to dělat "natvrdo". Chci mít naps…
marekdrtic 08.07.2010 18:10
marekdrtic
Ak by nahodou PIC prekladac nevedel poiuntre na fcie, tak potom nejak napevno: menu[] = {"otvorit","…
MM.. 08.07.2010 18:29
MM..
OK, díky. Ten druhý způsob se mi zdá taky jednodušší. Snažím se šetřit místem, moc ho na to PICu nen…
marekdrtic 08.07.2010 18:38
marekdrtic
K tomu prekladacu je aj manual mikroc_manual.pdf mas tam aj kapitolu "Function pointers" P.S. ktory… poslední
MM.. 08.07.2010 18:42
MM..

Asi jsem to trošku blbě zformuloval. Dělám něco jako menu a nechci to dělat "natvrdo". Chci mít napsány všechny položky v menu v nějakém poli (nazvěme ho třeba array), které bude vypadat takhle:
{"menu1","menu2","menu3"}
To se vypíše na displej. Potom tam budou tlačítka a bude se měnit pozice kurzoru nad jednotlivými položkami. Aktuální pozice kurzoru bude uložena v proměnné "hover". A potom potřebuju funkci, která mi zavolá funkci s názvem array[hover]. V PHP by to mohlo vypadat třeba takhle:

//parametry, které se mění v závislosti na situaci
$i = "foo";
$a = "bar";
//Potřebuju zavolat funkci s názvem "funkce".$i.$a:
call_user_func("funkce".$i.$a,array(parametry...));

Ak by nahodou PIC prekladac nevedel poiuntre na fcie, tak potom nejak napevno:
menu[] = {"otvorit","zavret","konec"};
#define MENU1_FN Otvorit
#define MENU2_FN Zavret
#define MENU3_FN Konec

a potom:
if(idx==0) MENU1_FN();
else if(idx==1) MENU2_FN();
else MENU3_FN();

Tento sposob je jednoduchsi pre prekladac (ak by nezvladol tie pointre na funkcie).

Zpět do poradny Odpovědět na původní otázku Nahoru