amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Search [ - Search - New posts - Register - Login - ]

First << 11 12 13 14 15 -16- 17 18 19 20 21 >> Last Search results: 1050 hits (30 per page)
NoImag   User

2006-07-20, 12:02 h

[ - Direct link - ]
topic: 2.+3.Joystikknopf Signale
Board: Programmierung

Zitat:
Original von MaikG:
>Na dann spricht ja auch nix dagegen die Beispiele an AOS2.0 oder
>neuer anzupassen

Nur Zeitmangel...


Wir reden hier von insgesamt ca. 30 Zeichen, die du Löschen bzw. Einfügen musst.

Tschüß

 
NoImag   User

2006-07-19, 21:58 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Das kommt darauf an, wie man die Datenstrukturen angelegt hat. Wenn Du etwas einfügen willst, muß genügend Speicher dafür im Dokument vorhanden sein, d.h. Du hast den Speicher bereits.


Wenn die daten nicht in das Dokument passen, dann wird das Dokument automatisch erweitert (d.h. entsprechend Speicher angefordert), dies erfolgt vor dem eigentlichen Einsetzen, d.h. sobald klar ist, wieviel eingesetzt wird. Ein Problem gibt es nur dann, wenn a) der Speicher nicht reicht oder b) die maximal theoretisch mögliche Dokumentgröße überschritten wird, weil in diesen Fällen beim User eine Rückfrage sinnvoll sein kann.

Zitat:
Die Frage ist nur, ob es in Deinen Strukturen möglich ist, Daten in diesen Speicherbereich zu laden, ohne sie automatisch aktiv werden zu lassen. Einen Lock mußt Du sowieso haben, weil das Dokument ja nicht zwischenzeitlich verändert werden darf.

Das wäre machbar. Es würde dann praktisch das Einsetzen wie bisher ablaufen, nur vor der Rückfrage und nicht danach.

Zitat:
Wenn dann der Platz ausreicht oder die Rückfrage positiv beantwortet wurde, müssen die Daten nur noch aktiv werden, Pointer umbiegen o.ä.

Mit dem Umbiegen eines Pointers ist es nicht getan. Dazu sind die Möglichkeiten zu komplex (wahlweise nur Einsetzen einzelner Objektattribute statt aller) und das Dokument zu komplex aufgebaut (zu viele Pointer).

Zitat:
Wenn die Struktur, wie von Dir angedeutet, statisch ist und keine solchen Verweise besitzt, kann man auch einfach immer einfügen und, wenn der Platz nicht reicht und der Benutzer das unvollständige Einfügen ablehnt, die Operation rückgängig machen. Eine Schreiblock auf das Dokument muß man, wie schon gesagt, sowieso die ganze Zeit über halten. Und bei statischen Strukturen ist das Einlesen und wieder Verwerfen normalerweise auch keine aufwendige Operation.

Auch wenn ich die Struktur nicht als statisch bezeichnen würde, müsste es wohl so ablaufen. Allerdings gefällt mir nicht, die Operation erst vollständig (oder so vollständig wie möglich) auszuführen und wenn der User damit nicht einverstanden ist die Operation wieder Rückgängig zu machen (was kein Problem ist, Undo ist implementiert). Schließlich weiß das Programm bereits frühzeitig, ob es ein Problem gibt. Sollte der Clipboard-Inhalt groß sein (was ja möglich ist, wie whose auch geschrieben hat), stellt diese Lösung die Geduld des Users unnötig auf die Probe.

Tschüß

 
NoImag   User

2006-07-19, 21:41 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von whose:
Wieso muß?


Wenn ich Holger richtig verstanden habe, dann geht es doch gerade darum erst den Clipoboard-Inhalt zu laden, dann bei Bedarf beim User rückzufragen und dann die Daten einzusetzen. Wenn ich als erstes den Clipboard-Inhalt lade, dann muss ich ihn auch irgendwo hintun. ;)

Tschüß

 
NoImag   User

2006-07-18, 22:04 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Meine Güte, wie schräg um die Ecke kann man eigentlich denken? Ich habe mich noch nie so intensiv mit dieser Aufgabe befaßt, deshalb verzeih mir, daß ich mich von Dir zuerst auf's Glatteis führen ließ.


Natürlich verzeihe ich dir. Es lag auch nicht in meiner Absicht, dich auf's Glatteis zu führen. Ich wollte nur verstehen, wie die praktische Umsetzung auszusehen hat und habe da ein Beispiel aus meinem Projekt gewählt, bei dem mir nicht klar war, wie eine praktische Umsetzung aussehen könnte.

Zitat:
Ist natürlich vollkommener Quatsch, die Akquise des Clipboard-Inhalts und das Einfügen in das Dokument miteinander zu vermischen.

Der Gedanke, dass es eine gute Idee sein könnte, das Auslesen des Clipboards und das Einfügen zu trennen, ist mir nicht gekommen, weil dazu erst eine Kopie des Clipboard-Inhalts angelegt werden muss, was zusätzlichen Speicher erfordert.

Auch dir vielen Dank für die Erläuterungen.

Tschüß

 
NoImag   User

2006-07-18, 22:01 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

@whose:

Danke für die Erläuterungen.

Tschüß

 
NoImag   User

2006-07-15, 23:52 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Du willst also den User fragen, was passieren soll, wenn die Daten nicht passen?
Dann sind das zwei Aktionen, insert_if_it_fits() und insert_cut_off(). insert_if_it_fits() wird per default benutzt und triggert bei Nichtpassen das Öffnen eines Dialogs, dessen erste Optionen insert_cut_off() triggert (das macht der UI-Task) und dessen zweite ("Abbruch") ja eh nur den Dialog schließt (das kann der UI-Task ganz alleine.

Zwischen diesen zwei Aktionen besteht keine code-Doppelung, es sei denn, Du machst welche. Denn wozu gibt es Funktionen/Unterprogramme? Die zwei Aktionen sollten für sich natürlich nur das enthalten, was unterschiedlich ist.

insert_if_it_fits()
{
if(fits()) doTheInsert();
else openDialog(&insert_cut_off, NULL);
}
insert_cut_off()
{
cutOff();
doTheInsert();
}

Von der Logik her sind beide Aktionen völlig unterschiedlich. Das, was gleich ist, doTheInsert(), wird natürlich ausgelagert.


Auch bei deiner Antwort bleibt meine Frage zum Umgang mit dem Clipboard. Soll das Öffnen und Schließen des Clipboards außerhalb von insert_if_it_fits() und insert_cut_off() erfolgen? Ansonsten gibt es schon eine Code-Doppelung in fits() und doTheInsert() (siehe auch meine Antwort auf whose).

Tschüß

 
NoImag   User

2006-07-15, 23:50 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von whose:
Nein, eigentlich nicht. Die Informationen über z.B. die Datenmenge sollte der GUI-Task bereitstellen, dann kann der Bearbeitungstask ohne großen Aufwand entscheiden, ob das paßt oder nicht und entsprechende "Rückmeldung" (z.B. in einem gemeinsam genutzten Datenbereich in Form einer Struktur) geben, evtl. in Form der "gerade noch passenden Zeilen", was den Vorteil hätte, daß sich der Benutzer den für ihn wirklich wichtigen Teil via GUI-Task auswählen und dann laden könnte, oder schlicht "Geht nicht" als Flag.


Du meinst, der GUI-Task sollte das Clipboard öffnen, Datentyp und Menge auslesen, Clipboard wieder schließen und diese Eingabedaten an den Bearbeitungstask weitergeben. Der Bearbeitungs-Task testet dann, ob das passt und gibt eventuell einen Fehler dem GUI-Task zurück. Wenn es passt oder der GUI-Task dem Bearbeitungstask mitteilt, nur die passenden Daten zu verwenden, dann öffnet der Bearbeitungstask wieder das Clipboard, übernimmt die Daten und schließt das Clipboard wieder? Der GUI-Task muss die Eingabedaten ja selbst erst ermitteln und zwar aus derselben Quelle, in der sich später der Bearbeitungstask bedient. Da die Eingabedaten ja externe Daten sind (aus dem Clipboard) würde ich dies als Aufgabe des Bearbeitsungstasks ansehen. Außerdem muss das Öffnen und Schließen des Clipboards und der Test des Datentyps zweimal erfolgen. Hinzu kommt, dass in einem Multitaskingsystem sich der Clipboardinhalt ja zwischenzeitlich ändern könnte. Oder soll der GUI-Task das Öffnen und Schließen des Clipboards übernehmen und der Bearbeitungstask erhält nur den Pointer auf die IOClipReq-Struktur?

Tschüß

 
NoImag   User

2006-07-15, 23:46 h

[ - Direct link - ]
topic: Salat machen
Board: Get a Life

Zitat:
Original von G60Master:
Kohlenhydrate werden in Glukose gewandelt welche in der Bauchspeicheldrüse zu Insulin verstoffwechselt werden,wenn du diese Kohlenhydrate ausschließlich in Form von Zucker als Ausgangskohlenhydrat zuführst führt das zu einer Zerstörung u.a. der für die Insulinwandlung in der Bauspeicherldrüse zuständigen Zellen!


Das kann allein deswegen nicht stimmen, weil es der Logik wiederspricht. Wie du so schön sagst, landen alle Kohlenhydrate als Glucose im Blut. Dem Molekül ist nicht mehr anzusehen, als was es dem Körper zugeführt wurde. Daher können die Zellen der Bauchspeicheldrüse auch nicht zwischen böser Glucose (Einnahme als Zucker) und guter Glucose (Einnahme als Kohlenhydrat) unterscheiden. Nur der schnellere Anstieg des Blutzuckerspiegels bei Einnahme von Zucker kann u.U. für die Bauchspeicheldrüse belastend wirken.

Tschüß

 
NoImag   User

2006-07-15, 23:38 h

[ - Direct link - ]
topic: Salat machen
Board: Get a Life

Zitat:
Original von G60Master:
Machen wir das mal komplett:

Haushaltszucker auch Kristallzucker oder Saccharose.


Ok, ist aber aus Glucose und Fructose zusammengesetzt.

Zitat:
Malzzucker auch Maltrose.

Das ist chemisch abweichend? Dann habe ich was dazugelernt.

Zitat:
Maltodextrin
Glukosesirup


Sind das nicht nur Gemische obiger Zucker?

Zitat:
Milchzucker auch Laktose!

Und das wird Lebensmitteln zugesetzt? Ich meine, ist nicht nur natürlich in Milchprodukten enthalten?

Zitat:
Wie man sich Kohlenhydrate zuführt ist schon wichtig und zwar wegen der Reaktionen während der Verdauung und auch für den Stoffwechsel.

Du kannst deinen Blutzucker nicht wirklich langfristig mit Süßigkeiten regulieren


Dann haben wir uns missverstanden. Du hast so geklungen, als ob es nicht darauf ankommt, welche Kohlenhydrate gegessen werden, weil schließlich alles bei der Verdauung umgewandelt wird.

Natürlich sollte man nicht von Zucker leben, das gibt eine nette Achterbahnfahrt des Blutzuckerspiegels.

Zitat:
wenn du es doch versuchst bekommst du mit 100% Trefferquote eine Diabetis in jungen Jahren.

Ist das nachgewiesen? Also wurde untersucht, ob normalgewichte Menschen, die nur Süßigkeiten essen, früh Diabetes bekommen?

Zitat:
Kartoffeln können das ohne das man eine Diabetis bekommen kann egal wieviel man in sich reinstopft!

Unsinn. Wenn du zuviel Kartoffeln ist, dann kannst du auch Diabetes bekommen. Auch die Kartoffeln benötigen letztlich Insulin, nur langsamer.

Zitat:
Ich finde es ist halt besser Kohlenhydrate über Hülsenfrüchte oder Kartoffeln aufzunehmen als sich Chemie oder Zucker reinzutun.

Ich wollte keineswegs die Ernährung mit Gummibärchen propagieren.

Tschüß

 
NoImag   User

2006-07-14, 23:39 h

[ - Direct link - ]
topic: Salat machen
Board: Get a Life

Zitat:
Original von G60Master:
Nennen sich allerdings nur selten Zucker,oftmals sind sogar bis zu 3 verschiedene Sorten Zucker in Fertigerichten drin,da sie unterschiedlich Gewürze hervorheben werden Zucker als Feintuning für den Geschmack eines Produktes verwendet!


Das was wir allgemeinhin als Zucker bezeichnen ist Glucose. Fructose heißt dann schon nicht mehr Zucker sondern Fruchtzucker. Welches ist die dritte Sorte von Zucker?

Zitat:
Kohlenhydratanteil bei einer Gulschsuppe kann bis zu 2/3 des Gesamtproduktes betragen,somit ist da extrem viel Zucker bzw.Zuckervorprodukte drin.

Dir ist aber schon klar, dass du, sofern du nicht überwiegend von Fleisch lebst, die lebensnotwendige Energie grundsätzlich überwiegend in Form von Kohlenhydraten zu dir nimmst? Da gibt es keinen Unterschied zwischen selbstgemacht und fertig gekauft. Kohlenhydrate sind nichts schlechtes, können sie gar nicht sein. Schlecht ist vor allem, wenn du zuviel isst, egal wovon.

Tschüß

 
NoImag   User

2006-07-12, 22:20 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von whose:
Hm, das dachte ich mir... die Frage ist halt, ob der Berechnungstask unbedingt von den "mehreren Möglichkeiten" im Fehlerfall wissen muß. Im Grunde gibt es da nicht allzu viel, was der Hintergrund-Task wissen muß, um wie gewünscht zu arbeiten.

Um die von ihm verarbeiteten Daten kümmert er sich selbst, er weiß, wo die Eingabedaten zu finden sind und er weiß, was er tun muß, um eine Verarbeitung sauber abzubrechen. Um den Rest kümmert sich der GUI-Task, z.B. die Information zu besorgen, an welcher Stelle der Berechnungen der Hintergrund-Task fortfahren soll etc. Diese Informationen gehören aber streng genommen schon zu den Eingabedaten.

Das Prinzip funktioniert eigentlich bei jeder Gelegenheit. Wenn der Hintergrund-Task wesentlich mehr wissen "muß", stimmt etwas mit dem Design nicht. Das ist jetzt aber nur meine persönliche Meinung.


Wenn ich Daten aus dem Clipboard übernehme und die Daten nicht mehr vollständig ins Dokument passen, weil die maximale Zeilenzahl überschritten wird (nein, es handelt sich nicht um Text, eine maximale Zeilenzahl lässt sich nicht vermeiden) gibt es die Möglichkeit, entweder die Aktion ganz bleiben zu lassen oder das zu übernehmen, was noch passt. Die Informationen kommen also aus dem Clipboard. Mit dem GUI-Task hat das doch nichts zu tun. Diese Information muss sich der Hintergrund-Task schon selbst holen. Oder nicht?

Tschüß

 
NoImag   User

2006-07-12, 22:14 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Es schadet aber nichts, wenn man dabei den Idealfall, bzw. die in der aktuellen Implementierung vorhandenen Defizite im Hinterkopf behält.


Das ist mit Sicherheit richtig. Als ich vor 17 Jahren angefangen habe, habe ich mich immer für die schnellste Lösung entschieden, ohne an die Zukunft zu denken. Dies habe ich dann ein paar Jahre später ein paar mal bereut. In der letzten Zeit war ich aber meistens überrascht, wie einfach Verbesserungen möglich waren.

Tschüß

 
NoImag   User

2006-07-12, 22:09 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Ein Textdokument, selbst mit styles, zu kopieren, ist kein großer Akt.


Natürlich nicht.

Zitat:
Wenn das Dokument dagegen, wie in den meisten Fällen, über das Grafik-Druck-API ausgegeben wird, existiert ohnehin eine Kopie, nämlich das gerenderte Dokument. Da kann man in dem Quell-Dokument durchaus weiterarbeiten.

Wenn ich das Dokument erst komplett rendere bevor ich mit dem Drucken beginne, dann geht mir mit Sicherheit das RAM aus. Hochaufgelöste Grafik braucht viel RAM. Nein, da ist das Erstellen einer Kopie, die dann zum Drucken herangezogen wird, wahrscheinlich weniger RAM-intensiv.

Zitat:
Dabei ist das Rendern eines Dokuments i.A. ohne externe Resourcen möglich, das Dokument und alle verwendeten fonts + images sind ja im Ram, zumindest bei wysiwyg editoren. Erst das Drucken selbst verwendet externe Resourcen und dauert unberechenbar lange.

Vielleicht ist mir der Begriff rendern nicht richtig bekannt. Ich hätte jetzt gesagt, das Rendern ist das, was RAM verschlingt, nicht das Drucken.

Zitat:
Selbst, wenn man das alles nicht macht, kann man ja dieses eine Dokument für den Lesezugriff locken, dann kann man es drucken und der User gleichzeitig drin rumscrollen oder ein _anderes_ Dokument währenddessen bearbeiten...

In meinem Fall ist das nicht so einfach, weil Verbindungen zwischen den Dokumenten bestehen, die dazu führen können, dass eine Operation in Dokument B nicht möglich ist, weil Dokument A gerade nur gelesen werden darf. Das ist zwar machbar, aber ich befürchte, das könnte unbedarfte User überfordern.

Zitat:
Ganz einfach: zwei Aktionen 1.) Prüfe Vorbedingungen 2.) Schreibe Daten. Dazwischen können UI-Events bearbeitet werden.

Im Grunde mache ich das auch nicht anders, aber ich rufe nicht die beiden Aktionen im UI-Bereich auf sondern nur eine Funktion, die selbst erstmal eine Funktion zum Prüfen der Vorbedingungen aufruft, dann eventuell rückfragt und anschließend die Funktion zum Schreiben der Daten aufruft. Aber das passiert eben bereits eine Ebene tiefer.

Zitat:
Erste Aktion aufgrund des Fehlers abbrechen und nach der User-Aktion abhängig von der User-Aktion eine neue Aktion starten.

Also heißt das, einige Arbeiten doppelt ablaufen lassen, damit der Code aufgeräumter ist?

Tschüß

 
NoImag   User

2006-07-12, 00:24 h

[ - Direct link - ]
topic: 2.+3.Joystikknopf Signale
Board: Programmierung

Zitat:
Original von MaikG:
Du verwirrst mich.


Tut mir Leid, das war nicht meine Absicht. Deine Aussagen haben mich verwirrt und ich habe nur versucht, meine Verwirrung zu beseitigen. :)

Zitat:
Solange ich keine Ausgänge brauche gehen
die Eingänge vollständig. Lasse ich das input.device wie es
ist kann ich die Ausgänge in einem Loop LOW setzten, input setzt
es ständig wieder hight. Sage ich input das die Maus am Joyport
ist, gehen die 2. und 3. Taste nicht mehr am Joyport.
Sage ich input das ein Joystik am Mausport hängt und nirgens
eine Maus, gehen die Ausgänge(Mausport) gar nicht mehr auch wenn
ich diese im Loop beschreibe.


Ok, die Situation ist mir nun klar, glaube ich. Aber ich verstehe nicht was da passiert. Mit Holgers Beispiel sollte aber das Problem ja jetzt gelöst sein.

Tschüß

 
NoImag   User

2006-07-12, 00:16 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von whose:
Das hängt davon ab, welche "Rückmeldung vom User" Du dem Hintergrund-Task schicken willst.


Ich denke da vor allem an Fehler, bei denen es mehrere Reaktionsmöglichkeiten gibt.

Zitat:
Zusammenfassend kann man wohl sagen, daß es manchesmal durchaus sinnvoll sein kann, das GUI und den großen Rest auf Task-Ebene zu trennen.

Dass eine eine Reihe von Fällen gibt, bei denen dies sinnvoll ist, habe ich nie bezweifelt. Ich unterscheide in der Regel mehrere Fälle: 1. Unbedingt notwendig 2. Empfehlenswert 3. Wünschenswert 4. Überflüssig.

Tschüß



[ Dieser Beitrag wurde von NoImag am 12.07.2006 um 00:17 Uhr geändert. ]
 
NoImag   User

2006-07-12, 00:09 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Also evtl. machst Du ja alles richtig, in dem Du vor der längeren Aktion alle UI-Elemente deaktivierst, die jetzt nicht mehr möglich sind, evtl. die IDCMP-Maske anpaßt und während die "Hintergrund"aktion (also längere Vordergrundaktion) läuft, regelmäßig auf Abbruchtrigger überprüfst (und garantieren kannst, daß die Aktion nicht indirekt blockierend auf ein anderes Ereignis wie z.B. beim DOS warten kann).


Natürlichh blockiere ich alle Eingabemöglichkeiten, wenn das Programm beschäftigt ist. Ich schätze es nicht, wenn man bei einem Programm fleißig weiter rumklicken kann, obwohl es gar nicht in der Lage ist zu reagieren.
Was die Abbruch-Möglichkeiten betrifft: Da kannst du mich gerne Faul nennen. Operationen, die bei meiner praktischen Benutzung keine Sekunde dauern mit einer Abbruchmöglichkeit zu versehen, ist mir zuviel Arbeit, auch wenn die Operationen potentiell eine Stunde dauern können. Ich habe nicht den Anspruch alles perfekt zu machen. Man kann auch in Schönheit sterben. Abbrechen kann man daher nur das Drucken. Auf einen Hintergrundtask habe ich wegen des Resourcenverbrauchs verzichtet, auch wenn das die Gefahr birgt, dass auf das Abbrechen nicht sofort reagiert wird.

Zitat:
Hintergrund der absoluten Aussage ist die übliche Praxis eines Event-Handling Loops, bei dem die Abfolge "Nachricht holen"->Verarbeiten->Beantworten->"wieder von vorn" auch für länger dauernde Aktionen nicht verändert wird. Viele Programmierer denken ja noch nicht einmal darüber nach, was eine längere Aktion sein könnte.

Potentiell kann fast alles eine längere Aktion sein. Wenn man es luxuriös machen möchte, müsste deshalb für fast jede Aktion eine Abbruchmöglichkeit bestehen, wobei ein Abbruch-Requester natürlich nur mit Verzögerung geöffnet werden sollte.

Zitat:
Und wenn man von einem Event-Scheduler ausgeht, der die zu den Events gehörenden Funktionen aufruft und keine durch UI-Events Verarbeitung an anderen Stellen verursachte Code-Doppelungen haben will, dann sind eigene Tasks/Threads für länger dauernde Aktionen der sauberste Weg.

Dein MUI-Beispiel ist sicher so ein Fall, sofern man einen "ausradierten" Fensterinhalt nicht als unbedeutenden Schönheitsfehler hinnehmen möchte.

Tschüß

 
NoImag   User

2006-07-11, 23:48 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Merke: der User will vor allem dann gerne abbrechen, wenn die I/O-Operation nicht antwortet...


Stimmt, in so einem Fall macht ein Hintergrundtask Sinn. Allerdings bedeutet dies auch eine Kopie des Dokuments anlegen zu müssen, was eventuell erhebliche Resourcen erfordern kann (insbesondere beim Drucken). Hinzu kommt, dass ich beim Speichern in 19 Jahren noch nicht erlebt habe, dass ich das Speichern abbrechen wollte, bevor es bereits fertig war. Nenne mich ruhig faul, aber etwas, was so selten passiert zu berücksichtigen, kommt bei mir erst dran, wenn es sonst nichts mehr zu verbessern gibt.

Zitat:
Besser ist es. Weil Resourcen für die Faulheit des Programmiers zu verschwenden, gerade auf dem Amiga verpönt ist. Und auf Grafikkarten machen Smart-Refresh-Fenster, aufgrund der Notwendigkeit eines rückgerichteten Datentransfers, den Bus besonders lange dicht...

Naja, Smartrefresh-Fenster gibt es schon seit 1.x-Zeiten und damals war Resourcenschonung noch wirklich wichtig. Außerdem sollte man das Angebot des Betriebssystems einem Arbeit abzunehmen annehmen, sonst bräuchte man das Betriebssystem nicht. Was die Geschwindigkeit betrifft: Nach meiner Erfahrung machen Smartrefresh-Fenster unter AGA und CGFX das System schneller, nicht langsamer. Unter P96 sieht die Bilanz allerdings nicht ganz so eindeutig aus. Ein Grund weshalb ich P96 nicht benutze (außer zu Testzwecken).

Zitat:
Nicht umfangreicher als GUI-Code innerhalb einer Background-Aktion. Ich finde, z.B. innerhalb von DOS-Aufrufen hat GUI-Code nichts zu suchen.

So ein Aufwand ist der Aufruf eines Requesters nicht. Wie machst du das, wenn du testest, ob eine Datei schon existiert und du dann den User fragst, ob sie überschrieben werden darf?

Zitat:
Und ich gehe eigentlich immer von User-Aktion->Event->Programmaktion aus. Das ist für mich der "Amiga-Weg".
Hintergrundtask->Rückmeldung erfragen->User zu Aktion zwingen ist eher der "MsDOS-Weg".


Ein Unterschied ist mir da bisher nicht aufgefallen. Was machst du, wenn ein Fehler auftritt und es mehrere Möglichkeiten gibt fortzufahren? Den User die Reaktion vorher Konfigurieren zu lassen halte ich für eine schlechte Idee. Nach meiner Erfahrung entscheidet der User nämlich mal so und mal anders.

Tschüß

 
NoImag   User

2006-07-10, 23:27 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Daß man so etwas im Jahre 2006 noch sagen muß...


Danke für die Blumen.

Zitat:
Daß das User-Interface immer noch auf den User reagiert, natürlich.

Deine Aussage war absolut. Nicht bei jeder längeren Aktion kann der User sinnvoll im selben Programm weiterarbeiten und um auf Abbruch zu reagieren, ist kein extra Task notwendig. Ok, du meinst das Programm kann bei Verwendung verschiedener Tasks leichter gewartet werden.

Zur Verwendung von Simple-Refresh-Fenstern schreibe ich jetzt lieber nichts.

Zitat:
Jeden Task für sich macht es einfacher. Ein Hintergrund-Task, der von jeglichen GUI-Code freigehalten wird und ein GUI-Task, der nichts über die Art des Hintergrund-Tasks wissen muß.

Grundsätzlich leuchtet dies ein, aber wenn der Hintergrundtask eine Rückmeldung vom User benötigt, dann handelt man sich eine umfangreiche Kommunikation zwischen den Tasks ein.

Zitat:
Sobald Du eine neue Option ins Gui-einbaust, z.B. Abbruch über Esc, zusätzlich zum Button, oder einen PullDown-Menüpunkt stattdessen, etc., wirst Du es zu schätzen wissen.

Hmm. Bei dem was mir da gerade so in den Sinn kommt, sehe ich keine Vereinfachung. Einfach die bereits vorhandene Funktion an anderer Stelle in der GUI-Auswertung aufrufen.

Zitat:
Sobald Du eine zusätzliche Funktionalität, bzw. einen weiteren Hintergrund-Task einführst, wirst Du es zu schätzen wissen, daß das GUI lediglich ein weiteres Signal verschicken muß, statt komplett umgeschreiben zu werden...

Auch das ist mir noch nicht passiert, die GUI komplett umschreiben zu müssen, wenn ich eine neue Funktionalität einbaue. Neuen Menüpunkt oder neuen Button in die GUI aufnehmen, von dort neue Funktion aufrufen, fertig.

Zitat:
Aber einfacher ist nicht besser und was als Gesamtheit ein komplexes System ist, gewinnt durch die Einfachheit der Module im Einzelnen. Nicht anders als bei der objektorientierten Programmierung, ein mittels oop entwickeltes Programm ist in seiner Gesamtheit genauso komplex, wie ein mittels assembler geschriebenes -- es erfüllt ja auch die gleiche Aufgabe. Nur die Unterteilung in jede für sich einzeln gut wartbare Klassen macht den Unterschied. (und manche Gesamtkomplexität überhaupt erst beherrschbar)

Naja. Ich werde mir das nochmal durch den Kopf gehen lassen, ob sich bei meinem Projekt dadurch doch die Wartung vereinfacht. Momentan sehe ich es aber nicht, auch wenn sich das in der Theorie gut anhört.

Tschüß



 
NoImag   User

2006-07-10, 23:05 h

[ - Direct link - ]
topic: 2.+3.Joystikknopf Signale
Board: Programmierung

@MaikG:

Dass heißt, wenn du die Maus auf Port 0 lässt (also Port 0 nicht als Ausgang benutzen kannst), dann kannst du aber Port 1 als Eingang benutzen?

Tschüß

 
NoImag   User

2006-07-09, 21:52 h

[ - Direct link - ]
topic: Fussball: Wie peinlich sind die Italiener...
Board: Get a Life

Zitat:
Original von Maja:
@NoImag:

> Dann haben aber Mannschaften wie Argentinien, Italien, Brasilien,
> England und Niederlande, Portugal und Frankreich auch keine
> Weltklasseform.

Nun gut, Italien und Frankreich sind zumindest im Finale. Und das verdient, wie ich meine. Auch wenn andere das anders sehen mögen.


Frankreich hat zwar verdient gegen Brasilien und Portugal gewonnen. Im gesamten Tournierverlauf haben sie aber nicht überzeugt. Ich sehe sie nicht als herausragende Mannschaft.

Italien hatte bis zum Finale erst einen erntzunehmenden Gegner und Italien war 110 min lang nicht besser als dieser Gegner (ich weiß das andere hier das anders sehen). Italien steht im Finale weil die deutsche Mannschaft sie am Ende zum Toreschießen eingeladen hat. Klar, dass Italien diese Einladung angenommen hat und damit zurecht im Finale steht. Allerdings ist die italienische Mannschaft damit noch lange nicht klar besser als die anderen Spitzenmannschaften.

Tschüß

 
NoImag   User

2006-07-09, 21:22 h

[ - Direct link - ]
topic: 2.+3.Joystikknopf Signale
Board: Programmierung

@MaikG:

Nochmal langsam. Was funktioniert nicht, den Port 1 als Eingabe-Port zu benutzen oder den Port 0 als Ausgabe-Port zu benutzen?

Zitat:
Ich hab jetzt nur den Ausgang für die Rechte und Mittlere Maustaste,
wie das mit der Linken geht weiss ich noch nicht.


hört sich danach an, dass du den Port 0 nicht als Ausgang benutzen kannst. Habe ich dies richtig verstanden? Deine vorherige Aussage hat sich so angehört, dass du den Port 1 nicht als Eingang benutzen kannst.

Tschüß

 
NoImag   User

2006-07-09, 00:51 h

[ - Direct link - ]
topic: Fragen zu Intuition-Messages
Board: Programmierung

Zitat:
Original von Holger:
Alle längeren Operationen sollten eh in einem eigenen Task durchgeführt werden.


Was ist da der Vorteil?

Zitat:
Trotzdem wäre es sauberer, wenn nicht der Rendering-Task auf Close-Events überprüft, sondern nur auf ein eigens dafür reserviertes Signal. Dafür sollte er auch mit Pri -1 laufen und ein Task mit normaler Priorität auf Abbruch-Trigger (Close, Esc-Key, Ctrl-C) warten und das Abbruch Signal für den Hintergrund-Task senden.

Macht dies die Sache nicht unnötig kompliziert? Signalabfrage in 2 Tasks statt in einem.

Tschüß



 
NoImag   User

2006-07-09, 00:41 h

[ - Direct link - ]
topic: 2.+3.Joystikknopf Signale
Board: Programmierung

@MaikG:

Aber wenn du den Mausport nicht umschaltest auf Port 1, dann funktioniert es? Das macht keinen Sinn. Es ist egal, ob dein Programm oder das input.device die Pins auf digital schaltet. Der Pin für die linke Maustaste sollte überhaupt nicht betroffen sein.

Tschüß

 
NoImag   User

2006-07-09, 00:31 h

[ - Direct link - ]
topic: Fussball-WM 2006
Board: Get a Life

Ich bin vom Ergebnis überrascht. Ich hatte von den Portugiesen mehr erwartet.

Tschüß

 
NoImag   User

2006-07-09, 00:26 h

[ - Direct link - ]
topic: Fussball: Wie peinlich sind die Italiener...
Board: Get a Life

@Maja:

Dann haben aber Mannschaften wie Argentinien, Italien, Brasilien, England und Niederlande, Portugal und Frankreich auch keine Weltklasseform.

Die deutsche Mannschaft ist nicht so stark, dass sie andere Spitzenmannschaften dominieren könnte, aber sie sind wieder in der Weltspitze angekommen.

Tschüß

 
NoImag   User

2006-07-09, 00:21 h

[ - Direct link - ]
topic: Was genau ist AROS?
Board: AROS und Amiga-Emulatoren

Zitat:
Original von stuepfnick:
Was ich nicht verstehe: Was soll dieses Projekt eigentlich sein? Auch ein OS wie MorphOS? Oder nur eine Art Emulator, wie WinUAE?? Was läuft darauf? 68k Programme? irgendwelche PPC-Programme? Nur eigene Aros-Software?


AROS soll ein OS wie MOS/AOS4 sein, nur für x86. Im Gegensatz zu MOS/AOS4 ist es aber Opensource, so dass es theoretisch auf jedem Prozessor läuft. Um die Treiberproblematik zu umgehen, gibt es außerdem eine Linux-gehostete Version. Der entscheidende Unterschied zu MOS/AOS4 ist, dass keine alte Software unter AROS läuft mit dem Effekt, dass es praktisch unbenutzbar ist. Somit ist es keine Alternative zu MOS/AOS4. Entweder du legst dir einen Windows-PC für WinUAE bzw. einen Pegasos für MOS zu (AmigaOne für AOS4 sind nicht erhältlich) oder du nimmst die Schwächen von e-uae für Mac hin.

Tschüß

 
NoImag   User

2006-07-07, 23:03 h

[ - Direct link - ]
topic: 2.+3.Joystikknopf Signale
Board: Programmierung

Zitat:
Original von MaikG:
War das mit dem Port Byte, mit Varptr()+3 gehts.
Naja, wiederum nicht, weil mein ursprüngliches Programm jetzt
feuer 2 und 3 nicht mehr richtig erkennt. Bei Knopf C noch
wenn man den start reinpresst, Knopf A gar nicht mehr.
Bei der Maus sind ja 0 Ohm schalter drin, beim Joypad nicht...


Kannst du das noch etwas ausführlicher erklären?

Tschüß

 
NoImag   User

2006-07-07, 22:47 h

[ - Direct link - ]
topic: Buch: "Amiga C für Einsteiger" von Dirk Schaun
Board: Programmierung

@ amaris:

aPex hatte hier kürzlich mal einen Band angeboten. Weiß nicht, ob er ihn noch hat.

Tschüß

 
NoImag   User

2006-07-06, 22:48 h

[ - Direct link - ]
topic: Fussball: Wie peinlich sind die Italiener...
Board: Get a Life

Zitat:
Original von Holger:
Warum sollte die FIFA etwas mit rechtsstaatlichen Grundsätzen zu tun haben? Sie ist kein Staat, auch kein Rechtsstaat und steht, wie wir schon vor Beginn der WM erfahren durften, über dem Gesetz.


Man muss kein Staat sein, um sich an rechtsstaatliche Grundsätze zu halten. Außerdem behauptet die FIFA selbst, sich an diese Grundsätze zu halten. Des Weiteren könnte jede FIFA-Entscheidung vor staatlichen Gerichten angefochten werden, wenn sie nicht zumindest offiziell vorgeben würde, sich daran zu halten.

Zitat:
Und wenn einer über die Gesetze/Regeln der anderen wacht, dann die FIFA über die der unterworfenen Staaten, wie wir am Beispiel Griechenland sehen können, nicht umgekehrt.

Die FIFA steht auch nur dann über dem Gesetz, wenn die Staaten dies zulassen. Allerdings hast du recht, dass die FIFA glaubt, über dem Gesetz zu stehen. Und da Fußball viel zu wichtig genommen wird, lassen sich die Staaten von der FIFA unter Druck setzen.

Tschüß

 
NoImag   User

2006-07-06, 22:25 h

[ - Direct link - ]
topic: 2.+3.Joystikknopf Signale
Board: Programmierung

Da wäre noch etwas.

code:
POKEL(InputIO&+IOStdReqio_Flags%), IOF_QUICK&


Ich kenne mich in Basic nicht mehr so aus, aber die Flags sind nur 1 Byte groß. Ist es da richtig POKEL zu verwenden? Ist aber auch egal. Wie ich inzwischen gesehen habe, kann die Zeile sowieso raus, weil DoIO() das Flag automatisch setzt.

Tschüß

 
 
First << 11 12 13 14 15 -16- 17 18 19 20 21 >> Last Search results: 1050 hits (30 per page)

Search terms
keywords      username
Search options
Only search these boards
   match whole words only
show only titles
show all results

.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.