Veröffentlicht 4. August 200520 j Huhu... Situation: Zwei Rechner, uralt, MS-DOS, 2 Programme zur CNC-Steuerung drauf. Problem: Anwender dumm , können nicht exe-Datei angeben um Programm zu starten Frage: Wie kann man unter DOS ein Auswahlmenü erstellen, das so aussieht: 1. Erstes Programm starten 2. Zweites Programm starten Also im Win98 Bootdisketten-Style (1. Start Computer with CDROM-Support, 2. Start Computer without...) Am besten ist es wenn die Programme dann auch wirklich starten wenn man eine Auswahl getroffen hat ... Für alle Antworten schon mal im Vorraus danke... :mod:
4. August 200520 j Wenn Du es direkt nach dem Booten haben willst, würde ich tatsächlich ein MS-Dos-Bootmenü machen: [menu] menuitem=CNC1, Start des Steuerungsprogramms 1 menuitem=CNC2, Start des Steuerungsprogramms 2 menucolor=15,1 menudefault=CNC1, 10 [CNC1] (Hier steht dann CNC1-spezifisches, wenn vorhanden) [CNC2] (Hier steht dann CNC2-spezifisches, wenn vorhanden) [COMMON] (Hier stehen noch die gemeinsam benutzten Standardeinträge) (Hier stehen noch die gemeinsam benutzten Standardeinträge) :CNC1 cnc1.exe goto END :CNC2 cnc2.exe goto END :END Na wenn das jetzt mal funktioniert ...
4. August 200520 j oder Du schreibst ein QBASIC-Programm: do cls auswahl$="0" print "<1> erstes Programm" print "<2> zweites Programm" print "<q> beenden" input "Ihre Wahl";auswahl$ Select Case auswahl$ Case "1" shell("Befehl zum Starten des ersten Programms") case "2" shell("Befehl zum Starten des zweiten Programms") end select loop until auswahl$="q" end (ich hoffe ich hab keine Syntaxfehler reingebracht, konnte es nicht testen und das letzte BASIC-Programm is schon ne weile her) dies kannst Du aus der autoexec.bat mit dem Aufruf:qbasic /run:menu.bas starten, wenn du es menu.bas nennst und es im suchpfad ist. Solltest Du irgendwo noch nen QuickBASIC-Compiler auftreiben, kannst Du das natürlich auch zur exe-Datei umwandeln und so starten... Der große Vorteil dieser Lösung ist, dass das Menü nach beendigung eines Programmaufrufes von selbst wieder kommt und du nicht den rechner neustarten mußt um wieder an dein Menü zu kommen.
4. August 200520 j :uli Sehr schön... Das ist meine config.sys DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE RAM BUFFERS=15,0 FILES=30 DOS=UMB LASTDRIVE=E FCBS=4,0 DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE DOS=HIGH COUNTRY=049,850,C:\DOS\COUNTRY.SYS DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1) ...das meine autoexec.bat: LH /L:0;1,45968 /S C:\DOS\SMARTDRV.EXE /X @ECHO OFF PROMPT $p$g PATH C:\DOS SET TEMP=C:\DOS MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI) MODE CON CODEPAGE SELECT=850 LH /L:1,17232 KEYB GR,,C:\DOS\KEYBOARD.SYS cls Die Programme werden mit tx8d.bat und k432.bat (nicht exe wie oben gesagt) gestartet. Wäre dir sehr verbunden, wenn du mir mal die fertigen Dateien hier postest...
4. August 200520 j Also so schwer isses ja jetzt nicht Config.sys: [menu] menuitem=CNC1, Start des Steuerungsprogramms 1 menuitem=CNC2, Start des Steuerungsprogramms 2 menucolor=15,1 menudefault=CNC1, 10 [COMMON] DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE RAM BUFFERS=15,0 FILES=30 DOS=UMB LASTDRIVE=E FCBS=4,0 DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE DOS=HIGH COUNTRY=049,850,C:\DOS\COUNTRY.SYS DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1) Autoexec.bat: LH /L:0;1,45968 /S C:\DOS\SMARTDRV.EXE /X @ECHO OFF PROMPT $p$g PATH C:\DOS SET TEMP=C:\DOS MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI) MODE CON CODEPAGE SELECT=850 LH /L:1,17232 KEYB GR,,C:\DOS\KEYBOARD.SYS cls :CNC1 c: cd c:\cnc1 tx8d.bat goto END :CNC2 c: cd c:\cnc2 k432.bat goto END :END Edit: Achja, die Pfade zu den CNC-Steuerprogrammen (c:\cnc1, c:\cnc2) musst Du noch anpassen...
4. August 200520 j Das ist der leichteste Weg... [menu] menuitem=CNC1,Start des Steuerungsprogramms 1 menuitem=CNC2,Start des Steuerungsprogramms 2 menucolor=15,1 menudefault=CNC1,10 [COMMON] DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE RAM BUFFERS=15,0 FILES=30 DOS=UMB LASTDRIVE=E FCBS=4,0 DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE DOS=HIGH COUNTRY=049,850,C:\DOS\COUNTRY.SYS DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1) Bei dieser Version bringt er beim booten einen Fehler in Zeile 2 und 3, muss das CNC1 und CNC2 nicht nochmal definiert werden, wie in deiner ersten Version???
4. August 200520 j Hab mal ein bissl rumgespielt, ich hatte recht, so gehts: [menu] menuitem=cnc_eins, Starte eins menuitem=cnc_zwei, Starte zwei menucolor=15,1 menudefault=cnc_eins, 10 [cnc_eins] [cnc_zwei] [COMMON] DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE RAM BUFFERS=15,0 FILES=30 DOS=UMB LASTDRIVE=E FCBS=4,0 DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE DOS=HIGH COUNTRY=049,850,C:\DOS\COUNTRY.SYS DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1) Musste halt CNC1 und CNC2 definieren, obwohls da nix zu definieren gibt (oder so. :floet: )... Jetzt gehts auf jeden Fall, vielen Dank für die freundliche Unterstützung... :e@sy
18. April 200817 j 'ausgrabgrabgrab' Abend, das gute an dem fred, er bringt es so ziemlich genau auf den punkt, was auch ich gerne in die praxis umzusetzen versuchen würde, wäre da nicht dieses kürzel ms, welches mich in eine rechtliche grauzone drängen würde wonach ich nu echt, kein verlangen hab. Also liebe gemeinde der opensourcefraktion, würde sich das oben angewandte auch in fdos realisieren lassen (klar geht das, nur ... wie) mit der kleinen Abweichung: das die disk auch unabhängig von sonstigen vorinst. os ihr werk verrichtet. Alles wat hilft
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.