 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Newbie01
Anmeldungsdatum: 16.02.2010 Beiträge: 12
|
Verfasst am: 18.02.2010, 14:59 Titel: |
|
|
So sieht mein Programm "Test.exe" zur Zeit aus :
Zitat: |
#lang "qb"
CONST n% = 19 ' Total 19 Optionen
DIM mp$(0 TO n% - 1)
FOR i% = 0 TO n% - 1
READ mp$(i%)
NEXT i%
DATA "-> 0,50 EUR", "-> 1 EUR", "-> 2 EUR", "-> 3 EUR", "-> 4 EUR", "-> 5 EUR", "-> 6 EUR", "-> 7 EUR"
DATA "-> 8 EUR", "-> 9 EUR", "-> 10 EUR", "-> 15 EUR", "-> 20 EUR", "-> 25 EUR", "-> 30 EUR", "-> 35 EUR"
DATA "-> 40 EUR", "-> 45 EUR", "-> 50 EUR"
SCREEN 20
Do
Color 7, 0
CLS
Locate 2, 10
Print "Bitte Einsatz waehlen :"
For i% = 0 TO n% - 1
LOCATE 4 + i%, 10
PRINT mp$(i%);
NEXT i%
a% = 10 'a% zeigt auf den Vorgabewert, in diesem
'Fall also auf mp$(10), d.h. 10 EUR
Do
COLOR 0, 7 'Wir muessen die "hervorgehoben"
'Farbkombination waehlen
LOCATE 4 + a%, 10 'und den Menuepunkt damit
PRINT mp$(a%); 'darstellen
DO
t$ = INKEY$ 'hier wird eine Taste abgefragt
LOOP WHILE t$ = ""
LOCATE 4 + a%, 10 ' wieder geloescht werden
COLOR 7, 0
PRINT mp$(a%);
SELECT CASE t$
Case CHR$(0) + "H" '=Cursor hoch (Tabelle!)
a% = (a% + n% - 1) MOD n%
Case CHR$(0) + "P" 'Dasselbe mit Cursor unten
a% = (a% + 1) MOD n%
END SELECT
LOOP UNTIL t$ = CHR$(13) 'Solange drinbleiben
Locate 5 + n%, 10
PRINT "Sie haben sich entschieden, "; mp$(a%); " hochzuladen."
Print
LOCATE 8 + n%, 10
PRINT "Spiel starten...[ENTER Taste druecken]"
Print
LOCATE 10 + n%, 10
Print "Einsatz neu eingeben...[beliebige Taste]"
Print
LOCATE 12 + n%, 10
Print "Beenden...[Esc]"
DO: taste$ = INKEY$: LOOP WHILE taste$ = ""
IF taste$ = CHR$(13) Then Shell "e:\spiele1\game.bat"
END
Loop
|
Und hier meine Batch Datei "Game.bat"
Zitat: |
copy c:\credits\5EUR\money.dat e:\spiele1\ 'Kopieren der vollen 5EUR Gelddatei im Spielordner
moneygame.exe 'Ausführen des Spiels (Anschliessend verlassen des Spiels mit Alt-F4)
mkdir "c:\Verlauf\5EUR %date% %time:~0,2%-%time:~3,2%-%time:~6,2%" 'Erzeugen eines Archivordners für die Gelddatei
copy e:\spiele1\money.dat "c:\Verlauf\5EUR %date% %time:~0,2%-%time:~3,2%-%time:~6,2%" 'Kopieren der Gelddatei vom Spielordner in das Archivordner
|
Die Batchdatei befindet sich im Spielordner. Wenn ich sie von da ausführe, werden alle 4 Anweisungen ohne Probleme in der Reihenfolge durchgeführt.
Wenn ich sie aber vom Test.exe Programm ausführe mit der
Shell "e:\spiele1\game.bat"
Anweisung, klappt es nicht und es kommt eine Meldung dass es eine ini Datei fehlt.
Wenn ich aber mit der Shell Anweisung das Spiel direkt starten will,
Shell "e:\spiele1\moneygame.exe",
erscheint eine speicherfehler Meldung "0x" auf "0x".
Und wenn ich moneygame.exe direkt im Spielorner anklicke, startet das Spiel Problemlos...
Freunde, was meint ihr dazu wie ich das alles lösen könnte ?
Bin ein wenig verzweifelt... |
|
Nach oben |
|
 |
Newbie01
Anmeldungsdatum: 16.02.2010 Beiträge: 12
|
Verfasst am: 18.02.2010, 16:23 Titel: |
|
|
Ich könnte auch das ganze in einer kleinen Batch Datei Programmieren und dort das Menü erstellen, leider wird der Befehl CHOICE von der cmd Console in WinXP nicht erkannt... |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.02.2010, 17:15 Titel: |
|
|
Das ist auch kein Befehl, sondern ein Programm. Aber eigentlich gibt es Choice sogar noch unter Windows 7, also machst du was falsch.
EDIT: Scheinbar lag das Programm zeitweise (Win2k/XP) nicht mehr bei Windows dabei, das heißt, du musst dir irgendwie anders die choice.com besorgen. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|