 |
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 |
Jet X gesperrt

Anmeldungsdatum: 05.01.2005 Beiträge: 447
|
Verfasst am: 06.03.2005, 16:33 Titel: Brauche noch mal Hilfe .... |
|
|
Code: | CLS
Print " Jet X Systems "
PRINT " Was wollen sie tun ? "
Print " Start "
Print " Info "
PRINT " Ende " |
Nun soll man eingeben was man tun will !
Wenn man Start Eingibt kommt ein Text : Noch in Arbeit
Wenn man Info Eingibt kommt ein Text : By Tobias Thiel in 2005
Wenn man Ende Eingibt Beendet sich das Programm !
Könnt ihr mir Helfen ? _________________ Courage ist gut, aber Ausdauer ist besser. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 06.03.2005, 16:47 Titel: |
|
|
Hallo.
Entweder machst du ein schönes mit den Pfeiltasten steuerbares Menü oder du nimmst Zahlen bzw. Buchstaben.
Ich geh jetzt mal von Zahlen aus.
Code: | DO
CLS: PRINT "Was willst du?"
PRINT "(1) Banane"
PRINT "(2) Telefon"
PRINT "(3) Schnee"
PRINT "(4) Ende"
INPUT "Deine Auswahl: ", z$
IF LEN(z$) <> 1 OR ASC(z$)<49 OR ASC(z$) >52 THEN
'Falls Quatsch eingegeben, nochmal!
PRINT "Ungültige Auswahl!"
SLEEP
ELSE
EXIT DO
END IF
LOOP
SELECT CASE VAL(z$)
CASE 1: PRINT "Warum ist die Banane krumm?"
CASE 2: PRINT "Tüdelü, tüdelü"
CASE 3: PRINT "Es schneit!"
CASE 4: END
END SELECT |
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 06.03.2005, 21:20 Titel: |
|
|
Versuch mal das:
Code: |
PRINT
PRINT " MENÜ"
PRINT
PRINT "(1) Menüpunkt 1"
PRINT "(2) Menüpunkt 2"
PRINT "(3) Beenden"
DO
A$ = INPUT$(1)
SELECT CASE A$
CASE "1"
PRINT "Menüpunkt 1"
CASE "2"
PRINT "Menüpunkt 2"
CASE "3"
END
END SELECT
LOOP
|
Guck mal in die Monster-FAQ, da steht alles drin
jb |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 07.03.2005, 20:15 Titel: |
|
|
Irgendwie geht das viel einfach als meine Vorgänger erklärt haben
Hier ist meine Version:
Code: |
CLS
Print " Jet X Systems "
INPUT" Was wollen sie tun ? ", x
IF x = "start" THEN PRINT "Noch in Arbeit"
IF x = "info" THEN PRINT "By Thobias Thiel in 2005"
IF x = "ende" THEN END
|
Man könnte aber auch schreiben
Code: |
Print " Jet X Systems "
PRINT "Geben sie 1 für INFO ein"
INPUT "Geben sie ihre Kennziffer ein", x
IF x = "1" THEN PRINT "By Thobias Thiel in 2005"
|
Das dann natürlich auch für die beiden anderen Unterpunkte!
dk  _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 07.03.2005, 21:16 Titel: |
|
|
Für solche Eingabemasken hab ich mal ne praktische Sub geschrieben:
Is ziemlich viel Quelltext, aber sehr praktisch, wie ich finde!
Der einzige Nachteil ist, dass es eher auf SCREEN 0 ausgelegt ist, und für Grafikmodi eher schlecht einsetzbar ist.
Anwendung:
Man Dimensioniert ein Feld, in dem alle Menüpunkte gespeichert sind, z.B.:
Code: |
DIM e$(2)
e$(0) = "Starten"
e$(1) = "Infos"
e$(2) = "Ende"
|
Wichtig ist, dass das Feld mit dem Index 0 beginnt.
Der Aufruf erfolgt dann mit dem Parameter o (oder einer anderen Variable), in der dann der Index der Gewählten Option zurückgegeben wird.
Wenn in diesem Beispiel also "Infos" gewählt wird, gibt o 1 zurück.
Bedient wird mit den Pfeiltasten, ENTER und PgUp/Dn.
Code: |
SUB Chose (o, e$())
u = UBOUND(e$) - 1
SELECT CASE u
CASE IS <= 15
FOR l = 1 TO 15
LOCATE l + 6, 1
PRINT SPACE$(80)
NEXT
FOR i = 0 TO u
LOCATE i + 7, 5
PRINT e$(i)
NEXT
o = 1
DO
z = o + 6
LOCATE z, 2
PRINT "*"
k$ = INKEY$
SELECT CASE k$
CASE CHR$(27)
END
CASE CHR$(0) + "H"
LOCATE z, 2
PRINT " "
o = o - 1
IF o < 1 THEN o = u + 1
CASE CHR$(0) + "P"
LOCATE z, 2
PRINT " "
o = o + 1
IF o > u + 1 THEN o = 1
END SELECT
LOOP UNTIL k$ = CHR$(13)
CASE IS > 15
s = 1
o = 1
DO
FOR l = 1 TO 15
LOCATE l + 6, 1
PRINT SPACE$(80)
NEXT
z = o + 6 - (s - 1) * 15
LOCATE z, 2
PRINT "*"
FOR i = (s - 1) * 15 TO s * 15 - 1
LOCATE i + 7 - (s - 1) * 15, 5
IF i <= u THEN PRINT e$(i) ELSE PRINT SPACE$(75)
NEXT
DO
k$ = INKEY$
LOOP WHILE k$ = ""
SELECT CASE k$
CASE CHR$(27)
END
CASE CHR$(0) + "H"
LOCATE z, 2
PRINT " "
o = o - 1
IF o = (s - 1) * 15 THEN s = s - 1
IF s = 0 THEN s = 1
IF o = 0 THEN o = 1
CASE CHR$(0) + "P"
LOCATE z, 2
PRINT " "
o = o + 1
IF o > u + 1 THEN o = u + 1
IF o = s * 15 + 1 THEN s = s + 1
IF u / 15 = INT(u / 15) THEN
IF s > u / 15 THEN s = u / 15
ELSE
IF s > (u / 15) + 1 THEN s = (u / 15) + 1
END IF
CASE CHR$(0) + "I"
LOCATE z, 2
PRINT " "
s = s - 1
o = o - 15
IF o < 1 THEN o = 1
IF s = 0 THEN s = 1
CASE CHR$(0) + "Q"
LOCATE z, 2
PRINT " "
s = s + 1
o = o + 15
IF o > u + 1 THEN o = u + 1
IF u / 15 = INT(u / 15) THEN
IF s > u / 15 THEN s = u / 15
ELSE
IF s > (u / 15) + 1 THEN s = (u / 15) + 1
END IF
END SELECT
LOOP UNTIL k$ = CHR$(13)
END SELECT
o = o - 1
END SUB
|
Viel Spaß damit! _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 07.03.2005, 21:27 Titel: |
|
|
Devilkevin hat Folgendes geschrieben: |
Irgendwie geht das viel einfach als meine Vorgänger erklärt haben
Hier ist meine Version:
Code: |
CLS
Print " Jet X Systems "
INPUT" Was wollen sie tun ? ", x
IF x = "start" THEN PRINT "Noch in Arbeit"
IF x = "info" THEN PRINT "By Thobias Thiel in 2005"
IF x = "ende" THEN END
|
|
Was ist jetzt daran einfacher (oder anders) als vorher?
Zum ersten sieht man die Eingabe, man muss Enter zur Bestätigung
drücken, und einen ganzen Text (z.B. "info" eingeben, wobei Groß/Kleinschreibung und vorangehende Blanks nicht berücksichtigt werden, und zum anderen finde ich es umständlich, immer IF ... THEN ...
zu schreiben. Ein SELECT CASE ist da (jedenfalls meiner Meinung nach )
sinnvoller...
jb |
|
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.
|
|