|
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 |
Steffen
Anmeldungsdatum: 14.12.2016 Beiträge: 2
|
Verfasst am: 14.12.2016, 20:16 Titel: Problem mit window-Anweisung |
|
|
Die window-Anweisung
window (x1!,y1!)-(x2!,y2!)
verursacht ständig die Fehlermeldung "unzulässiger Funktionsaufruf".
Die angegebenen Fehlerbeispiele treffen nicht zu.
Es geht nur um Texteingabe und -ausgabe, keine Grafikdarstellung. Verschiedene Syntax habe ich auch versucht.
Bsp. kann auch geliefert werden.
Hat jemand eine Idee, wo der Fehler liegen kann?
Danke Steffen |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1212 Wohnort: Ruhrpott
|
Verfasst am: 15.12.2016, 02:04 Titel: |
|
|
Hallo Steffen und willkommen im Forum!
Der WINDOW - Befehl funktioniert nur in Verbindung mit einem Grafikmodus, und natürlich müssen auch die angegebenen Koordinaten darstellbare Werte enthalten: Code: | SCREEN 12
x1! = 10
y1! = 10
x2! = 100
y2! = 100
WINDOW (x1!, y1!)-(x2!, y2!) |
Für den Textmodus gibt es den Befehl VIEW PRINT, mit dem allerdings nur die obere und die untere Zeile festgelegt werden können, nicht die linke und rechte Spalte. QB ist da leider nicht sehr komfortabel.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 15.12.2016, 17:18 Titel: |
|
|
Zitat: | Der WINDOW - Befehl funktioniert nur in Verbindung mit einem Grafikmodus, und natürlich müssen auch die angegebenen Koordinaten darstellbare Werte enthalten: |
Was meinst du mit darstellbare Werte? Mit WINDOW kann man sein eigenes Koordinatensystem erstellen. Die Anweisung
Code: |
WINDOW (10, 10) - (100, 100)
|
bedeutet das alles was gezeichnet wird nur in diesem Bereich abgebildet wird. Der Fensterursprung beginnt bei 10, 10 (in der linken unteren ecke) und endet bei 100, 100 in der rechten oberen ecke. Mit der Anweisung
Code: |
WINDOW SCREEN (10, 10) - (100, 100)
|
steigen die positiven Y-Werte von oben nach unten.
WINDOW, in Verbindung mit VIEW, eignet sich z.B. sehr gut um Grafen zu zeichnen.
Beispiel:
Code: |
SCREEN 12
WINDOW (-3.2!, 3.2)-(3.2, -3.2)
VIEW (320, 0)-(639, 239), 7, 8
LINE (0!, -3!)-(0!, 3!), 14
LINE (-3.0, 0!)-(3.0, 0!), 4
WINDOW 'eigenes koordinaten system ausschalten
LINE (10, 10) - (100, 100), 2
VIEW 'viewport ausschalten
LINE (10, 10) - (100, 100), 2
SLEEP
|
Ok, ich hab jetzt zwar nur die Achse gezeichnet, aber ich glaube es macht die Funktionsweise deutlich.Siehe Referenz
Steffen, wenn du im Textmodus das willst was man z.B. unter Turbo Pascal/FreePascal kennt, dann musst du dir das selber bauen. |
|
Nach oben |
|
|
Steffen
Anmeldungsdatum: 14.12.2016 Beiträge: 2
|
Verfasst am: 15.12.2016, 18:37 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Hallo Steffen und willkommen im Forum!
Der WINDOW - Befehl funktioniert nur in Verbindung mit einem Grafikmodus, und natürlich müssen auch die angegebenen Koordinaten darstellbare Werte enthalten: Code: | SCREEN 12
x1! = 10
y1! = 10
x2! = 100
y2! = 100
WINDOW (x1!, y1!)-(x2!, y2!) |
Für den Textmodus gibt es den Befehl VIEW PRINT, mit dem allerdings nur die obere und die untere Zeile festgelegt werden können, nicht die linke und rechte Spalte. QB ist da leider nicht sehr komfortabel.
Gruß
grindstone |
Danke für die Antwort. Leider stellt sie mich nicht ganz zufrieden.
Ich habe vor ca. 25 Jahren QB programmiert. Damals hatte ich 31 Zeilen
und 39 Spalten und meine erste Programmzeile war immer:
window 0,31,0,39:color 15,0:cls - löschte den gesamten Bildschirm.
Danach konnte jedes x-beliebige Fenster definiert werden. Ich kann mir nicht vorstellen, dass das heute nicht mehr gehen soll.
Vielleicht kennst du aber für folgendes eine Alternative:
color 15,0:cls
width 80,50:screen 0
color 15,4:cls:name1$="Steffen"
for x=5 to 10:for y=20 to 45
locate x,y" ":next y,x
locate 6,11:?"Mein Name ist: ";name1$
end
Das funktioniert ja, ist aber sehr umständlich, das muss einfacher gehen.
Vielleicht fällt dir ja was ein.
so long Steffen |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1212 Wohnort: Ruhrpott
|
Verfasst am: 15.12.2016, 23:34 Titel: |
|
|
Es gibt verschiedene Versionen von QB, ich kenne nur den seinerzeit mit Windows mitgelieferten Interpreter (Version 1.1). Vielleicht kann dir einer der anderen User weiterhelfen. Ansonsten sieh dir einmal freeBasic (das wäre meine Empfehlung) oder QB64 an.
@Elor:
Mit "darstellbar" meinte ich, daß den Variablen x1!, y1! usw. sinnvolle Werte zugewiesen werden müssen. Code: | WINDOW (x1!, y1!)-(x2!, y2!) | ohne eine solche Zuweisung entspricht Code: | WINDOW (0, 0)-(0, 0) | und das gibt eine Fehlermeldung.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 16.12.2016, 11:57 Titel: |
|
|
grindstone hat Folgendes geschrieben: | @Elor:
Mit "darstellbar" meinte ich, daß den Variablen x1!, y1! usw. sinnvolle Werte zugewiesen werden müssen. |
Ach so meinst du das, klar, insbesondere wenn man variable verwendet und vergisst die zu initialisieren.
@Steffen:
Ich kenne auch kein QB mit dem man mit WINDOW Fensterln konnte. Das einzige BASIC das ich kenne mit man mit WINDOW 8 Fenster verwalten konnte war das Schneider BASIC (das war so ein Heim Computer, ähnlich wie Atari oder C64).
Falls es unbedingt QB sein muss, geh mal hier in die QB-MonsterFAQ, die findest du unter Tutorials. Da sind, soweit ich mich erinnern kann, ein paar Ansätze zur Fensterverwaltung drin. |
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 17.12.2016, 17:13 Titel: |
|
|
Hi,
wenn du mal nach "window 0,31,0,39" googels findet man 7 Hinweise, alle auf das KC85 Basic.
Kein Link auf QB, verwechselst du da etwas? _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
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.
|
|