Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Grey Fox
Anmeldungsdatum: 16.02.2005 Beiträge: 13
|
Verfasst am: 16.02.2005, 09:10 Titel: Probleme mit einer Case Abfrage |
|
|
Hallo!
1. Frage
Also ich habe Beispielsweise folgenden Code
Aber wenn dann eigentlich die Tastenabfrage kommen soll bzw. kommt.
Dann muss anscheinend die Variable zahler% die ganze Zeit zwischen 0 und 1 springen!
Es muss an der Fallunterscheidung liegen... aber eigentlich sind die Funktionen richtig.
Zitat: | CLS
PRINT ""
PRINT "II"
PRINT ""
SLEEP
CLS
PRINT ""
PRINT "II"
PRINT ""
Fall1$ = "IErste möglichkeitI"
Fall2$ = "IZweite möglichkeitI"
Some$ = "II"
menuezahl% = 2
DO
SELECT CASE INKEY$
CASE CHR$(0) + "P"
IF zahler% < menuezahl% - 1 THEN zahler% = zahler% + 1 ELSE zahler% = 0
CASE CHR$(0) + "H"
IF zahler% > 0 THEN zahler% = zahler% - 1 ELSE zahler% = menuezahl% - 1
CASE CHR$(13): EXIT DO
END SELECT
IF zahler% = 0 THEN :
LOCATE 7:
COLOR 15, 4:
PRINT Fall1$:
COLOR 7, 0:
PRINT Fall2$:
PRINT Some$:
IF zahler% = 1 THEN :
LOCATE 7:
COLOR 7, 0:
PRINT Fall1$:
COLOR 15, 4:
PRINT Fall2$:
COLOR 7, 0:
PRINT Some$:
LOOP
IF zahler% = 0 THEN END
IF zahler% = 1 THEN END
|
2. Frage
Will mit CHAIN die Kontrolle einen anderen Programm übergeben.
Wollte aber die Variablen die ich definiert habe mit in das andere Prog übernehmen!
Wollte die aber nicht mithilfe einer Auslagerungsdatei machen sondern direkt im Arbeitsspeicher.
Soweit ich aber weiß werden die im Arbeitsspeicher gespeicherten Variablen jedoch nach Beendigung eines Programms wieder überschrieben!
Gibt es also eine sichere Adresse wo die Variablen auch nach beendigung eines Programms erhalten bleiben?
Bye |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
Grey Fox
Anmeldungsdatum: 16.02.2005 Beiträge: 13
|
Verfasst am: 16.02.2005, 10:53 Titel: |
|
|
Die Globalen Variablen Funktionieren aber nicht unter CHAIN!!!
Grund CHAIN ruft ein anderes Programm auf!
Das heißt mit CHAIN wird die Funktion deines Hauptprogramms eingestellt
Variablen die als COMMON Deklariert sind können nur von Haupt-Programm zu Unterprogramm usw. übergeben werden!
Oder lieg ich da jetzt falsch!!! |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
Grey Fox
Anmeldungsdatum: 16.02.2005 Beiträge: 13
|
Verfasst am: 16.02.2005, 11:11 Titel: |
|
|
Ob COMMON oder SHARED ist doch eigentlich egal!
Es kommt auf das selbe hinaus die Variable ist und kann dann nicht mehr verfügbar sein weil nur solange das Hauptprogramm, wo die Variable deklariert wurden ist, aktiv ist, bleibt sie im Arbeitsspeicher |
|
Nach oben |
|
 |
Grey Fox
Anmeldungsdatum: 16.02.2005 Beiträge: 13
|
Verfasst am: 16.02.2005, 11:58 Titel: |
|
|
Also Frage 1 hab ich jetzt selber gelöst!
Mal abgesehen davon das ich das END IF vergessen habe
Zitat: |
IF zahler% = 0 THEN :
LOCATE 7:
COLOR 15, 4:
PRINT Fall1$:
COLOR 7, 0:
PRINT Fall2$:
PRINT Some$:
IF zahler% = 1 THEN :
LOCATE 7:
COLOR 7, 0:
PRINT Fall1$:
COLOR 15, 4:
PRINT Fall2$:
COLOR 7, 0:
PRINT Some$:
LOOP
|
Es lag so komisch das auch klingt einzig und allein an der anordnung den Tab abstand usw. die Blöcke sahen vorher so aus:
Vorher:
__IF ... THEN:
____Anweisung:
____ELSEIF...THEN:
______Anweisung:
________ELSE:
__________END IF:
Nacher:
__IF...THEN
____Anweisung
__ELSEIF...THEN
____Anweisung
__ELSE
____Anweisung
__END IF
Ich habe nur die : weggelassen und die Block Anordnung anders gesetzt!
und Jetzt zählt LOOP auch wieder und DO wird wieder erkannt.
Seltsam  |
|
Nach oben |
|
 |
|