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:

Problem mit window-Anweisung

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



Anmeldungsdatum: 14.12.2016
Beiträge: 2

BeitragVerfasst am: 14.12.2016, 20:16    Titel: Problem mit window-Anweisung Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 699
Wohnort: Ruhrpott

BeitragVerfasst am: 15.12.2016, 02:04    Titel: Antworten mit Zitat

Hallo Steffen und willkommen im Forum! lächeln

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
Benutzer-Profile anzeigen Private Nachricht senden
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 201
Wohnort: Konstanz

BeitragVerfasst am: 15.12.2016, 17:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Steffen



Anmeldungsdatum: 14.12.2016
Beiträge: 2

BeitragVerfasst am: 15.12.2016, 18:37    Titel: Antworten mit Zitat

grindstone hat Folgendes geschrieben:
Hallo Steffen und willkommen im Forum! lächeln

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,yverwundert" ":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
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 699
Wohnort: Ruhrpott

BeitragVerfasst am: 15.12.2016, 23:34    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 201
Wohnort: Konstanz

BeitragVerfasst am: 16.12.2016, 11:57    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1841
Wohnort: D59192

BeitragVerfasst am: 17.12.2016, 17:13    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht 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 -> Allgemeine Fragen zu QBasic. 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