AMIGA-RESISTANCE

Die Projektseite für alles rund um den Amiga
Aktuelle Zeit: 19 Apr 2024, 11:24

Alle Zeiten sind UTC


 

 

 



Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: p_GetObject... und p_SetObject...
BeitragVerfasst: 15 Mär 2009, 00:53 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1393
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Als ich am Programm KoKa herumbastelte, deklarierte ich immer mehr
ScuiObjekte und der der Code wurde länger, länger und länger.

In der Zwischenzeit haben sich 50 ScuiObjekte angesammelt,
6000 Zeilen Code gestapelt, wovon alleine fast 800 den Funktionen

p_GetObjectEnable()
p_GetObjectVisible()
p_GetObjectState()

und

p_SetObjectEnable()
p_SetObjectVisible()
p_SetObjectState()

zuzuschreiben sind. Darum war es mein Ziel, einerseits die Ein- und
Ausgabe einheitlich zu gestalten (mit On und Off) sowie anhand der
Funktionsnamen einen schnellen Überblick schon nach den ersten
paar Zeichen der Zeile zu haben.

Ein Einsatz von Scui.MultiSet() kommt leider nicht in Frage, denn auf
einem langsamen Amigasytem (den Originalen mit einem 680x0) muss
immer wieder bei vielen Objekten der Status, Sichtbar- und/oder
Wählbarkeit abgefragt werden, damit der User nicht warten muss,
bis mehrere Objekte bis zu drei mal frisch auf den Bildschirm
gezeichnet werden.

Das liegt daran, dass viele Objekte doppelt bis drei mal belegt sind und
somit bis zu sechs verschiedene Aufgaben zu erledigen haben.

Bitte beachtet bei den Codebeispielen, dass wenn ihr mehrere Funktionen
brauchen wollt, natürlich nur einmal im Programm die Variablen On und Off
deklariert werden müssen.

Griessli
Tipsi


Nach oben
   
BeitragVerfasst: 17 Mär 2009, 11:22 
Offline
Holly-Wooder
Benutzeravatar

Registriert: 01 Feb 2008, 10:47
Beiträge: 355
Postleitzahl: 1109
Land: Deutschland
Wohnort: Dresden
Hey Tipsi,


wow, das ist wirklich sehr schön und nützlich! Und erstklassig dokumentiert, super! Vielen Dank dafür!!!

Einzig p_SetObjectState() gefällt mir aus didaktischen Gründen nicht so, aber das ist sicher Geschmackssache. Mir ist die Funktion zu überladen, d.h. z.B. man erkennt am Namen nicht, das mehrere, aber nicht alle ScuiObjekte damit verändert werden können. Mir ist klar, dass das die wichtigsten Objekte für Koka sind, deswegen verstehe ich, dass Du das so gemacht hast. :-) Aber rein didaktisch würde ich entweder alle Objekte damit behandeln oder eben für jeden Objektstatus eine eigene Methode. Aber wie gesagt, ist sicher Geschmackssache.
Die anderen Methoden werde ich aber sicher benutzen.

Vielleicht sollte man den Code gleich in eine hws stecken, die man dann einfach included? Also ich meine, dass Du/wir so eine hws hier direkt zum Download anbieten könnten!?

Ach ja, danke für Deine Koka-Mail. War für ein paar Tage nicht am Computer, habe Fabio erstmal alles weitergeleitet. Sieht auf alle Fälle alles sehr cool aus! Gute Arbeit!

Gruß
Clyde

_________________
[ img ]
CD32 + SX1; AmiKit (WinUAE) + OS3.9


Nach oben
   
BeitragVerfasst: 17 Mär 2009, 18:51 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
Ja auf Koka bin ich auch schon gespannt, hier berichten einige ja nur gutes.
Die Idee mit include hws finde ich nicht schlecht, selbst wenn man nicht alle Funktionen benötigt.

Das Zeichnen der Objekte in der Scuilib 6 ist in der Tat für nackte Amigas nicht so optimal, mal abwarten auf 07.
Kann man mit Objektgruppen nicht den Redraw verhindern/verbessern ?
Flackert die Scuilibdemo denn auch ?

viele Grüße und malsehn


Nach oben
   
BeitragVerfasst: 18 Mär 2009, 10:30 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1393
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Clyde hat geschrieben:

Einzig p_SetObjectState() gefällt mir aus didaktischen Gründen nicht so, aber das ist sicher Geschmackssache. Mir ist die Funktion zu überladen, d.h. z.B. man erkennt am Namen nicht, das mehrere, aber nicht alle ScuiObjekte damit verändert werden können.
Ja, eigentlich wollte ich irgendwann mal alle ScuiObjekte,
die ihren Zustand verändern können, in die Funktion
p_SetObjectState verpacken. Ich wollte eben alles irgendwie
einheitlich ansprechbar gestalten (On/Off oder Ganzzahl), damit
man nicht für jedes Objekt einen Befehl auswendig lernen muss
(vor allem dann, wenn ich ihn nur einmal oder so brauche).
Zitat:
Vielleicht sollte man den Code gleich in eine hws stecken, die man dann einfach included? Also ich meine, dass Du/wir so eine hws hier direkt zum Download anbieten könnten!?
Die Idee mit der Includedatei finde ich auch gut. Es sind ja
nicht tausende von Funktionen, daher spielt es keine Rolle,
ob jemand nur zwei oder alle braucht. Aber gebt mir noch
Zeit, da einige Funktionen noch Fehlen und dokumentiert
werden müssen. Aber es gibt da ein Faktor, der das massiv
hinauszögern kann: Die Sonne scheint und ich brauch
Bewegung. :)
Zitat:
Ach ja, danke für Deine Koka-Mail. War für ein paar Tage nicht am Computer, habe Fabio erstmal alles weitergeleitet.
Ich habe ja in der Zwischenzeit bereits die Rückmail von Dir/Fabio
erhalten. Vielen Dank für die Hilfe. :D

Griessli
Tipsi


Nach oben
   
BeitragVerfasst: 18 Mär 2009, 12:33 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1393
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Ich habe die Dokumentation von SetObjectState noch
folgendermassen ergänzt:

Stringbox kann auch abgewählt werden (Off)

Bei Switch und SimpleScroller werden keine Funktionen wie OnChanged,
OnDrag oder OnChange ausgeführt. Bei einer Stringbox hingegen werden
OnClick, OnExit oder OnChanged abgearbeitet.

Griessli
Tipsi


Nach oben
   
BeitragVerfasst: 23 Mär 2009, 14:31 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1393
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Ich habe noch den p_SetObjectState umschreiben und bei
den Code Snipes ersetzen müssen, da beim Aufruf von einem
SimpleScroller zurecht Hollywood ein Fehler aufgedeckt hat. :(

In der Zwischenzeit bin ich dem Wunsch nachgegangen, aus
den Funktionen eine Include Datei zu schreiben. Jetzt arbeite
ich am Feinschliff der Dokumentation. Also habt noch ein klein
wenig Geduld.

Griessli
Tipsi


Nach oben
   
BeitragVerfasst: 29 Mär 2009, 12:22 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1393
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Hhhmm, aus dem Feinschliff wurde ein Dateiverlust. :cry: Da ja bekanntlich
regelmässige Backups nur etwas für Feiglinge ist :lol: und ich im schriftlichen
Bereich auch noch pingelig bin :| , geht es einfach länger. :(

Und somit muss ich Euch immer noch um Geduld bitten.

Griessli
Tipsi


PS:
Der Dateiverlust habe ich verschuldet, mal ausnahmsweise nicht
der Compi, obwohl ich ihn in diesem Moment aus dem Fenster schieben
wollte.


Nach oben
   
BeitragVerfasst: 02 Apr 2009, 17:49 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5304
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Hi Tipsi

Das ist bitter, sowas wirft einen immer ein ganzes Stück zurück.
Und wo du das hier schreibst, fällt mir ein, das ich auch schon länger keine Sicherung mehr von meinen Sachen für die Webseiten und anderen Daten gemacht habe.
Mal bei Gelegenheit wieder machen bevor es zum Supergau kommt.

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu: 

cron