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:

PUT Beispiel mit Fehler

 
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
Löwenherz



Anmeldungsdatum: 25.08.2008
Beiträge: 86
Wohnort: auf einer sonnigen Insel :)

BeitragVerfasst am: 27.07.2009, 18:37    Titel: PUT Beispiel mit Fehler Antworten mit Zitat

hallo alle miteinander,

ich würde mir gerne das PUT Beispiel von der FB Help Datei anschauen, aber mit Line 39 bekomme ich Probleme... (static cnt) kann jemand helfen? Dürfte sich nur um ein kleineres Problem handeln. Habe schon herumgebastelt, aber mich verzettelt und noch mehr Fehler verursacht.

Code:
Declare Function checkered_blend( BYVAL src   As UInteger, _
                                  ByVal dest  As UInteger, _
                                  ByVal param As Any Ptr ) AS UInteger

Screen 14, 16                                      ' Bildschirmmodus 320x240 bei 16bpp

Dim As Byte Ptr sprite                             ' Speicher für ein 32x32-Pixel-
sprite = ImageCreate( 32, 32 )                     ' Sprite reservieren

Line sprite, (  0,  0 )-( 31, 31 ), &HFF0000, BF   ' ein Sprite Zeichnen
Line sprite, (  0,  0 )-( 31, 31 ), &H00FF00, B
Line sprite, (  8,  8 )-( 23, 23 ), &HFF00FF, BF
Line sprite, (  1,  1 )-( 30, 30 ), &H0000FF
Line sprite, ( 30,  1 )-(  1, 30 ), &H0000FF

Dim As Integer i
For i = 0 To 63                                    ' Einen Hintergrund zeichnen
  Line( i, 0 )-( i, 240 ), RGB( i * 4, i * 4, i * 4 )
Next i

' Alle Methoden demonstrieren
Put     (   8,  8 ), sprite, PSET                     : Locate  3,12 : Print "PSET"
Put Step(  16, 24 ), sprite, PRESET                   : Locate  6,12 : Print "PRESET"
Put Step( -16, 24 ), sprite, AND                      : Locate  9,12 : Print "AND"
Put Step(  16, 24 ), sprite, OR                       : Locate 12,12 : Print "OR"
Put Step( -16, 24 ), sprite, XOR                      : Locate 15,12 : Print "XOR"
Put Step(  16, 24 ), sprite, TRANS                    : Locate 18,12 : Print "TRANS"
Put Step( -16, 24 ), sprite, ALPHA, 96                : Locate 21,12 : Print "ALPHA"
Put Step(  16, 24 ), sprite, ADD, 192                 : Locate 24,12 : Print "ADD"
Put Step( -16, 24 ), sprite, CUSTOM, @checkered_blend : Locate 27,12 : Print "CUSTOM"

ImageDestroy( sprite )                             ' Speicher wieder freigeben
Sleep : End 0

' Benutzerdefinierter Blender: Karierte Ausgabe des Sprites
Function checkered_blend( ByVal src   As UInteger, _
                          ByVal dest  As UInteger, _
                          ByVal param As Any Ptr ) As UInteger
   Static cnt
   Dim As UInteger pixel = IIF(((cnt And 4)ShR 2) XOR ((cnt And 128) ShR 7), src, dest)
   cnt += 1
   Return pixel
End Function



sonnige Grüße, löwenherz
_________________
Das Leben ist wie eine Pralinenschachtel, man weiß nie, was dort drinnen für tolle wie böse Überraschungen stecken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
tim.vogt



Anmeldungsdatum: 01.03.2009
Beiträge: 56

BeitragVerfasst am: 27.07.2009, 18:45    Titel: Antworten mit Zitat

Statics können doch eig. garnicht verändert werden... ?
_________________
"Nichts ist wahrhaftig und alles ist erlaubt."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



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

BeitragVerfasst am: 27.07.2009, 18:53    Titel: Antworten mit Zitat

Doch. Sie werden nur nach dem Funktionsaufruf gespeichert und für den nächsten Funktionsaufruf aufgehoben.
_________________
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
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 27.07.2009, 20:21    Titel: Antworten mit Zitat

Code:
Statt:
Static cnt

Soll dort stehen:
static cnt as integer


Der Beispielcode schaut bei mir überhaupt leicht anders aus.
Siehe http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgPutgraphics
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
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