Posts by sebi

    Endlich wieder Zug gefahren – endlich wieder Zeit zur Geos-Programmierung!

    Nun wollte ich endlich – wie besprochen – die Nutzerabbruchbestätigungsrückfragemeldungsanzeige deaktivieren. Dafür gleich eine neue Programmversion herauszugeben, erschien mir allerdings verschwenderisch. Also überlegte ich, ob ich noch etwas modifizieren könnte und beschloß, den Lorenz-Attraktor attraktiver zu gestalten.

    Dies sind die Neuerungen der Version 0.2.2:

    • Die Abbruchbestätigung ist mittels einer Konstante im Quelltext stillgelegt, ließe sich also bei Bedarf sehr leicht reaktivieren.
    • Bei der Berechnung des Typs „Floor-Map“ habe ich nun den AND und XOR enthaltenden Ausdruck geklammert. Das Projekt kompiliert jetzt ohne Warnmeldungen.
    • Der Lorenz-Attraktor wird mittels dreier Gleichungen berechnet. Deren Parameter Rho, Sigma und Beta waren bislang fix vorgegeben, nun kann sie der Nutzer selbst variieren.
    • Der Lorenz-Attraktor ist in seiner Form sehr abhängig von den drei Parameterwerten. Um dem Nutzer das Erkunden zu erleichtern, stehen nun einige Parameterkombinationen als Vorauswahl zur Verfügung.
    • Der Lorenz-Attraktor wurde bislang als Grauverlauf dargestellt. Nun ist Farbe in Lorenz‘ Leben gedrungen! Es gibt einige vordefinierte und auswählbare Farbverläufe, in denen der Attraktor leuchten kann.

    Hallo Sebi,

    Super Arbeit! Auch dass du den Abbrechen-Button nun zum Leben erweckt hast freut mich sehr. Es wäre schade gewesen, Caramba im persönlichen Datengrab unvollendeter Studien versauern zu lassen.

    Ganz genau! Wobei ich dann von Anfang an noch etwas ausgiebiger kommentiert hätte. Bin ja froh, dass Sebi bei meinen Spaghetticode aber irgendwie auch so durchgesehen hat.. :)

    Freut mich auch, daß die Änderungen so gut ankommen :). Hatte schon befürchtet, zuviel gemacht zu haben.

    Ach, so verworren waren die Spaghetti nicht und zudem ein kleiner Haufen. Da bin ich jetzt schon mehr gewöhnt :).

    Zum Abbrechen: Bin mir nicht sicher, wie sinnvoll die Frage "Wollen Sie wirklich abbrechen?" ist. Habe sie zwar eingebaut, aber zweifle noch. Man kann zwar aus Versehen auf den Knopf kommen, aber das wäre auch selten. Falls man viel rechnen läßt und dabei abbricht, dann nervt die Frage doch.

    Gibt es ein Icon zu dem Programm? Dann könnte man es als Installer anbieten, nicht nur als Quelltext.

    Sebi

    PS: Wie schaffst du es, hier zwei Zitate einzufügen und dann noch aus verschiedenen Nachrichten? Das bekomme ich nicht hin. Der alte Editor (vor der Umstellung) gefiel mir da besser, da konnte man im Quelltext arbeiten und alles manipulieren. Liegt mir näher :)

    Das Programm gefällt mir auch sehr gut!

    Während einer langen Zugfahrt habe ich alle Berechnungen mal durchgespielt. Und dann konnte ich längere Berechnungen nicht abbrechen, und ich wollte den Farn in Rot! Daher habe ich Barios Aufforderung zur Anpassung angenommen und ein paar Sachen ergänzt:

    • Bei allen Berechnungen eine Abbruchmöglichkeit eingebaut.
    • Die letzten zwei, undefinierten Berechnungen ausgeblendet.
    • Beim Programmstart ist der Button zum Abbrechen des Renderns erstmal deaktiviert.
    • Bei einigen Berechnungen können Vorder- und/oder Hintergrundfarbe gewählt werden.
    • Die Auswahl eines benutzerdefinierten Modus (Bildgröße) kann jetzt abgebrochen werden.
    • Unbenötigte Variablen etc. entfernt bzw. deaktiviert, so daß beim Kompilieren die Meldungen verschwinden.
      Es bleibt nur noch eine Meldung, weil eine Kombination aus AND und XOR nicht geklammert ist. Wer hat da Vorrang?
    • Ein Menü „Bearbeiten“ eingefügt, mit dem das Bild in die Zwischenablage kopiert werden kann.
    • Zwecks Unterscheidung die Versionsnummer von 0.2 auf 0.2.1 erhöht.

    Viel Spaß :).

    PNG muss ich ob der schier unendlichen Fülle an Dateiformaten, welche Bildinfos bisweilen unterstützt, im Vortrag dann wohl überhört haben.

    Das kam zum Schluß, als One more thing! :)

    Aber so können wir uns ggf. mal austauschen und den Code beiderseitig noch etwas optimieren.

    Ja, klingt gut und sinnvoll.

    Wer schreibt sonst noch unkomprimiertes PNG?

    Außer einigen Projekten auf Github (z.B. svpng , welches hier als Vorlage diente), habe ich noch keine Software gefunden, die das kann.

    Doch, eine Software gibt es! Wie im November in Syhra vorgestellt, kann mein Programm Bildinfos unkomprimierte PNGs schreiben (mit 1, 8 und 24 Bit Farbtiefe, mit und ohne Transparenz). :) Ist sogar als R-Basic-Library ausgelegt. Ich schaff's aus Zeitmangel nur leider nicht, den Rest des Programms veröffentlichungsreif zu bekommen ;(.

    Noch ein paar Worte zum neu implementierten PNG-Format:

    Es handelt sich um ein unkomprimiertes PNG-Format - also kein PNG nach Standard!

    Vielleicht etwas mißverständlich formuliert, aber PNGs können nach dem PNG-Standard schon unkomprimiert sein. Macht nur kaum einer. Ist dann ein regelkonformes, wenn auch seltenes PNG.

    Dann muß Rainer den asm-Code nach seinen Wünschen anpassen 8o.

    Alles klar, dann hatte ich das falsch verstanden.

    Wie wollen wir’s dann machen?
    Mir wäre der Dateiname auch wichtiger als das Copy.
    Das Einzige: Sieht vielleicht doof aus, falls der Anhang abgeschnitten wird: „Ganz langer Name (Co“.
    Naja, manchmal kann man nicht alles haben ... Oder Rainer/Falk tippt mal kurz im Assembler rum :)

    Also erstmal, die Sache funktioniert nach dem "Template-Konzept". Es gab einen Template-String der da lautet "Copy of \\1". In dem wird \\1 durch den Dateinamen ausgetauscht. Dieses Template String habe ich geändert zu "\\ (Copy). Den ASM - Code selbst habe ich nicht angefasst.

    Der Grenzfall wird vom Code durchaus berücksichtigt. Allerdings nur in der Form, dass der String nicht länger als der Buffer sein darf.

    Das Ding ist, ich bin nicht sicher, ob es gut ist, das "(Copy)" um jeden Preis in den Dateinamen zu bringen, da die GEOS-Dateinamen ja (aus heutiger Sicht) ziemlich kurz sind und es sich nur um einen NamensVORSCHLAG handelt - man sieht ja an Sebi, dass er das sowieso gleich wieder löschen will. Man stelle sich vor, jemand hat einen sehr wichtigen, genau 32 Zeichen langen Namen und von dem löscht der Algorithmus dann fröhlich das Ende, nur um "(Copy)" anzuhängen. Dann flucht der Nutzer, muss seinen Namen wiederherstellen und wechselt dann womöglich zu einem Konkurrenzsystem wie Windows oder Mac ;)

    Also, was meint ihr? "(Copy)" auf jeden oder was?

    Spannend, mal etwas vom dahinterliegenden Code zu erfahren :love:.

    Sollte der Template-String nicht "\\1 (Copy)" lauten?

    Hast du mal ausprobiert, ob bei einem langem Dateinamen wirklich das Ende gelöscht wird, um das Copy anzuhängen? Meine Vermutung wäre eher, daß das Copy dann (teilweise) abgeschnitten wird und der ursprüngliche Name bleibt.
    Aktuell ist es so, daß "Kopie von " vorangestellt wird und wenn dann der resultierende neue Name zu lang ist, wird der hinten gekürzt. Eine Längenkontrolle findet also offenbar statt (im asm-Code?).

    Aber zur Frage: Falls der Platz für ein anzuhängendes (Copy) oder (Kopie) nicht ausreicht, dann würde ich nichts anhängen.

    An den Grenzfall, daß „Copy“ die Namenslänge überschreitet, hatte ich auch gedacht und angenommen, daß der der natürlich berücksichtigt wurde :evil:

    Strg+A unterstütze ich auch!

    Hier nun die Umfrage, was Geos beim Duplizieren an den Dateinamen prophylaktisch anhängen soll.

    (Warnhinweis: Die Variante „ - Kopie“ wird bereits von Windows genutzt.)

    Ja, natürlich mit Abstandsleerzeichen. Hatte nur gefragt, weil du schriebst: und "(Copy)" wird hinten angehangen
    Da hatte ich " (Copy)" erwartet 8o

    Aha, Chrome nutzt die Klammern. Da kocht ja jeder sein Süppchen. Dann können wir entweder unser eigenes anrühren oder ein Rezept übernehmen. Zum Beispiel die Apfelsuppe. Denn ein Apfel irrt sich nie. Nur Rainer glaubt das (noch) nicht ?(.

    Nur „ Copy" angehängt, sieht etwas unfertig aus. Ist aber am praktischsten, wenn man davon ausgeht, daß der Nutzer dupliziert und dann gleich den Namen nach seinem Gusto ändert. So muß er weniger Zeichen löschen und die Unfertigkeit erinnert ihn an das noch ausstehende Umbenennen.

    Die anderen beiden Varianten erscheinen sinnvoll, wenn man annimmt, daß der Nutzer nur schnell ein Duplikat erstellen will und ihm der Name schnurzpiepegal ist. So ist dann wenigstens ein annehmbarer Name vorgegeben.

    Ich werde mal versuchen, eine Umfrage zu erstellen. Wenn das nichts wird, bleiben wir einfach bei den Klammern.

    Das ist ja wie Weihnachten :)! Merci!

    Ohne allzu undankbar wirken zu wollen, aber da ergeben sich gleich einige Fragen =O

    - Ohne Abstandsleerzeichen anhängen?

    - Braucht es die Klammern? Die reduzieren die knappe Zeichenzahl und man löscht sie doch wieder.
    Meine Liste (Copy)
    Meine Liste Copy -> Mac
    Meine Liste - Copy -> Windows

    - Was passiert, wenn es schon eine Datei mit Copy im Namen gibt?

    - Steht dann bei der deutschen Version „Kopie“?

    PS: Was machen die Augen? Überlegung: Wenn du abwechselnd einäugig programmierst, kann sich immer ein Auge ausruhen! <3