################################################ ### ### ####### Menutauscher ####### ### ### ####### ####### ### (c) 2008 Team Sokobana ### ####### http://forum.pocketnavigation.de ####### ### http://www.varioskin.de ### ################################################ ############################################################ ### Anwendung auf eigene Gefahr und ohne Gewährleistung! ### ### Dieses Programm unterliegt den Rechten der ### ###Creative Commons Attribut Non-Commercial Share Alike 3### ### Lizenz. Genaue Angaben finden Sie beiliegend ### ### in der Datei Lizenz_VarioSkin3.txt ### ############################################################ # -------------------------------------------------------------------- # nach einem Script von hsuelzen # Version 1.2 # # Änderung am 14.09.07: Txt-file mit den Namen erzeugen, wenn nicht vorhanden # Änderung am 03.10.07: Verbesserte Abfrage eingebaut # Änderung am 10.11.07: Umstellung auf INI-Datei # Änderung am 20.06.09: Umstellung der gesamten Struktur (Panik) # Änderung am 20.04.10: Umstellung der gesamten Struktur (Athos) # -------------------------------------------------------------------- ErrorLevel ("warn") #Variablen Global( ZipDateien,backupfolder, AuswahlMenuPunkte ,gopal_on,menu_on,backupmenu,wahlzahl ) Global() menuefolder = "\My Flash Disk\Navigation\menu\" backupfolder = "\Storage Card\BackupV3\Menu\" StatusListEntryFormat( 20,15, Arial ) StatusType( ST_LIST ,0,0 ) StatusInfo( "Menütauscher" , "Status des Wechsels" ) If (argv[1] eq "restore") Call restore else Call Tauscher EndIf call reset sub restore Global( ZipDateien,backupfolder, AuswahlMenuPunkte ,gopal_on,menu_on,backupmenu,wahlzahl ) backupmenu = IniRead ("\Storage Card\BackupV3\user.ini","Menu","AktuellesMenu") Call scan_backupfolder Call Auswahlmenubelegen wahlzahl = 0 j = MaxIndex( AuswahlMenuPunkte ) For i = 1 to j If (AuswahlMenuPunkte[i] eq backupmenu) wahlzahl = i EndIf If (AuswahlMenuPunkte[i] eq "Sokobana") sokobana = i EndIf next If (wahlzahl = 0) wahlzahl = sokobana EndIf Call Menuauswahl Call startbedingungwiederherstellen StatusMessage( "Fertig" ,ST_LIST ,0,0 ) StatusShow() sleep (1000) endsub sub Tauscher Call scan_backupfolder Call Auswahlmenubelegen Call hauptmenu Call startbedingungwiederherstellen StatusMessage( "Fertig" ,ST_LIST ,0,0 ) StatusShow() sleep (3000) endsub sub startumgebung Global( ZipDateien,backupfolder, AuswahlMenuPunkte ,gopal_on,menu_on ) If WndExists ("GoPal Navigator") gopal_on = 1 Else EndIf If WndActive ("GoPal Navigator") gopal_on = 2 Else EndIf If ( WndExists ( "Menu" )) menu_on = 1 ErrorLevel ("off") StatusMessage( "Menü beenden" ,ST_LIST ,0,0 ) StatusShow() Kill ("Setting.exe") Close ( "Menu" ) StatusMessageAppend( " OK" ) StatusShow() sleep (1000) EndIf endsub sub startbedingungwiederherstellen Global( ZipDateien,backupfolder, AuswahlMenuPunkte ,gopal_on,menu_on ) If (menu_on = 1) StatusMessage( "Menü Starten" ,ST_LIST ,0,0 ) Run ("\My Flash Disk\Sokobana\MortScript\menufromgopal.exe") StatusMessageAppend( " OK" ) StatusShow() sleep (1000) EndIf If (gopal_on = 1) If (menu_on = 1) Sleep (5000) EndIf Show ("GoPal Navigator") EndIf endsub Sub scan_backupfolder Global(ZipDateien,backupfolder) i = 1 ForEach file in files(backupfolder \ "\*.*") If (ToLower(FileExt(file)) eq ".zip") If (Find(ToLower(FileBase(file)), "menu_", 1 ) > 0) ZipDateien [i][1] = file ZipDateien [i][2] = FileBase(file) i = i + 1 else EndIf else EndIf EndForEach endsub sub Auswahlmenubelegen Global( ZipDateien, AuswahlMenuPunkte) i = 1 j = MaxIndex( ZipDateien ) For i = 1 to j x = Length (ZipDateien [i][2] ) x = x - 5 text = SubStr( ZipDateien [i][2], 6, x ) text = Replace(text , "_", " ") x = Length( text ) AuswahlMenuPunkte [i] = text Next i = (MaxIndex( AuswahlMenuPunkte )) + 1 # AuswahlMenuPunkte[i] = ("Neues Menü anlegen") # i = i + 1 # AuswahlMenuPunkte[i] = ("Sonderoptionen") # i = i + 1 AuswahlMenuPunkte[i] = ("Abbruch") endsub sub hauptmenu Global( ZipDateien, AuswahlMenuPunkte,wahlzahl) SetChoiceEntryFormat( 26,18, Arial ) # SleepMessage( 2 , text , text ,0 ) i = (MaxIndex( AuswahlMenuPunkte )) wahlzahl = Choice("Startmenue-Auswahl", "Bitte wählen Sie aus den vorhandenen Startmenüs aus:" , i , 30 , AuswahlMenuPunkte ) If (wahlzahl = 0) Call endeabbruch EndIf Switch( i-wahlzahl ) Case( 0 ) Call endeabbruch # Case( 1 ) # Call Sonderoptionen # Case( 2 ) # Call NeuesMenu Default Call Menuauswahl EndSwitch endsub sub Menuauswahl Global( ZipDateien, AuswahlMenuPunkte,wahlzahl) If (Question( "Möchten Sie das Menü^NL^"&AuswahlMenuPunkte[wahlzahl]&"^NL^aktivieren?^NL^Das alte Menü wird deinstalliert!","Menüwechsel?","YesNo" )) # Run( "\My Flash Disk\Sokobana\MortScript2\MortScript.exe", """\My Flash Disk\Sokobana\MortScript2\warten.mscr" & """ zeit=60 schrift=30 okerl=0 text=_______Bitte_warten_Sie.^NL^^NL^Menü_wird_aktiviert" ) Call startumgebung If (fileExists("\My Flash Disk\navigation\menu\480272\menuuninstall.mscr")) StatusMessage( "Altes Menü deinstallieren" ,ST_LIST ,0,0 ) StatusShow() CallScript ("\My Flash Disk\navigation\menu\480272\menuuninstall.mscr") StatusMessageAppend( " OK" ) StatusShow() sleep (1000) EndIf StatusMessage( "Alten Ordner leeren" ,ST_LIST ,0,0 ) StatusShow() DelTree( "\My Flash Disk\navigation\menu\480272") StatusMessageAppend( " OK" ) StatusShow() sleep (1000) StatusMessage( "Neues Menü entpacken" ,ST_LIST ,0,0 ) StatusShow() UnzipAll(backupfolder\ZipDateien[wahlzahl][1],"\\") StatusMessageAppend( " OK" ) StatusShow() sleep (1000) If (fileExists("\My Flash Disk\navigation\menu\480272\menuinstall.mscr")) StatusMessage( "Neues Menü installieren" ,ST_LIST ,0,0 ) StatusShow() CallScript ("\My Flash Disk\navigation\menu\480272\menuinstall.mscr") StatusMessageAppend( " OK" ) StatusShow() sleep (1000) EndIf IniWrite ("\Storage Card\BackupV3\user.ini","Menu","AktuellesMenu",AuswahlMenuPunkte[wahlzahl]) EndIf endsub sub reset SetChoiceEntryFormat( 38,32, Arial ) res = Choice("Reset", "Soll ein Softreset durchgführt werden?^NL^(empfohlen)" , 1 , 10 , "Reset durchführen","kein Reset" ) if (res = "1") reset endif endsub sub endeabbruch message("Sie brachen die Auswahl ab", "Menütauscher - Ende") Exit endsub Exit