amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > nicht die farbe [ - Suche - Neue Beiträge - Registrieren - Login - ]

1 -2- [ - Beitrag schreiben - ]

14.07.2009, 09:58 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

> Dafür brauchst du einen Wert, der außerhalb des gültigen Bereichs liegt.

ah ja, ist logisch!


aber ich bin plötzlich trotz all meines wissens verunsichert. ist FALSE null oder 1? und in welchem include ist es definiert?

gruesse,
Andreas

--
e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]

14.07.2009, 10:55 Uhr

thomas
Posts: 7718
Nutzer
@AGSzabo:

FALSE = falsch = 0
TRUE = wahr = 1 (eigentlich alles ungleich 0)

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

14.07.2009, 13:47 Uhr

Flinx
Posts: 1073
Nutzer
Zitat:
Original von AGSzabo:
und in welchem include ist es definiert?


exec/types.h
In so einem Fall hilft eine Suche nach "#define TRUE" im Include-Pfad.

[ - Antworten - Zitieren - Direktlink - ]

14.07.2009, 22:09 Uhr

AGSzabo
Posts: 1663
Nutzer
@Flinx:

ich hatte das .i file (für assembler) gesucht, da stehts in types.i nicht drin.


noch eine frage bezüglich farben bewegt mich: wenn es maximal 256 verschiedene pens gibt, wie kann man bildinhalte mit mehr als 256 farben schaffen?

greez
Andreas
--
e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]

15.07.2009, 08:28 Uhr

thomas
Posts: 7718
Nutzer

Auf einem Screen mit 15/16 oder 24/32 Bits brauchst du nur einen Pen und änderst jeweils dessen Farbe mit SetRGB32.

Beispiel: http://thomas-rapp.homepage.t-online.de/download/truecolors.lha


Oder du arbeitest gar nicht mit Pens. Z.B. wenn du ein Bild mit Datatypes lädst, brauchst du dir um Pixelformate und Farben keine Gedanken zu machen. Du blittest einfach die Bitmap ins Fenster und alle Farben bleiben erhalten.

Beispiel: http://thomas-rapp.homepage.t-online.de/examples/dtwin.c


Oder du benutzt die Funktionen von Cybergraphics oder Picasso96. Damit kannst du entweder RGB-Arrays in die Bitmap kopieren oder direkt in die Bitmap schreiben.

Beispiel: http://thomas-rapp.homepage.t-online.de/examples/bgrbitmap.c

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

15.07.2009, 09:19 Uhr

Thore
Posts: 2266
Nutzer
In Assembler gibts keine boolschen Variablen, hier testest Du einfach auf 0.
Zum Beispiel mit cmp oder tst.
tst.l d0
beq False

Die Definition TRUE oder FALSE brauchst Du also nicht.

[ - Antworten - Zitieren - Direktlink - ]

15.07.2009, 10:09 Uhr

thomas
Posts: 7718
Nutzer
@Thore:

Und wenn du D0 füllen willst, was benutzt du dann ?

moveq.l #???,d0

Und die Frage nach dem Wert von TRUE und FALSE ist durchaus berechtigt. Woran soll man fest machen, ob man mit beq oder bne auf FALSE testet, wenn man die Werte nicht kennt ?

Die Frage war doch nicht nach dem Testen auf TRUE oder FALSE, sondern nach dem Wert, der in die Taglist gehört.

Übrigens gibt es in C auch keine boolschen Variablen. Eben deshalb ist ja alles ungelich 0 wahr.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

15.07.2009, 10:12 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

> Die Frage war doch nicht nach dem Testen auf TRUE oder FALSE, sondern nach dem Wert, der in die Taglist gehört.

ja genau :-)
--
e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]

15.07.2009, 12:30 Uhr

Thore
Posts: 2266
Nutzer
Ich würd das dann so machen:
Angenommen das Ergebnis von OBP ist in d0:

cmp.l #-1,d0
beq Error

Da OBP nicht TRUE oder FALSE zurückgibt, sondern -1 im Fehlerfalle, also $FFFFFFFF, ist das der Weg. FALSE ist $00000000 und von einem Byte-Wert nicht zu unterscheiden.

Oder gings um das OBP_FailIfBad? Da muss einfach irgendwas größer 0 drinstehen, wenn es TRUE sein soll...


[ Dieser Beitrag wurde von Thore am 15.07.2009 um 12:32 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

15.07.2009, 12:44 Uhr

AGSzabo
Posts: 1663
Nutzer
@Thore:

>Oder gings um das OBP_FailIfBad? Da muss einfach irgendwas größer 0 drinstehen, wenn es TRUE sein soll...

oder kleiner...
--
e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]

15.07.2009, 12:52 Uhr

Thore
Posts: 2266
Nutzer
@AGSzabo:
stimmt...

[ - Antworten - Zitieren - Direktlink - ]


1 -2- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > nicht die farbe [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.