Seite 2 von 3
Verfasst: 06.10.2004 15:25
von Lars
Eleganter wäre aber trotzdem:
Code: Alles auswählen
ForEach AniGad()
If AniGad()\id = id
ProcedureReturn AniGad()\Status ;reicht doch?!
EndIf
Next
Verfasst: 06.10.2004 19:41
von Mischa
Uuups!
Schon wieder soon Dummfug verzapft.
Ihr habt natürlich beide recht. Sorry.
Wie unachtsam. Das passiert immer mit Funktionen die ich noch
nicht getestet habe. Logisch. Sonst wärs wohl aufgefallen.
Vielen Dank!
Gruß,
Mischa
Verfasst: 06.10.2004 20:47
von Helmut
@Mischa
nee nee, das ist schon ein Top-Programm was du da gezaubert hast,
ob ausprobiert oder nicht, ich frage mich nur, wie ihr das so macht, wo nehmt ihr die Zeit her. Das kostet viel Gehirnschmalz, aber auch irre Zeit.
Was mache ich jetzt mit dem Wunsch alle Zustände des Teilesets abzufragen oder zusetzen?
Meine Idee ist als Teileset eine 7-segment-Anzeige (JPG) zu nehmen und die dann entsprechend des Set-Wertes anzeigen zulassen.
Ich bin noch nicht soweit, dein Programm verbessern zu können (Newbiee).
Vielen Dank
Helmut
Verfasst: 07.10.2004 21:18
von Helmut
@Mischa
ich habe das was ich mit den 7-segment Teileset gemeint habe mal hinterlegt:
http://www.home.foni.net/~helmutholm/Led_grundriss.zip
Alle Art von Anzeigen wären dann rel. einfach, wollte ich zB. "22 Grad"
darstellen müsste ich für die Zehnerstelle ein Set setzen und für die Einer-Stelle ein anderes Set mit setgadget stellen.
Wäre doch auch fein.
Vielen Dank für die Antwort
Helmut
Verfasst: 07.10.2004 22:09
von Mischa
Ok!
Jetzt begreif ichs langsam.
Du bekommst ja relativ einfach zugriff auf jedes AniGadget und
kannst die 'Offset-Daten' ja verändern:
Code: Alles auswählen
AniGadgetAccess(id)
AniGad()\state[#FG_NORMAL]\x = NeueroffsetX ;innerhalb des Quell-Images
AniGad()\state[#FG_NORMAL]\y = NeueroffsetY ;innerhalb des Quell-Images
AniGad()\act\newset=1 ;damit's beim nächsten AniGadgetEvent()-Aufruf aktualisiert wird
Das ließe sich innerhalb einer simplen Prozedur sicherlich auch
FORMELieren:
(26 ist die Breite Deiner Ziffern)
Sollst Du wohl hinbekommen.
Gruß,
Mischa
Verfasst: 09.10.2004 15:21
von Helmut
Code: Alles auswählen
AniGadgetAccess(38); Gadget-ID von der Anzeige
; 26 pixel ist das immage gross
AniGad()\state[#FG_NORMAL]\x=26*2 ; (0 -9)
AniGad()\act\newset=1 ;damit's beim nächsten AniGadgetEvent()-Aufruf aktualisiert wird
Mit dem Code kann ich es so aufrufen, wie ich es wollte, nur die Anzeige flackert, wird irgendwie immer auf einen anderen Zustand gesetzt, ich habe schon Delay`s gesetzt und mit "Debug AniGad()\state[#FG_NORMAL]\x" gearbeitet, der X-Wert hat den richtigen Wert, trotzdem flackert die Anzeige - es kommt immer ein anderer X-Wert ins Spiel, scheinbar, je nach Multiplikant des X-Wertes, habe aber auch schon feste Werte eingesetzt, kann aber nicht erkennen woran es liegt...

.
Anigadget
Verfasst: 13.01.2005 18:43
von kapege
Hallo Mischa,
ich befasse mich seit kurzem mit PureBasic und Anigadget.
Nun habe ich folgende Probleme: (blick noch nicht so ganz durch)
1. Kann man die Button's auch einstellen, das sie disabled but visible sind?
2. Wenn ein Button movable ist, kann man die Reihenfolge (Layer) bestimmen? mal ist er dann vor/hinter einen anderen Button.
3. Wie geht es, wenn man Transparent-Modus einschaltet, das kein flackern ensteht?
z.B.:
Bild2.ANIGADGETDATA
Bild2\x = 660
Bild2\y = 400
Bild2\w = 120
Bild2\h = 40
Bild2\media\image\adress = ?bild2
Bild2\media\image\size = ?bild3-?Bild2
Bild2\state[#FG_NORMAL]\transparent = 1
Bild2\state[#FG_NORMAL]\color = 1
AniGadget(9,0,Bild2)
4. Ich habe keine Möglichkeit mit anderen PureBasic-Befehlen auf diese Fenster bzw. Bildschirm zuzugreifen, z.B. via GrabSprite ein Foto zu machen.
Ich habe die OnError-Routine eingeschaltet und bekomme die Fehler-Meldung:
Description: An attemped read or write to/from an adress to wich that processed isn't allowed Line:16777215
Liegt das daran, dass Du das alles mit WIN32 bearbeitest?
wäre toll wenn Du mir dabei helfen könntest.
Ich finde dieses Programm sehr gut, und wäre auch bereit eine DOKU zu schreiben allerdings nur in Deutsch.
Könntest Du vielleicht den Satzaufbau der PAG-Datei veröffentlichen.
Damit würde ich gut zurechtkommen. Ausserdem kann man dann auch die moveabled Button dort wieder reinschreiben, damit es gespeichert bleibt.
mfg
Peter
Verfasst: 13.01.2005 23:04
von NicTheQuick
Schalte mal in den Projekt-Optionen die OnError-Unterstützung ein. Dann sollte zumindest mal die Zeile angezeigt werden, in der der Fehler auftritt.
Verfasst: 15.01.2005 16:32
von kapege
@NicTheQuick
ich habe die OnError Routine in der Anigaget_Include Datei eingeschaltet.
wie beschrieben der Fehler unter Punkt 4.
In der Projekt-Einstellung habe ich es noch nicht probiert, werde es aber machen.
Aber die Zeile ist in jedem Fall beim Aufruf: GrabSprite(...)
Gruß
Peter
Re: Anigadget
Verfasst: 16.01.2005 14:38
von Mischa
1. Kann man die Button's auch einstellen, das sie disabled but visible sind?
Nein, aber Du mußt die 'Events' ja nicht auswerten.
Ignoriere die entsprechenden Knöpfe doch einfach
zeitweilig.
2. Wenn ein Button movable ist, kann man die Reihenfolge (Layer) bestimmen? mal ist er dann vor/hinter einen anderen Button.
'Drawever' müßte Abhilfe verschaffen. Anzuwenden auf alle
betroffenen Buttons.
3. Wie geht es, wenn man Transparent-Modus einschaltet, das kein flackern ensteht?
Siehe Punkt 2
4. Ich habe keine Möglichkeit mit anderen PureBasic-Befehlen auf diese Fenster bzw. Bildschirm zuzugreifen, z.B. via GrabSprite ein Foto zu machen.
GrabSprite ist DirectX und nicht GDI, bzw Images, usw.
Ich habe die OnError-Routine eingeschaltet und bekomme die Fehler-Meldung:
Description: An attemped read or write to/from an adress to wich that processed isn't allowed Line:16777215
Liegt das daran, dass Du das alles mit WIN32 bearbeitest?
Das könnte eine Erklärungs sein.
Normale PB-ImageID kannst Du hier nicht erwarten.
wäre toll wenn Du mir dabei helfen könntest.
Ich finde dieses Programm sehr gut, und wäre auch bereit eine DOKU zu schreiben allerdings nur in Deutsch.
Könntest Du vielleicht den Satzaufbau der PAG-Datei veröffentlichen.
Damit würde ich gut zurechtkommen. Ausserdem kann man dann auch die moveabled Button dort wieder reinschreiben, damit es gespeichert bleibt.
Gute Idee. Habe selber nicht so wahnsinnig viel Zeit.
Kann Dir aber gerne mal den Designer-source zum durchfuchsen und
evtl nützlichen Änderungen Deinerseits zuschicken, wenn magst.
Gruß,
Mischa