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

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

Erste << 44 45 46 47 48 -49- 50 51 52 53 54 >> Letzte Ergebnisse der Suche: 1858 Treffer (30 pro Seite)
Reth   Nutzer

13.12.2005, 08:53 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@whose:

Hi, sorry wollte Dir auf Deine Frage auch schon lang antworten:

Wenn Du z.B. mit Intuition arbeitest und Messages empfängst und auswertest, verwendest Du damit automatisch das Observer-Pattern.
 
Reth   Nutzer

11.12.2005, 21:16 Uhr

[ - Direktlink - ]
Thema: Restlaufzeitanzeige
Brett: Andere Systeme

@thomas:

Dennoch kenne ich zumindest keinen Laptop, der nicht zumindest eine Restlaufzeitanzeige in Form von %-Werten ausgibt.
Also scheint jmd. zu meinen, es wohl doch beurteilen zu können (mal abgeshen, wie genau das ist) und gibt dem Anwender den Hinweis, wann der Akku fast leer ist und neu geladen werden muss!

Wenn ich nun ne Zeitanzeige hab, die relativ zuverlässig ist, kann ich besser beurteilen, ob ich z.B. noch ne Aufnahme von der DBox mit Akku anstarten kann, oder ob ich das Netzteil anschließen muss!

Ciao
 
Reth   Nutzer

10.12.2005, 23:54 Uhr

[ - Direktlink - ]
Thema: Restlaufzeitanzeige
Brett: Andere Systeme

Hallo allerseits,

habe einen Medion Laptop mit WinXP drauf und würde gern wissen, wie ich die Akkuanzeige dazu bekomme, mir die verbleibende Laufzeit anzuzeigen (bekomme immer nur %-Anzeige)?

Gibts da Tools?

Danke schon mal
Ciao
 
Reth   Nutzer

09.12.2005, 21:28 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@Holger:

Danke, hab aber auch Informatik studiert (hoffentlich blamier ich mich jetzt nicht), drum schreckt mich Skriptmäßiges nicht so schnell.

Von Bruce Eckel hab ich Thinking in C++ und Thinking in Java hier daheim ,dazu noch den C++ Primer in der 5. Edition.

Da schlag ich immer gern nach, hat gute Beispiele usw. Allerdings designmäßig hab ich bisher noch kein Buch gefunden (bin die obigen 3 aber auch noch nicht durchgegangen, hab mit dem Thinking in C++ angefangen was durchlesen anbelangt, im Primer schlag ich gern nach, dort gibt es jede Menge guter Beispiele!).

Design Pattern sind mir auch nicht fremd, obwohl ich bisher bewusst nur sehr wenige verwendet habe und mich auch noch nicht tiefer damit befasst habe (also was es z.B. alles für welche gibt usw.).

Ciao

[ Dieser Beitrag wurde von Reth am 09.12.2005 um 21:29 Uhr editiert. ]
 
Reth   Nutzer

09.12.2005, 14:27 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@Mad_Dog:

Danke, werd mal reinlesen in das Skript.

Hehe, bin hier in Stuttgart, dachte nicht, dass Du gleich "nebenan" sitzt!
 
Reth   Nutzer

09.12.2005, 09:32 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@Mad_Dog:

Danke, wäre klasse!

Tja Softwaretechnik hab ich leider nie gehört, das Angebot an Vorlesungen und Themen war zu groß, als das man alles, was interessant ist hätte hören können!
 
Reth   Nutzer

09.12.2005, 08:44 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

[quote]
Original von Holger:
Zitat:
Das ist nicht kompliziert. Der erste Schritt besteht in der Aufteilung von Attributen in mehrere Objekte, wie Du sie selbst schon angedeutet hast.

Könnte aufgrund von Mehrfachvererbung schon gut gehen, wenn man v.a. wirklich das Modell von der View trennen will. Denn dann gibts für die View erstmal nur die Bounds, Texte und Bilder für Knöpfe etc. gehören dann ja zum Model.

Zitat:
Zitat:
Wie soll man denn GUI-Klassen anlegen, denen man keine Position und Größe geben kann, da muss man ja einen Layoutmechanismus bauen, dem man sagen kann, hier haste ne Komponente, mach sie mal in der und der Größe da und da hin, oder?
Das gibts dann schon, aber wie gesagt, man kann an den überladenen Methoden sparen. Und da das Programm weiß, wann es layouten muß, könnten die Layout-Manager auch direkt in die bounds schreiben und danach die zugehörigen set() Methoden auf den Gadgets aufgerufen werden (für Boopsi). Im Falle von OS1.x-gadget-Strukturen werden die Gadgets einfach komplett während des Layouts-Prozeß ausgehängt und danach wieder eingehängt. Das ist fast das einzige Mal, daß man das überhaupt braucht.

Hm dann könnte man die Bounds private und über friends-Kontruktionen nur dem Layoutmanager zugänglich machen, dem Anwendungsprogrammierer erlaubt man dann die Angabe nur über den Konstruktor.
Wenn er dann aber die Komponente aus dem Layout entfernen, ändern und wieder einfügen möchte (bzw. die Komponente nur ändern möchte und der Layoutmanager kümmert sich um die korrekte Wiederintegration), dann würde das nicht gehen, sondern ein neues Komponentenobjekt müsste her.

Zitat:
Normalerweise kennen Bilder selbst schon ihre Größe. Und dann gibt es minimum, preferred und maximum size (i.A. read-only).

Das stimmt, wenn der Button bzw. der Layoutmanager aber ne Änderung des Bildes mitbekommen soll, muss er ne Benachrichtigung bekommen.

Zitat:
Ja, aber auf plain Gadgets zu setzen, bedeutet schon Mehraufwand für Dich. ReAction und MUI bieten von Hause aus schon eine Menge, das Du noch implementieren müßtest.
Es sollte eigentlich auch gar nicht so schwer sein, die Klassen so zu entwerfen, daß ein Wechsel zwischen MUI und ReAction möglich ist.


Das stimmt auch wieder, nur habe ich bisher noch nie mit MUI und ReAction gearbeitet, da ich möglichst ohne 3rd Party Software auskommen wollte und das Framework auch nur für den heimgebrauch sein soll (wobei ich dann schon ne möglichst flexible Sache machen wollt, die auch vom Design her stimmt :D ).

Wo bzw. wie kann man denn gutes Design usw. lernen? Denn damit hab ich immer wieder Probleme, trotz jahrelanger Programmiererfahrung!

Ciao
 
Reth   Nutzer

08.12.2005, 22:33 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@Holger:

Hm, so kompliziert wollte ich es mir eigentlich nicht machen, von wegen Datenmodell für mehrere Gadgets.
Die Trennung ist eh sehr schwer, ein reines MVC wurde bei Java auch nicht geschafft. Man kann auch einen Button innerhalb einer Komponente mit setLocation umbewegen, egal ob in der umgebenden Komponente ein Layout definiert ist oder nicht.

Wie soll man denn GUI-Klassen anlegen, denen man keine Position und Größe geben kann, da muss man ja einen Layoutmechanismus bauen, dem man sagen kann, hier haste ne Komponente, mach sie mal in der und der Größe da und da hin, oder? Das ist ganz schön aufwendig. V.a. was macht man mit Buttons, die ein Bild bekommen sollen und deren Größe man nicht angeben kann? Wenn man das Bild nicht skalieren will, wird der Rand größer oder das Bild zu klein, wenn man diese Buttons in ihrer View nur durch LAyoutmanager bestimmen lässt?!

Ich wollte mir zunächst einmal einfache Wrapperklassen schreiben, die es mir erlauben relativ leicht eine Oberfläche zu basteln. Ein GUI-Builder würde evtl. auch gehen, habe aber schon ewig keinen mehr probiert und mit dem ReActor bin ich beim letzten Versuch nicht so klar gekommen.

Ciao
 
Reth   Nutzer

08.12.2005, 16:49 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

Hi Holger,

Zitat:
Original von Holger:


Richtig gemacht, ist der Aufwand nicht höher als die Definition einer enum, spricht im Endeffekt eine Zeile pro Konstante plus einem konstanten Aufwand für den Rahmen.


Wie würde sich das denn gestalten? In einer Hierarchie abgeleitetr Klassen oder eher über Templates (wie ich vermute)?

Zitat:
Das geht ja dann in die Delegation-Richtung. Eine solche Attributklasse für bestimmte Flags entspricht der Flags-Klasse, wie ich sie meinte. Und ausgelagerte Attributklassen für den eigentlichen Inhalt einer Komponente, dem Text eines Label oder eines StringGadgets, Range und Position eines ScrollBars entsprechen den Datenmodellen.

Hm, wenn man das aber amigaseitig bei nem Gadget (um bei meinem Bsp. zu bleiben) machen würde und eine Trennung von Darstellung und Datenmodell anstrebt und Gadgets dann in Wrapperklassen wie z.B. Button versteckt, dann bleibt ja für die Darstellung nix mehr, da alles im Datenmodell steckt: Flags, Dimension, Position,...
Oder würdest Du dann Dimension, Position und ggf. Texte und Bilder von Buttons nicht ins Datenmodell nehmen?!

Zitat:
Zitat:
Wenn Du magst, kann ich Dir ja mal die Hierarchie schicken, sobald sie angelegt ist.

Gerne.


Mach ich gern, wird aber noch ne ganze Weile dauern, da ich nur selten zum Programmieren komme. Dann wirds auch nur die Klassen enthalten, welche ich z.Z. selber benötige.
Das Framework soll ja eigentlich kein öffentliches werden, sondern nur mir jetzt und in Zukunft die Programmierung das Amiga API erleichtern und mir C++ näher bringen.
Letzteres scheint gar nicht so gut zu klappen, mach glaub immer noch eher Java-Stil! ;(

Ciao
 
Reth   Nutzer

08.12.2005, 09:50 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

Hi Holger,

danke für Deine Hilfen!

[quote]
Original von Holger:
Zitat:
Also SetGadgetAttr dient zur Manipulation von BOOPSI-Objekten, einschließlich Datatypes und ReAction. Für "GadgetStrukturen" dienen sie nicht.
Also entweder Du benutzt immer BOOPSI, dann wrapst Du nur einen Pointer und darfst nie etwas anderes benutzen als SetGadgetAttr(...), oder Du wrapst eine GadgetStruktur im OS1.x-OS3.x Sinn, dann darfst Du SetGadgetAttrs gar nicht benutzen.

Ich habe es vielleicht noch nicht deutlich genug gesagt, meine Empfehlung lautet für Position und Größe, sie überhaupt nicht manipulierbar zu machen. Die sollten über einen Layout-Mechanismus kontrolliert werden, der im Endeffekt nur von der Fenstergröße abhängt.
Das erwartet man eigentlich seit OS2.0 von ordentliche Programmen.


Wo kann man den sowas nachlesen (also das man das seit 2.0 so erwartet)? Einige Hinweise stehen ja in den Includes selber, aber im Amiga Intern und Profi Know How bin ich bisher über sowas noch nicht gestolpert, vielleicht übersehen?
Boopsi nehm ich momentan nicht, sondern nur Gadgets. Für ne Fensterimplementierung müsste ich mir ja dann noch nen Layoutmechanismus einfallen lassen, der solche Aufgaben übernimmt. Uff, den vertag ich wohl erst mal und mach absolute Positionierung (hab ich bisher ja auch).

Zitat:
Mhh, also
button.setRelverify(true);
oder
button.setFlags(button.getFlags()|RELVERIFY);
oder
button.flags|=RELVERIFY;

Mit gefällt schon die letztere Variante besser.

Der Name des Flags taucht trotzdem in allen Varianten auf.
Zitat:
Bei "sprechenden Settern" entfällt das wenigstens zum Teil.

"Sprechende" Flag-Klassen bieten das auch. Lieber mehrere kleine Klassen als eine Mammut-Klasse. JComponent sollte doch ein gutes abschreckendes Negativ-Beispiel sein. (Von einigen seiner Unterklassen gar nicht zu reden)


Bei sprechenden Flag-Klassen müsste man aber für jedes Flag bei jeder Struktur (Gadget, Window, ...) ne eigene Klasse machen. Ziemlich aufwendig.
Der generische Ansatz von Dir mit den typisierten TAGITEMS wäre hier hilfreicher, dabei müsste aber der verwendende Programmierer wieder alle möglichen Flags kennen.
Das wollte ich gerad vermeiden, da ich aus eigener Erfahrung weiss, wie aufwändig es ist, die ganzen Flags nachzulesen in den Includes (obwohl Studio AIX mit Refernzen hier schon sehr hilft).
Dein setRelverify(tru); ist ja so ein sprechender Setter, und stimmt, man müsste dann auch für jedes Attribut so einen Setter anlegen (und nen Getter), wobei man dann in den Bereich der von Dir zitierten Component kommt.
Alternativ könnte man noch Attributklassen machen, eine/mehrere für Gadget, eine/mehrere für Window etc. Diese könnte man dann der Komponente übergeben.

Wenn Du magst, kann ich Dir ja mal die Hierarchie schicken, sobald sie angelegt ist. Mache erst einmal nur die Komponenten, welche ich brauche.

Ciao
 
Reth   Nutzer

08.12.2005, 09:03 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@Holger:

Aber wie sieht dann die Implementierung des überladenen Operators = aus?
Funktioniert die für char * genauso wie für int, so dass ich sowas machen kann:

button.xPos=10;
button.label="OK";

Wenn Button

Attr<int> xPos;
Attr<String> label;

hat?
Oder versteh ich da was grundsätzlich falsch?
 
Reth   Nutzer

07.12.2005, 22:22 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

Also konkreter gefragt:

Wenn ich nun ne Reihe von Button-/Gadgetklassen zum Eigengebrauch machen will, welche alle im Prinzip ne Gadgetstruktur wrappen, dann würde ich ne abstrakte Basisklasse mit der Struktur und den notwendigen, immer vorhandenen Settern machen (Position und Größe).

Die Setter könnte man so implementieren, dass ein Wert nur einmal gesetzt werden kann, was ich nicht gut finde. Oder die Setter rufen setGadgetAttr() auf und sind somit systemkonform, auch wenn die Struktur schon eingebunden ist.

Man könnte das Setzen dieser immer wieder auftretenden Werte auch im Konstruktor übernehmen und die Setter weglassen, womit man verhindert, dass Programme, welche die Klassen dann benutzen diese Werte ändern, wenn die Gadgetstruktur in Verwendung ist.

Ist es dann in C++ besser man arbeitet mit Templates und Operatoroverloading oder man nimmt den von mir sogenannten Java.Approach, indem man einen Setter für jedes Attribut bereitstellt und dazu dann noch Convenience-Setter mit der Möglichkeit Dimension-Objekte als Ganzes zu setzen?

Bleibt nur ein Problem: Wie die ganzen möglichen Kombinationen aus Flags abdecken? Wenn das aufrufende Programm keine Ahnung von den Interna des AmigaOS hat, wäre eine Schnittstelle, welche die ganzen Mögkichen Flags kapselt ideal, dann muss man sich nicht erst einlesen, was welches Flag tut (wenn man z.B. nur nen Setter setFlags() anbieten würde), sondern die Schnittstelle ist so intuitiv, dass man sie direkt programmieren kann!

Hm, das ist tricky. Selbst wenn man das mit Templates á la TAGITEMS realisiert, muss man bei der Verwendung die Flags und ihre Wirkung kennen. Bei "sprechenden Settern" entfällt das wenigstens zum Teil.

Ciao

[ Dieser Beitrag wurde von Reth am 07.12.2005 um 23:34 Uhr editiert. ]
 
Reth   Nutzer

06.12.2005, 16:22 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@Holger:

Huch, da war ich mit meiner Änderung wohl zu lahm!

Wie kann ich denn in ner Template-Klasse wie Attr<T> nen Operator überladen, so dass er für String mit char * arbeitet und dann nen reinterpret-Cast macht, für int aber normal funktioniert (also mit ULONG)?
 
Reth   Nutzer

06.12.2005, 15:32 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

Hi Holger,

Zitat:
Original von Holger:
Zitat:
Natürlich, aber darum geht es ja gar nicht. Du wolltest die Tatsache, daß ein Objekt in einem anderen enthalten is, bzw. den InUse-Zustand als interface umsetzen. Das ist aber technisch unmöglich. Die containment und inUse-Eigenschaften ändern sich zur Laufzeit. Das Objekt, bzw. die zugehörige Klasse kann aber nicht plötzlich die implementierten interfaces ändern, weder in Java, noch in C++.

Nicht ganze, ich wollte, dass die Klassen, für welche das InUse in Frage käme das entsprechende Interface implementieren und daher gezwungen sind, eine InUse-Auswertung zu machen.

Zitat:
war noch unter Java1.3.1, jetzt gibts ja auch Templates
Templates und Generics sind völlig unterschiedliche Dinge. Sollte man auf keinen Fall in einen Topf werfen.

Das ist schon richtig, habe eher auf die Typisierung angespielt, die ja nun auch für z.B. Vectorobjekte möglich ist.

Zitat:
In C++ kann man das noch mit dem Operator-Overloading vereinfachen. Wenn die Attribute Klassen mit angepaßtem Zuweisungsoperator sind, kann man sie als public-Instanzvariablen anlegen, auf die eine einfache Zuweisung statt Methodenaufruf durchgeführt werden kann.

In der Form:
class Button {
public:
Attr<String> label;
}
//...
button.label="Hallo";

Wenn der Attr-Zuweisungsoperator dann die SetGagetAttr-Funktion aufruft...
Ich glaube, so etwas in der Form hatten wir schon in der Mailkorrespondenz. Müßte ich mal nachschauen. Ich habe damit mal im Zusammenhang mit MUI rumgespielt, weiß jetzt gerade nicht, wie der Stand der sourcen war.


Wenn das die Mails sind, die ich auch gerad im Kopf hab, da gings um die Typisierung von TAGITEMS, danke nochmal dafür!
Obiges bedeutet, ich muss den Zuweisungsoperator der Klasse Attr für unterschiedliche Typen unterschiedlich gestalten?!
Also ein

Attr<String>...="Hallo";

wird anders behandelt als ein

Attr<int>...=10;

?
Mit Operatorenüberladung hab ich mich bisher noch nicht beschäftigt, davor schrecke ich zurück, das liegt mir gar nicht. Da weiss man nicht mehr, was ein = macht und ein + !

Also wenn ich Dich recht verstanden habe, muss ich bei den Wrappern für struct Gadget und den daraus resultierenden Klassen darauf achten, dass die setGadgetAttr-funktionen verwendet werden, v.a. wenn die Gadgets schon Verwendung finden.
Die Wrapperklassen für struct screen und struct window müssen wiederum andere Dinge berücksichtigen, wenn sie Setter für Attribute (oder überladene Operatoren) anbieten.

Denke mal z.B., dass wenn man in C ne Imagestruktur mit Dimensionen füllt, die nicht zu den Bilddaten passen wird Müll dargestellt. So was will ich nach Möglichkeit verhindern!

BTW: Gibst Du auch Kurse in C++, operator overloading, Delegation, Patterns (Letztere beiden kenne ich zwar, hab sie aber seltenst verwendet)? :D

[ Dieser Beitrag wurde von Reth am 06.12.2005 um 16:11 Uhr editiert. ]
 
Reth   Nutzer

05.12.2005, 19:03 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

Zitat:
Original von Holger:

Zitat:
Da ein Image auch eingebettet (z.B. in meiner Klasse ImageButtonC) verwendet werden kann, brauch ich noch ne gute Idee, wie ich das inUse-Flag setze.
Da Bilder auch in mehr als einem Objekt stecken können, bräuchtest Du schon einen counter. Aber wie schon gesagt, ich habe so meine Zweifel an der Sinnhaftigkeit dieses Trackings.

Stimmt, hab Image auch als Beispiel genommen, meinte eigentlich mehr die Gadgetklassen, dort könnte man zur Laufzeit z.B. Position und Größe ändern, was ja nicht gewünscht ist, so lang ein Gadget aktiv ist.

Zitat:
Das glaube ich nicht. Ob eine Klasse ein bestimmtes interface erfüllt, wird zur compile-Zeit festgelegt. Welche relevante Information soll Dir das zur Laufzeit bringen?

Das Runtime Type Checking von Java finde ich enorm gut und wichtig!
Es ist z.B. denkbar, dass eine Klasse mehr als ein Interface implementiert, wenn ich dann zur Laufzeit wissen will, ob sie die Bedingungen eines dieser Interfaces erfüllt, prüfe ich das mit instanceof.
Noch wichtiger ist es z.B. in Methoden, die als Parameter speziellere Klassen bekommen, aber innerhalb der Methode in ihrer Verarbeitung anhand abgeleiteter Klassen unterscheiden.
So hab ich das z.B. bei nem Comparatorobjekt in Java gemacht, welches Inhalte von Vectorobjekten anhand bestimmter (jeweils unterschiedlicher) Kriterien sortieren soll, aber immer nur nach einem. Da gibt es nur eine Methode compare vom Typ Objekt (war noch unter Java1.3.1, jetzt gibts ja auch Templates), darin wurde dann mittels instanceof unterschieden, welcher spezieller Typ das ist (u.a. durch Implementation von Interfaces). Evtl. hätte ich auch für jedes Attribut ne eigene compare-Methode schreiben können, bin mir aber nicht sicher, ob die dann auf Vectorobjekte anwendbar gewesen wäre. (Hab Vector verwendet, Comparator geht glaub ich bei allen Collection Objekten)

Zitat:
In Java trägt sich die Komponente entweder als image-consumer ein und erfährt, wenn sich etwas ändert, oder sie geht von immutable images aus, und der Anwendungsprogrammierer muß sich selbst um Thread-Synchronisation kümmern.
Ähnlichkeiten sehe ich da nicht.


Stimmt ja. Wie gesagt, hab ich dummerweise Image genommen, denke aber insgesamt mehr über Layoutkomponenten nach (in Java z.B. JButton). Also wenn man bei Gadgets zur Laufzeit Position oder Größe oder Flags ändert, was passiert dann? Darf man das in AmigaOS. Soweit ich mich noch erinnere geht das unter Java, man muss aber nen Refresh auf die beinhaltende Komponente machen!

Überlege mir also gerade, ob ich meiner abstrakten Klasse Gadget immer erlaube über Setter ihre Attribute zu ändern. Von dieser Klasse sollen dann Buttons, Checkboxen, ImageButtons etc. erben.

Gibts da in C++ andere Wege als Setter und Getter für alle Attribute?
In Java wird man damit ja überhäuft (braucht sich nur mal die Hierarchie von JButton anzusehen, was da an Settern und Gettern rumfliegt)!

Ciao
 
Reth   Nutzer

04.12.2005, 23:08 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

@geit:
@Holger:

Danke erst mal!

Na klar lebt das Projekt noch! Komme leider viel zu wenig dazu, daran weiterzuarbeiten! Zu wenig Zeit!
Bin gerade dabei, alles auf GCC zu portieren.
Wenn das mal abgeschlossen ist, gehts an die Performance bei vielen Animationen, danach an neue Features.

Dachte mir das bei Image (brauch ich z.B. für Buttons mit Bildern) evtl. so:

class ImageC
{
public:
setX() throws InUseException;
setY() throws InUseException;
setWidth();
...
getX();
...

private:
struct Image image;
};

Das Ganze ist halt sehr javalastig, dort gibts für alles mögliche Getter und Setter. Zudem wollte ich eine abstrakte Klasse machen, welche X und Y (und evtl. width und height) setzt.
Bei den Methoden, welche die InUseException werfen, wird auf ein BOOL geprüft, welches auf TRUE gesetzt wird, sobald das Objekt in Benutzung ist. Das Ganze wird auch in ne abstrakte Klasse gelegt (in Java würde ich ein Interface nehmen, weiss nicht, was in C++ gut dafür ist?).

Da ein Image auch eingebettet (z.B. in meiner Klasse ImageButtonC) verwendet werden kann, brauch ich noch ne gute Idee, wie ich das inUse-Flag setze. In Java würde ich in der ImageButtonC-Klasse alle enthaltenen Objekte durchlaufen, prüfen ob sie instanceof <hier Interface für InUse> sind, dann das Flag auf TRUE setzen.
Bei ImageButtonC und ButtonC ists ziemlich einfach, wenn ich die in WindowC hänge, werd ich sie in ne Liste oder nen Vector hängen, der dann durchlaufen wird, wenn die Buttons aktiviert werden. Jeder Button bekommt das InUse gesetzt und muss es dann an seine Inhalte (z.B. ImageC) weitergeben.

Wie gesagt, alles eher javalike. Wenn ich da gg. C++ Konventionen verstoße oder es dort andere/bessere Wege gibt, immer heraus damit, wills schließlich lernen!

Ach ja: Gibts eigentlich ne Faustregel, wann man in C++ eine Klasse komplett im Header implementiert?

Ciao
 
Reth   Nutzer

02.12.2005, 23:37 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

Also wenn man die Imagestruktur wieder entfernt, kann man sie verändern und wieder einbringen.

Aber was passiert z.B. wenn man eine Screenstruktur hat? Die kann man doch nirgends entfernen! Ist die als ReadOnly definiert?

Hintergrund ist der, dass ich ein paar C++ Klassen erstelle, die mir den Umgang mit Fenstern, Screens und Buttons etc. erleichtern!
 
Reth   Nutzer

02.12.2005, 21:56 Uhr

[ - Direktlink - ]
Thema: ebay / IBrowse
Brett: MorphOS

Hatte das Problem auch unter AOS3.9, verwende folgende Einstellungen:

JavaScript support YES
Timelimit 30s


URL Prefs:

#?.ebay.de#?

Accept cookies
Accept cookies temporarly
JavaScript support NO (bei Preferences) YEs (bei active)

Ciao
 
Reth   Nutzer

02.12.2005, 21:46 Uhr

[ - Direktlink - ]
Thema: Strukturen, was passiert wenn...
Brett: Programmierung

Hallo zusammen,

mich interessiert, was passiert, wenn man z.B. den Inhalt einer Image-Struktur ändert, die bereits in Verwendung ist, ihr z.B. neue Maße und/oder neue Daten gibt?

Bei einigen anderen Strukturen wie Fenster und Menü kann man sichs ja vorstellen, aber was ist mit Image, Bitmap und Screen z.B.?

Ciao
 
Reth   Nutzer

02.12.2005, 21:37 Uhr

[ - Direktlink - ]
Thema: Kein GoldED Forum mehr?
Brett: Programmierung

@geit:

Die Anleitung hab ich mir schon durchgesehen, die ist an manchen Stellen meiner Meinung nach zu dürftig.

Bin immer noch die Konfig schuldig, muss ich aber noch verbessern!
 
Reth   Nutzer

02.12.2005, 08:37 Uhr

[ - Direktlink - ]
Thema: IBM Festplatte läuft nicht an!
Brett: Amiga, AmigaOS 4

Hi,

hast Du auch mal den Jumper für Termpower gesetzt?
Wenn nicht, setz den doch nochmal zusätzlich!
Und auch noch den ForceSE!

Nehme an, dass es die Platte hier ist:
http://www.hitachigst.com/hdd/support/u73lzx/u73lzxjum.htm


Ciao
 
Reth   Nutzer

01.12.2005, 12:27 Uhr

[ - Direktlink - ]
Thema: Wr hat interesse auf seinem Amiga das Pixeln zu lernen?
Brett: Amiga, AmigaOS 4

Zitat:
Original von Eule:
@Reth:

Könntest du einen Schatten hinzufügen ? Deine Bäume haben jedenfalls einen.

Ich vermute mal dass du die Türme einfach in des Feld einstanzt ohne Tranparenz o.ä.


Schatten ist angedacht, aber die Pixelei dauert immer so lang, v.a. wenn mans so schlecht kann wie ich. Was da Zeit draufgegangen ist!

Ja ich blitte einfach über die Hintergründe. Dadurch entstehen dann so lustige Effekte, wie z.B. Türme, die auf Baumkronen stehen. Dazu müsste ich die Grafiken nochmal ändern.
Daher bin ich für jedes Tutorial in dieser Richtung dankbar, da ich mir davon eine bessere Grafik für das Spiel erhoffe, und eine verkürzte Erstellungszeit derselben (hint, hint Pixl!).

Transparenz z.B. für Schatten würde ich im Fall der Tüme so machen, dass ich immer nur jedes 2. Pixel setze, auch in der Maske. Durch das Blitten durch Maske kommt das dann transparent rüber (z.B. beim Cursor für das Türmesetzen zu sehen).

Ciao
 
Reth   Nutzer

01.12.2005, 12:14 Uhr

[ - Direktlink - ]
Thema: Wr hat interesse auf seinem Amiga das Pixeln zu lernen?
Brett: Amiga, AmigaOS 4

Zitat:
Original von Eule:
@Reth:

Na ja das Spielfeld ist von oben, die Türme von der Seite ... wären die Türme etwas 'isometrischer' dann würden sie räumlicher aussehen und besser auf so eine Landkarte passen.

Theoretisch ( und jetzt verlang ich warscheinlich zu viel von dir ) könnte man die 6 eckigen Felder stauchen. Falls die Türme und die Landschaft der selben isometrischen Projektion entsprächen, wäre das Ergebnis perfekt.


Hm, hast recht. Die 6-Ecke sollten gestaucht sein. Habe mich bemüht die Geländemerkmale auf den 6-Ecken (also Baum, Sträucher etc.) und die Türme isometrisch darzustellen. Tatsächlich hab ich den Turm nach Angaben eines Tutorials für isometrische Darstellung erstellt.
Wie müsste der den geändert werden, um (noch) isometrischer auszusehen?
 
Reth   Nutzer

01.12.2005, 11:50 Uhr

[ - Direktlink - ]
Thema: Wr hat interesse auf seinem Amiga das Pixeln zu lernen?
Brett: Amiga, AmigaOS 4

Zitat:
Original von Eule:
@Reth:

Sieht doch ganz nett aus aber die Grafik der Türme sollten man vielleicht noch etwas ändern.


Inwiefern? Interessiert mich!
 
Reth   Nutzer

01.12.2005, 11:20 Uhr

[ - Direktlink - ]
Thema: Wr hat interesse auf seinem Amiga das Pixeln zu lernen?
Brett: Amiga, AmigaOS 4

@Eule:

Sorry, wollte keine Eigenwerbung machen (naja, vielleicht ein bisschen). Hier mal die URL:

http://wizardgrounds.freewebspace24.de/


Wenn ich jemals dazukomme und das Game einigermaßen steht, wollte ich auch versuchen Netzwerksupport einzubauen.

Für Dein Spiel würde ich runden- oder zugbasiert vorschlagen, machs Dir am Anfang nicht so schwer!

CU
 
Reth   Nutzer

01.12.2005, 10:21 Uhr

[ - Direktlink - ]
Thema: Wr hat interesse auf seinem Amiga das Pixeln zu lernen?
Brett: Amiga, AmigaOS 4

@Eule:

Bei den anderen Tutorials hab ich mindestens genau so viel gelernt. Die Ergebnisse lassen sich m.M. nach am besten am Beispiel der Türme in meinem Spiel ansehen.

Leider muss ich mich dann in die Ideenlosigkeit einreihen mit meinem Spiel. Aber die Sachen, welche Du ansprichst lassen sich kaum als Hobbyprojekt in diesem Umfang mit entsprechender Grafik verwirklichen, zumindest nicht in ansprechender Zeit!
Merk ich bei mir selbst am besten!

Ciao
 
Reth   Nutzer

01.12.2005, 09:01 Uhr

[ - Direktlink - ]
Thema: Wr hat interesse auf seinem Amiga das Pixeln zu lernen?
Brett: Amiga, AmigaOS 4

@Eule:

Danke auch, da geht es aber "nur" um Edelsteine und artverwandte Sachen.
Habe mir mal die deutsche Übersetzung angesehen, denke man kann es schon benutzen, aber der Satz hier ist der beste:

"(Sie werden in der Tat nur die Ohrfeige mit dem Schein kopieren)"

Ich glaub ich sterb, wenn ich das nochmal lese!

Es gibt im Web schon ein paar gute Tutorials zum Pixeln (z.B. über isometrische Bilder, Hintergründe etc.), z.B.:

http://www.pixelfreak.com/tutorial/


Die anderen Links habe ich gerad nicht zur Hand, sind aber sehr gut!
Kann ich noch posten, wenn gewünscht.

So was in dieser Richtung (v.a. auch das Gezeigte unter den anderen Links) brauch ich noch viel mehr, nach dem Motto: Wie macht man das genau (z.B. eine kleine Hintergrundlandschaft für ein Hexagon etc.)!

Ciao
 
Reth   Nutzer

30.11.2005, 23:38 Uhr

[ - Direktlink - ]
Thema: Kein GoldED Forum mehr?
Brett: Programmierung

@Mazze:

Danke für die Infos.

An Dieter wollte ich erstmal noch nicht schreiben, da ich dachte, was übersehen zu haben!

Habe eine der letzten Versionen von GoldED Studio AIX erstanden. Kam auf CD in DVD-Hülle ohne Handbuch.
Werde die CD nochmal durchforsten, aber gibts das Handbuch denn in gedruckter Form oder "nur" elektronisch?

Hab die gewünschte Funktionalität nun hinbekommen, wenn ich morgen dazu komme, poste ichs hier noch!

Ciao
Reth
 
Reth   Nutzer

30.11.2005, 22:51 Uhr

[ - Direktlink - ]
Thema: Kein GoldED Forum mehr?
Brett: Programmierung

Hallo auch!

Gibt es denn das Forum auf der GoldED/Cubic Homepage gar nicht mehr?
Ich finde die Dokumentation zu den Möglichkeiten der Konfiguration leider ein bischen dürftig!

Möchte gerade eine Tastaturbelegung so konfigurieren, dass bei Tastendruck ein markierter Block gefaltet wird.

Wie veranlasse ich den internen Befehl TEXT einen Zeilenumbruch einzufügen?

In einem nächsten Schritt soll noch ein Requester hinzugefügt werden, der nach dem Bezeichner der Faltung fragen soll, wobei ich an dem Punkt bin, dass die Makros und deren Verwendung auch noch besser dokumentiert sein könnten!

Kann da bitte jmd. weiterhelfen!?

Danke schon mal
Ciao
 
Reth   Nutzer

30.11.2005, 09:44 Uhr

[ - Direktlink - ]
Thema: Wr hat interesse auf seinem Amiga das Pixeln zu lernen?
Brett: Amiga, AmigaOS 4

Wird es den Kurs bald geben?
War lange Zeit so ruhig!
 
 
Erste << 44 45 46 47 48 -49- 50 51 52 53 54 >> Letzte Ergebnisse der Suche: 1858 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

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