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:

fortlaufend-nummerierte $Variabeln

 
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
SILENT-da



Anmeldungsdatum: 20.05.2008
Beiträge: 2

BeitragVerfasst am: 20.05.2008, 23:28    Titel: fortlaufend-nummerierte $Variabeln Antworten mit Zitat

Hallo,
..folgendes Problem beschäftigt mich jetzt schon seit Tagen:

Ich habe mehrere Zeilen, welche ich nacheinander darstellen möchte
(a la Matrix-Code zwinkern

Code:

line01$ = "X      X              X          X"
line02$ = "X      X                       X   "
line03$ = "   X              X       X        "
'usw.


mein Problem ist jetzt das ich keine Lust habe tausende von PRINT-Zeilen zu erstellen in denen ich immer eine 'Line' dazuschreibe (..wäre ziemlich viel)
Statt dessen würde ich gerne mit einer Schleife und Counter arbeiten, jedoch tritt jetzt folgendes Problem auf:
- Wie lasse ich die fortlaufende Nummer inmitten der $Variable -LineXX$ ansteigen / bzw. abfallen?

Ich habe es schon SINNGEMÄß zwinkern wie folgt probiert:
Code:

schleife:
counter% = 01
line$ = "line" + counter% + "$"
PRINT line$
counter% = counter% + 1
GOTO schleife


Die Frage ist jetzt: Wie bekomme ich den Counter als Teil des Namens der Line-Variabel eingefügt?
Bei den Varianten, die mir eingefallen sind hat QBasic mir dann immer den Text (Bsp.) "Line01$" geschrieben..

Vielleicht hat jemand eine Idee und kann mir da etwas weiterhelfen
Danke schonmal! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 20.05.2008, 23:36    Titel: Antworten mit Zitat

Die variablen Variablen sind ein Dauerbrenner happy

Unter QBASIC und FreeBASIC bekommst du die gar nicht hin, aber bei dem, was ich bis jetzt von deinem Programm mitbekommen habe, würde ich stattdessen ein Array verwenden:

Code:
DIM line$(1 TO 99)
line$(1) = "X      X              X          X"
line$(2) = "X      X                       X   "
line$(3) = "   X              X       X        "
' usw. usf.

FOR i=1 TO 99
  PRINT line$(i)
NEXT


Was anderes: Wenn du das Ding schon Schleife nennst, kannst du statt des GOTO auch gleich ein Schleifen-Konstrukt (DO oder FOR) verwenden. zwinkern
_________________
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
SILENT-da



Anmeldungsdatum: 20.05.2008
Beiträge: 2

BeitragVerfasst am: 21.05.2008, 10:45    Titel: Antworten mit Zitat

hm'.. das mit dem Array klingt logisch lächeln
- werd ich gleich mal ausprobieren!

DANKE!, für die schnelle Antwort..


Das mit der Schleife is klar, ..ich hatte das bloß aus dem Stehgreif mal schnell zum Nachvollziehen so hingeschrieben zwinkern

*Grüße



Edit:

WUNDERBAR! - Das Array funktioniert! happy
- jetzt steh ich zwar vor nem weiteren Problemchen, aber das hat nichts direkt hiermit zu tun, ..somit erledigt.
Nochmals DANKE!

Hier die Lösung:

Code:

DIM line$(-48 TO 0)

line$(0) = ""
line$(-1) = "x    x     x x  x x   x  "
line$(-2) = " xXXX      xxx xxxx  "
line$(-3) = " x       x           x      "
'usw...

FOR i% = -48 TO -1   '48 Lines insgesamt
'
        IF i% <> -48 GOTO partB
'
partA:
        CLS
        PRINT line$(i%)
        inline$ = line$(i%)
        GOTO ahead
'
partB:
        inline$ = line$(i%) + inline$
        CLS
        PRINT inline$
'
ahead:
NEXT


..natürlich muss man hier und da noch ein, zwei Pausen/Verzögerungen einbauen damit der Code nicht grade so runter prasselt zwinkern
(hab ich mit dem TIMER gelöst..)

*Gruß

- closed -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 21.05.2008, 18:48    Titel: Antworten mit Zitat

Diverse solche Thematiken werden sonst unter

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Anfaengerfehler.html

gehandhabt.

@SILENT-da: Für solche Konstrukte ist sonst READ und DATA empfehlenswert oder sogar das Einlesen ab externer Textdatei. Vielleicht als Gegenfrage: Wird die "X"-Belegung von Dir von Hand erstellt oder könnte das Ganze nach einem bestimmten Algorithmus sogar berechnet werden?
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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