Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Verständnisfrage zum Pulldownmenü

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
plan_los



Anmeldungsdatum: 28.12.2013
Beiträge: 4

BeitragVerfasst am: 07.01.2014, 11:48    Titel: Verständnisfrage zum Pulldownmenü Antworten mit Zitat

Hallo,

ich habe mir mal das Pulldownmenü aus dem MonsterFAQ angeschaut.
Zwei Sachen daraus verstehe ich nicht ganz, evtl. kann sie mir jemand genauer erklären, was da abläuft.

1.
Code:
RESTORE daten:
i = 1
DO
READ m$
IF m$ = "ende" THEN EXIT DO
menue$(i) = " " + LEFT$(m$ + SPACE$(br), br - 1)
i = i + 1
LOOP UNTIL menue$(i - 1) = "ende"
anz = i - 1


Was ich nicht verstehe ist: Wenn ich im Menü den Punkt "ende" erreicht habe, soll die DO schleife sofort beendet werden. Somit würde das Programm bei anz=i-1 weitermachen.
Warum spring er dann trotzdem wieder nach oben ins Pulldownmenü und geht nicht einen zurück (da i-1)?

Den zweiten Abschnitt, den ich nicht ganz kapiere ist Folgender:

Code:
FOR k% = 0 TO anz + 1
retten$(k%) = ""
FOR l% = 0 TO br + 1
r% = SCREEN(ze + k%, sp + l%)
retten$(k%) = retten$(k%) + CHR$(r%)
NEXT l%
NEXT k%


In diesem Abschnitt stehe ich völlig auf dem Schlauch. Was wird in der ersten Schleife und was in der zweiten Schleife gemacht?

Danke für eure Hilfe
Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4672
Wohnort: ~/

BeitragVerfasst am: 07.01.2014, 17:20    Titel: Antworten mit Zitat

Zu 1) beim EXIT DO wird sofort die Schleife verlassen; bis zum LOOP UNTIL ... kommt er dann gar nicht mehr (letztendlich könnte da also auch einfach nur ein LOOP stehen). Es geht in der letzten Zeile des Code-Ausschnitts weiter.

Zu 2) SCREEN liest das ASCII-Zeichen aus, das sich an der Stelle (Zeile/Spalte) auf dem Bildschirm befindet. Zuerst wird die gespeichert Bildschirmzeile (retten$(k%)) geleert, dann alle Zeichen der Zeile ausgelessen und (wieder in retten$(k%)) gespeichert. Dass Array enthält also am Ende den Textinhalt des Bildschirms.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
plan_los



Anmeldungsdatum: 28.12.2013
Beiträge: 4

BeitragVerfasst am: 07.01.2014, 23:39    Titel: Antworten mit Zitat

Ahhhh, jetzt kommt Licht ins Dunkle.
Ich hatte hauptsächlich den zweiten Part nicht verstanden, aber nun ist es klar, vielen Dank Daumen rauf!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz