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:

Koordinatensystem umschreiben

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



Anmeldungsdatum: 27.02.2009
Beiträge: 5

BeitragVerfasst am: 27.02.2009, 10:03    Titel: Koordinatensystem umschreiben Antworten mit Zitat

ich habe das Problem ich will ein einfaches Koordinatensystem, aber ich finde nur ein Tutorial für Qbasic, ich brauch es aber in Freebasic

ich bin soweit gekommen und ich hänge kann mir wer helfen?

Code:
Dim xmin as single , ymin as single , xmax as single , ymax as single , lx as single , ly as single


Input "xmin? ",xmin 
Input "ymin ?",ymin
Input "xmax ?",xmax
Input "ymax ?",ymax
Screen 12
color 16
Window (xmin , ymin) - (xmax , ymax)



sub achsenkreuz (x1 , y1 , x2 ,  y2)
Line (x1 , 0) - (x2 , 0)
Line (0 , y1 ) - (0 , y2)
lx = 5* (x2 -x1) /640
ly = 5* (y2-y1) /480
For x= int (x1)to int (x2 - 0.4) : Line (x , -ly) - (x , ly) : Next x
For y= int (y1)to int (y2 - 0.4) : Line (-1x , y) - (1x , y) : Next y
End Sub

Sub gitter (x1 , y1 , x2 ,  y2)
    For x=int (x1) to int (x2)
        For y=int (y1) to int (y2)
            Pset (x,y)
        Next y
    Next x
End Sub
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 27.02.2009, 10:28    Titel: Antworten mit Zitat

Datei Hellseher.exe wurde nicht gefunden.
Falsche Ausgabe? Fehlermeldung?

Allerdings mußt Du in FreeBasic alle Variablen DIMen. Hast Du bei x und y wohl vergessen.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.


Zuletzt bearbeitet von Elektronix am 27.02.2009, 10:31, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Shibby



Anmeldungsdatum: 27.02.2009
Beiträge: 5

BeitragVerfasst am: 27.02.2009, 10:29    Titel: Antworten mit Zitat

ja dieser code ist für Qbasic ich brauch es für freebasic ich muss alles mit Dim binden und es geht nicht

version 0.4.6

[img]http://img12.imageshack.us/my.php?image=fehlerb.jpg[/img]


Zuletzt bearbeitet von Shibby am 27.02.2009, 10:35, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 27.02.2009, 10:35    Titel: Antworten mit Zitat

Ich wiederhole:
Datei Hellseher.exe wurde nicht gefunden.
Falsche Ausgabe? Fehlermeldung?

Was passiert denn, wenn Du die Subs mal aufrufst? Findet nämlich in Deinem Code nicht statt.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Shibby



Anmeldungsdatum: 27.02.2009
Beiträge: 5

BeitragVerfasst am: 27.02.2009, 10:41    Titel: Antworten mit Zitat

ich hab dir das bild hochgeladen da siehst du die Fehlermeldung

mein Problem ist das ich dieses für Qbasic ich aber mit Freebasic doch erst alle Befehle bestimmen muss die bei Qbasic schon fest bestimmt sind oder nicht?

Elektronix hat Folgendes geschrieben:
Allerdings mußt Du in FreeBasic alle Variablen DIMen. Hast Du bei x und y wohl vergessen.


kannst du mir dafür den Befehl geben?


Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 27.02.2009, 10:52    Titel: Antworten mit Zitat

Shibby hat Folgendes geschrieben:
ich muss alles mit Dim binden

Dann mach das doch einmal.
Code:
Dim xmin as single , ymin as single , xmax as single , ymax as single
Dim Shared lx as single , ly as single


Input "xmin? ",xmin
Input "ymin ?",ymin
Input "xmax ?",xmax
Input "ymax ?",ymax
Screen 12
color 16
Window (xmin , ymin) - (xmax , ymax)



sub achsenkreuz (x1 as single, y1 as single, x2 as single,  y2 as single)
Dim x as integer, y as integer
Line (x1 , 0) - (x2 , 0)
Line (0 , y1 ) - (0 , y2)
lx = 5* (x2 -x1) /640
ly = 5* (y2-y1) /480
For x= int (x1)to int (x2 - 0.4) : Line (x , -ly) - (x , ly) : Next x
For y= int (y1)to int (y2 - 0.4) : Line (-lx , y) - (lx , y) : Next y
End Sub

Sub gitter (x1 as single, y1 as single, x2 as single,  y2 as single)
    Dim x as integer, y as integer
    For x=int (x1) to int (x2)
        For y=int (y1) to int (y2)
            Pset (x,y)
        Next y
    Next x
End Sub

Beachte Zeile 2: lx und ly verwendest du später in der SUB, deswegen musst du sie mit DIM SHARED deklarieren (sonst ist sie nur im Hauptprogramm gültig).
Am Ende der SUB achsenkreuz hattest du übrigens einen Tippfehler: 1x statt lx.
_________________
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
Shibby



Anmeldungsdatum: 27.02.2009
Beiträge: 5

BeitragVerfasst am: 27.02.2009, 10:58    Titel: Antworten mit Zitat

danke aber ich sehe es nicht nur einen schwarzen bildschirm

es sieht bei mir immer so aus egal was ich als zahlen werte eingebe woran kann das liegen?

[/img]


Zuletzt bearbeitet von Shibby am 27.02.2009, 11:00, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 27.02.2009, 11:00    Titel: Antworten mit Zitat

Weil Du, wie schon gesagt(!), die Subs gitter() und achsenkreuz() zwar implementiert hast, aber nicht aufrufst- zumindest nicht in dem Code, den Du gepostet hast.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Shibby



Anmeldungsdatum: 27.02.2009
Beiträge: 5

BeitragVerfasst am: 27.02.2009, 11:01    Titel: Antworten mit Zitat

und wie wäre der Code dazu, damit die Subs gehen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 27.02.2009, 11:09    Titel: Antworten mit Zitat

Wie hast Du es denn früher bei QBasic gemacht? Genau so läuft es auch bei FreeBasic:

Zuerst mal müssen die Subs deklariert werden:
Code:
Declare Sub achenkreuz (x1 as single, y1 as single, x2 as single, y2 as single)

Der Aufruf:
Code:

(...)

SCREEN 12
COLOR 16
WINDOW (xmin , ymin) - (xmax , ymax)
DIM as single x1, y1, x2, y

achsenkreuz (x1, y1, x2, y2)
gitter(x1, x2, y1, y2)
(...)

_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 27.02.2009, 11:12    Titel: Antworten mit Zitat

Vielleicht
Code:
achsenkreuz xmin, ymin, xmax, ymax
gitter xmin, ymin, xmax, ymax

? Ich würde allerdings empfehlen, nicht COLOR 16 zu nehmen, das ist seehr dunkel.
_________________
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
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. 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