 |
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 |
Shibby
Anmeldungsdatum: 27.02.2009 Beiträge: 5
|
Verfasst am: 27.02.2009, 10:03 Titel: Koordinatensystem umschreiben |
|
|
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 |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 27.02.2009, 10:28 Titel: |
|
|
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 |
|
 |
Shibby
Anmeldungsdatum: 27.02.2009 Beiträge: 5
|
Verfasst am: 27.02.2009, 10:29 Titel: |
|
|
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 |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 27.02.2009, 10:35 Titel: |
|
|
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 |
|
 |
Shibby
Anmeldungsdatum: 27.02.2009 Beiträge: 5
|
Verfasst am: 27.02.2009, 10:41 Titel: |
|
|
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 |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 27.02.2009, 10:52 Titel: |
|
|
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 |
|
 |
Shibby
Anmeldungsdatum: 27.02.2009 Beiträge: 5
|
Verfasst am: 27.02.2009, 10:58 Titel: |
|
|
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 |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 27.02.2009, 11:00 Titel: |
|
|
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 |
|
 |
Shibby
Anmeldungsdatum: 27.02.2009 Beiträge: 5
|
Verfasst am: 27.02.2009, 11:01 Titel: |
|
|
und wie wäre der Code dazu, damit die Subs gehen |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 27.02.2009, 11:09 Titel: |
|
|
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 |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 27.02.2009, 11:12 Titel: |
|
|
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 |
|
 |
|
|
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.
|
|