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:

Drawbefehl richtige Syntax?

 
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
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 22.04.2011, 16:44    Titel: Drawbefehl richtige Syntax? Antworten mit Zitat

Folgende Zeile schluckt mein FB nicht:

Code:
Draw "C=" + VarPtr$(coli) + "S=" + VarPtr$(gros) + "BM=" + VarPtr$(bmx) + ",=" + VarPtr$(bmy)


Als Fehlermeldung kommt immer wieder:

Code:
error 21: Type mismatch, found '+'
error 55: Type mismatch, at parameter 2


Irgendwie mag der das + nicht?
Verwende den Freebasic editor 1.0.7.6c sowie dem Compiler 0.21.1

Mit freundlichen Grüßen
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 22.04.2011, 17:10    Titel: Antworten mit Zitat

Gibt VARPTR nicht eine Zahl (nämlich die Pointer-Adresse) zurück? Vielleicht meinst du STR? VARPTR scheint mir hier nicht sinnvoll anwendbar zu sein.

Das "=" kenne ich bei DRAW auch nicht. Vorstellen könnte ich mir folgendes:
Code:
DRAW "C" + STR(coli) + "S" + STR(gros) + "BM" + STR(bmx) + "," + STR(bmy)

oder kürzer
Code:
DRAW "C" & coli & "S" & gros & "BM" & bmx & "," & bmy


edit: ich sehe jetzt, wo du das VARPTR$ her hast. Das bringt dir nur etwas im Zusammenspiel mit dem DRAW-Befehl "X". Habe ich aber noch nie gebraucht. Wie auch immer, mit + wirst du einen String nicht mit einer Zahl (und das ist es unter FreeBASIC) verknüpfen können.
_________________
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
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 22.04.2011, 17:39    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Gibt VARPTR nicht eine Zahl (nämlich die Pointer-Adresse) zurück? Vielleicht meinst du STR? VARPTR scheint mir hier nicht sinnvoll anwendbar zu sein.

Das "=" kenne ich bei DRAW auch nicht. Vorstellen könnte ich mir folgendes:
Code:
DRAW "C" + STR(coli) + "S" + STR(gros) + "BM" + STR(bmx) + "," + STR(bmy)

oder kürzer
Code:
DRAW "C" & coli & "S" & gros & "BM" & bmx & "," & bmy


edit: ich sehe jetzt, wo du das VARPTR$ her hast. Das bringt dir nur etwas im Zusammenspiel mit dem DRAW-Befehl "X". Habe ich aber noch nie gebraucht. Wie auch immer, mit + wirst du einen String nicht mit einer Zahl (und das ist es unter FreeBASIC) verknüpfen können.


Programm lässt sich jetzt zwar compilieren, aber die eingestellte Farbe wird nicht angezeigt. Sonst funktioniert alles.

Mit freundlichen Grüßen
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 22.04.2011, 18:02    Titel: Antworten mit Zitat

Prüfe mal, ob das mit der Farbe wirklich an DRAW liegt oder an der eingestellten Farbauflösung des Grafikfensters. Wenn dir
Code:
LINE (100, 100)-(200, 200), coli

die von dir gewünschte Farbe anzeigt, dann stimmt noch was mit dem DRAW-Befehl nicht (vielleicht mal statt DRAW ein PRINT verwenden und die Zeichenkette analysieren). Ansonsten verwendest du vermutlich bei SCREEN/SCREENRES indizierte Farben und als coli einen RGB-Farbwert, oder umgekehrt.
_________________
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
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 22.04.2011, 18:15    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Prüfe mal, ob das mit der Farbe wirklich an DRAW liegt oder an der eingestellten Farbauflösung des Grafikfensters. Wenn dir
Code:
LINE (100, 100)-(200, 200), coli

die von dir gewünschte Farbe anzeigt, dann stimmt noch was mit dem DRAW-Befehl nicht (vielleicht mal statt DRAW ein PRINT verwenden und die Zeichenkette analysieren). Ansonsten verwendest du vermutlich bei SCREEN/SCREENRES indizierte Farben und als coli einen RGB-Farbwert, oder umgekehrt.


Habe den Fehler gefunden! Es lag an Screenres.

Code:
Screenres 640, 480, 32
geht nicht
Code:
Screen 12
Width 80,60
geht
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 23.04.2011, 01:22    Titel: Antworten mit Zitat

screen 12 ohne sonstige parameter stellt ja auch den 16-farbenmodus ein, screenres 640,480,32 stellt den 32-bit-farbmodus ein...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
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 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