Hej,
Jeg er i gang med at redigere et programs menu, så hvis man går ud af et undermenu, og ind igen så skulle vi gerne være i den samme mappe.
Programmet har et enum som den sætter current_menu lig med når man er inde i en undermenu:
- enum {
- MENU_BACK = -1,
- ..
- BROWSE = 0x10,
- BROWSE_VIDEO,
- ..
- OSD = 0x20,
- };
Det jeg prøver er at gemme mappens sti i en 2D char array, samt current_menu i en alm integer array, når man går ud af undermenuen:
- if (ExitKnap == true) {
- sti[current_menu][2048] = hent_sti(mappe);
- undermenu[current_menu] = current_menu;
- current_menu = MENU_BACK;
- }
Så næste gang man går ind i den undermenu så er vi tilbage i samme mappe:
- if (undermenu([current_menu]) == current_menu) {
- start_mappe(sti[current_menu][2048], root);
- } else [
- start_mappe("/", root);
- }
Også til problemet, hvis jeg går ind i undermenu "A" og mappe "1", går ud af undermenu "A", ind i udermenu "B", så er man i mappe "1". Hvis man derefter fra "B" går ind i mappe "2" og ud, og ind i "A", så er vi i "2" osv. Mine arrays ser sådan ud:
- static char* sti[64][2048];
- static int undermappe[64];
Jeg har prøvet at lave en funktion der caster:
- int fkt(int var) {
- if {(var = (int)0x10) { return 1 }
- if {(var = (int)0x11) { return 2 }
- if {(var = (int)0x12) { return 3 }
- if {(var = (int)0x13) { return 4 }
- }
Men det har ikke hjulpet. Hvis der er mere der skal smides op, så sig til, så kan jeg smide et sammendrag op på pastebin eller lign. Umiddelbart tror jeg der er noget galt med mine arrays, da den må gemme stien samme sted.
Jeg takker på forhånd for hjælpen