Beiträge von Andy

    Hi,

    der (Unter)Ordner "AutoIt" steht ja bei dir auch nicht in der Registry.

    Du könntest diesen Verweis natürlich händisch in die Registry schreiben, aber wer weiß, was bei der Installation noch alles schief gegangen ist, was du aktuell noch garnicht merkst... :Glaskugel:


    AutoIt neu installieren oderSciTe ???

    Im Zweifelsfall: Beides :saint:


    Btw. es kann auch zu Rechteproblemen im AutoItordner kommen, siehe Post oben.

    Den gesamten Ordner und alle Unterordner musst du für das Lesen und Schreiben freigeben!

    Hi Alina,

    Der Ordner in dem AutoIt v3 installiert ist, ist: autoit3 und nicht autoit v3

    Der "Pfad" in der Registry "HKCU\Software\AutoIt v3\Autoit" hat nichts mit dem Dateipfad zu tun, in den du deine Anwendung installiert hast!

    Habe gestern Organize Includes installiert

    Wie hast du das gemacht?

    Vorgehen:

    Dateien installieren von unserer Website :

    Erst AutoIt stabil, dann Scite, dann OrganizeIncludes.

    Habe ich eben bei einem neu aufgesetzten Win10 gemacht, funktioniert einwandfrei!


    Öffne mal in Scite im Reiter "Optionen" den "User option file", das sind die SCITEUser.properties

    Darin sollte es einen Eintrag geben der so aussieht, wenn du alle AutoIt/Scite-Dateien in die vorgeschlagenen Verzeichnisse installiert hast:

    Code
    # 36 OrganizeIncludes
    command.36.*.au3="$(autoit3dir)\autoit3.exe" "$(SciteDefaultHome)\OrganizeIncludes\OI_1.0.0.50.au3" "$(FilePath)"
    command.name.36.*.au3=OrganizeIncludes
    command.save.before.36.*.au3=1
    command.is.filter.36.*.au3=1
    command.shortcut.36.*.au3=F2

    Die Nummer "36" ist bei mir so, kann bei dir aber anders sein. Wichtig ist nur, dass diese Zuordnung zur Taste "F2" (siehe letzte Zeile), nicht doppelt vorkommt!


    Dann schaust du im AutoIt-Verzeichnis:

    Sind dort alle Dateien?


    Dann Registry "Registrierungseditor" öffnen, links in den "Pfad" HKCU\Software\AutoIt v3\Autoit navigieren. HKCU ist HKEY_CURRENT_USER!!!

    Das sollte dann so aussehen:


    Wenn sich Dateien oder Verzeichnisse NICHT in diesen Datei-Ordnern auf der Festplatte oder in der Registry befinden, dann solltest du AutoIt/Scite/OrganizeIncludes komplett in die vorgeschlagenen Verzeichnisse neu installieren!

    Wenn das wieder nicht funktioniert, zeige bitte DEINE Screenshots von den Ordnern bzw. der Registry...

    Hallo!

    ich bin 51 Jahre jung

    hehe, gegenüber anderen Aktiven hier im Forum bist du wirklich "jung" ;) . Viel Spass mit Autoit!

    Aus welchem Grund willst du anfangen zu programmieren und warum gerade mit AutoIt, wo es doch soooo viele andere gerade aktuell "hippe" Programmiersprachen gibt?!

    Hinzu kommt, dass die Wärmepumpe allein nur die halbe Wahrheit ist. Das erfordert zwingend Investitionen in: Volldämmung Dach und Fassaden, 3-fach Verglasung, Lüftungsanlage mit Wärmetauscher. Erst wenn das realisiert ist, ist es auch sinnvoll eine Wärmepumpe einzubauen.

    Das stimmt. HEUTE! Aber jetzt darf doch die Frage erlaubt sein, wieso 2022 ein noch nie da gewesenes Gequieke aufkam, aus Angst, mit einem kalten Hintern den Winter zu verbringen?!

    Seit (nagel mich nicht auf ein Datum fest :P ) ca. 160 Millionen Jahren haben die Säugetiere ein Fell. Um wechselnde Temperaturen auszugleichen und um ENERGIE einzusparen. Menschen haben kein Fell (mehr). Dafür haben wir aber Pullover! Wenn es kälter wird, zieht man mehrere übereinander. Und wir können Feuer machen damit es warm wird! Und eins ist klasse, je dicker der Pullover, desto kleiner kann das Feuer sein!

    Warum haben die ersten Menschen ihr Feuer in einer Höhle gemacht?! Weil es ENERGIE eingespart hat! Es gibt unzählige Beispiele aus der Natur oder der Menschheitsgeschichte wo Energie eingespart wird...

    Wer sich nicht anpasst, der stirbt aus....


    Cut in die "Neuzeit"! Vor ca. 150-200 Jahren wurde eine schmierige, klebrige Pampe ausgebuddelt, die man prima verbrennen konnte! Klasse, man muss keine Bäume mehr abholzen um sie zu verbrennen, das ist gut, denn in den letzten Jahrhunderten wurden ganze Landstriche entwaldet, es gibt sowieso nicht mehr viele Bäume! Und wenn man diese Pampe chemisch aufbereitet, kann man damit auch Motoren antreiben. Sparsam damit umgehen? Was ein Glück gibt es "unendlich viel" von dieser Pampe, hat ja auch Millionen Jahre gedauert damit sie entstehen konnte. Man kann diese Pampe im flüssigen und gasförmigen Zustand zuhause verbrennen und hat es schön warm. Man braucht jetzt auch weniger Pullover!

    Alles gut, so lange es keinen "Zwischenfall" (aka Krieg) gibt! In den letzten hundert/tausend Jahren sind Millionen von Menschen im Winter erfroren. Aus zwei Gründen: Sie hatten zu wenige Pullover und konnten kein Feuer machen!

    Was zu den beiden ultimativen Fragen führt: Wieso hatten die keine Pullover obwohl es seit Millionen Jahren Winter gibt? Und wieso haben die nicht einfach Feuer gemacht?

    Antwort: Die waren ALLE zu langsam! Denn sie waren ALLE auf dem Weg, "den anderen" etwas wegzunehmen. Ob das Bodenschätze oder Technologie war. Seit tausenden Jahren rennen Leute ihren Anführern und deren Ideen ohne Nachzudenken hinterher und krepieren massenweise dabei.

    die Dreistigkeit, mit der die aktuelle Regierung versucht, an allen Realitäten vorbei *snip* diese *snip* IDEEN zwangsweise und de facto sofort einzuführen.

    ...gibt es also schon seit Urzeiten!

    Und genau so lange gibt es eine absolute Minderheit von Menschen, die bestimmte Vorgänge und Technologien weiterentwickeln. Auf die wird aber nicht gehört! Denn das sind die "Anderen"! Spinner, Freaks, Nerds, und das allerschlimmste, manche von denen haben studiert und Ahnung von dem was sie tun! Wenn jemand von "denen" eine gute Idee oder sogar ein gutes Produkt entwickelt hat, dann MUSS das abgelehnt werden, wo kämen wir denn da hin, wenn jeder Freak einfach seinen Mist verbreiten würde!

    Aber wenn die Scheiße RICHTIG HOCHKOCHT, dann wird lauthals genau nach diesen "Anderen" geplärrt, die sollen sich jetzt gefälligst und SCHNELL was einfallen lassen!


    Ja, Menschen machen Fehler, aber muss man diese Fehler immer und immer wiederholen?!

    Wenn doch einfachste Technologie in der Lage ist ein Problem zu lösen, wieso wird es dann nicht flächendeckend VON ALLEN gemacht?!

    Investitionen in: Volldämmung Dach und Fassaden, 3-fach Verglasung, Lüftungsanlage mit Wärmetauscher

    hätte man seit Jahrzehnten FLÄCHENDECKEND etablieren können....hat man aber nicht! STOP! Doch, einige der Spinner, Freaks, Nerds haben das getan, und sparen seitdem das Mehrfache ihrer Investitionen ein! Anstatt sich im Winter einen Pullover anzuziehen haben sie ihrem Haus einen Pullover angezogen und einige haben es geschafft, GAR KEIN Feuer mehr machen zu müssen!


    Das Problem liegt darin, dass die laut rumnölenden Dummschwätzer JEDE Weiterentwicklung ablehnen!

    Es wird viel mehr Energie darauf verwendet Gründe für eine ABLEHNUNG zu suchen, als zu verstehen was an der Weiterentwicklung vorteilhaft ist.

    Als die Brennwerttechnologie bei Heizungen aufkam, erinnere ich mich noch an das Gequieke der Industrie, da wurde ALLES dafür getan, diese Technologie nicht etablieren zu müssen. Genau die gleiche Industrie, die sich heute auf die Schulter klopft....Als ob die Installation von einem Edelstahlrohr als Schornstein zum Untergang das Abendlandes führen würde... ;(

    Niedertemperatur für Fußboden bzw. Flächenheizung? Teufelszeug!

    Außenhautdämmung und hochgedämmte Fenster mit Mehrfachverglasung? Ursächlich für Schimmelbildung!

    Handys? Krebserregend aufgrund Mikrowellen!

    Mikrowellenherd? Krebserregend!

    Lüftungsanlage? Führt zu Zuglufterscheinungen!

    Dieselmotor? Größte Dreckschleuder!

    Internet? Braucht niemand!

    Pelletheizung? Nur was für Ökos!

    Diese Liste lässt sich unendlich fortführen! Ursächlich für die Ablehnung ist allerdings, dass "neue" Technologie von Leuten eingesetzt und angewandt wird, die davon offensichtlich keinerlei Ahnung haben! Aber trotzdem Profit daraus schlagen wollen! Wenn das dann schief geht, sind die "Anderen" schuld... :Face:

    Wenn mein Freund Heinz-Herbert, der Heizungsbauer, einen Brennwertkessel installiert und dann das Edelstahlrohr im Schornstein "einspart" weil "viel zu teuer das Ding und völlig überflüssig", und dann nach einigen Wochen/Monaten der Kamin aufgrund der niedrigen Abgastemperatur versottet weil das Abgas natürlich kälter ist und die darin enthaltene Feuchtigkeit nun im Kamin kondensiert, der Kamin nun irreparabel beschädigt ist, dann ist "natürlich" die Technologie Brennwertkessel schuld! Wer auch sonst?! Heinz-Herbert etwa? Weil der von seinem Job keinerlei Ahnung hat? Weil ich den und sein Geschwätz von "früher war alles besser" voll und ganz verstehe wenn er, anstatt am Wochenende zu einer Fortbildung zu gehen, zusammen mit mir einen Kasten Bier leersäuft? Und weil es wesentlich einfacher ist, laut rumzunölen dass "alles Scheiße" ist, weil die "Anderen" daran schuld sind! Blos nicht selbst den Hintern hochheben und etwas machen! Denken überlässt man "Anderen" und den Pferden, denn die haben einen größeren Kopf!:/

    Solch Schwachsinn kann nur die Goldener-Löffel-Im-Ar... Politikergeneration von sich geben.

    Politiker? Nein, die sind zu allerletzt Schuld....die richten sich nach "DEM VOLK"! Dem Volk ist es nämlich scheißegal was passiert und wer was macht und entscheidet, Hauptsache "der Einzelne" muss nichts aktiv selbst machen! Und so lange man schön warm am Feuer sitzt und "die Anderen" dafür sorgen dass das man auch in Zukunft nicht selbst denken und entscheiden muss, ist doch alles wunderbar! Selbst aktiv die gesellschaftliche Zukunft gestalten? Dann lieber eine der radikalen Parteien wählen, die wollen, dass alles so bleibt "wie früher"...


    Nein, da ist mir lieber jemand versucht die Zukunft "besser" zu gestalten. Und die gemachten Fehler nicht zu wiederholen!

    Alles ist besser, als ohne Pullover dazustehen und kein Feuer machen zu können! Denn vom rumgenöle allein ist noch nie etwas besser geworden und nie wurde damit ein Problem gelöst! Man muss aktiv MACHEN! Und am besten zusammen! Über den Weg dahin kann man ja (unter Beachtung der Gesellschaftlichen Konventionen) diskutieren...

    In diesem Sinne... :theke:

    In meinem Ort haben > 2/3 der Einfamilienhäuser eine Bausubstanz Anfang des vorigen Jahrhunderts (und älter), Sanierungszustand meist um die 1960er Jahre. Um diese Häuser "fit" zu machen stehen Investitionen von deutlich über 100 TE im Raum.

    Ja, wenn man sich 50-100 Jahre in keinster Weise um energetische Sanierung gekümmert hat und "plötzlich" merkt, dass es so nicht mehr weitergehen kann, dann müssen "die Anderen" einem den Arm aus der Sonne legen?

    Wenn man abhängig von Energie und Rohstoffen ist, und es einem 50-100 Jahre egal ist ob man die weiterhin "billig" bekommt, dann muss das gefälligst auch die nächsten 50-100 Jahre so sein? WER entscheidet das und kann es beeinflussen? Eins steht fest: das 80-jährige Ehepaar, welches in einem dieser Häuser wohnt, entscheidet das definitiv NICHT! Und den "Anderen" ist es (mittlerweile) auch egal! Denn weiterhin steht fest: wem es 50-100 Jahre lang egal war, was man mit seinem Tun und Sein in seiner Welt anrichtet, dem ist das auch in Zukunft egal!

    Und diese "Denke" soll weiter gefördert und unterstützt werden? Flächendeckend Abwasser ungeklärt in Flüsse leiten, Braunkohle ohne Filterung verheizen bis man nicht mehr atmen und sehen kann, Landschaften zerstören und die gesundheitlichen und umweltpolitischen Ergebnisse davon unter den Tisch kehren? Echt jetzt? GENAU DAS wurde "früher" (als alles besser war) nämlich gemacht! :rolleyes:

    Und HEUTE, nachdem die "Anderen" KOSTENLOS(!) dafür gesorgt haben, dass die Flüsse wesentlich sauberer sind, die Umweltschäden (erfolgreich) versucht wurden weitestgehend zu egalisieren, man wieder atmen und die Sonne sehen kann, Lungenkrankheiten drastisch zurückgegangen sind, HEUTE wird rumgejammert, dass die "Anderen" ja "nur Scheiße" machen und an allem Elend der Welt schuld sind?

    WERDE WACH! X(

    ich denke das dürfte bei deinen 1800 kWh nicht enthalten sein.

    Ja, wir haben die Erdgeschosswohnung in einem ca. 120 Jahre altem Haus mit 5 Wohnungen. Das Haus hatte nach dem Hochwasser 2002 ca. 8 Jahre leer gestanden und wurde dann weitgehendst wieder saniert. Geheizt wird mit Zentralheizung im Keller mit Gas. Keine Außendämmung, da Denkmalschutz. Das Schimmelproblem des Vormieters hatten wir schnell im Griff, wenn man mit Bauphysik und Fenstern sein Geld verdient, ist das ein Vorteil :D . PV würde sich lohnen, da die Dachausrichtung und der Neigungswinkel optimal sind....aber Denkmalschutz....

    und die Webseite meines Stromanbieters lügt mich einfach mal an XD

    Zu meiner Schande muss ich gestehen, dass ich 2018 den Zählerstand nicht an den Stromanbieter gemeldet hatte. Der hat daraufhin freudig erregt den Verbrauch GESCHÄTZT!. Da meine Tochter 2018 ausgezogen war, wurde natürlich der Verbrauch für 3 Personen angenommen....2019 wurde wieder geschätzt.....2020 hatte ich dann den Zählerstand abgelesen und dem Anbieter mitgeteilt. Daraufhin hatte ich eine Email bekommen, das könne nicht sein, ich solle den Zählerstand korrigieren! Also hatte ich den Zähler fotografiert und das Bild hingeschickt. Es hatte sich herausgestellt, dass unser Verbrauch 2 Jahre viel zu hoch geschätzt wurde, letztendlich hatten die Vorauszahlungen von 2018/2019 ausgereicht, um auch 2020 mitzubezahlen...wir hatten also ein Jahr keinen Strom zu bezahlen. :party: . Aber es steht bei uns ein Umzug an, und da werde ich Wert auf eine entsprechende Ausstattung des Hauses legen.

    Was mich auch dazu bringt, das das Einsparpotential für einen Stromspeicher bei uns sogar bei fast bis zu 50% liegt. 8|

    Der Nachbar meines Bruders hat einen eingebaut und seine bisherige PV stark erweitert. Er ist mittlerweile Strom- und Heizungstechnisch autark! Einfamilienhaus 4 Jahre alt, damals schon (auf mein anraten) ausgestattet mit Wärmepumpe/PV und Solarthermie (die war auch nicht "von der Stange" 8o ). Beide Elektroautos werden per PV "gefüttert", smart "gemachte" Haushaltsgeräte (Waschmaschine/Spülmaschine/Wäschetrockner) laufen dann, wenn die PV Strom liefert. Und als topic wird im Sommer die Wärmepumpe als (kostenlose) Klimaanlage genutzt, je fetter die Sonne runterbretzelt und je heißer es draussen ist, desto kühler seine Bude :klatschen: Mit meiner ersten Wärmepumpe hatte ich Ende der 80er nach dem Studium zu tun. Da wurde ich zum Fan! Warum diese mittlerweile ziemlich genau 200 Jahre alte Technologie hier im Land auf solche Ablehnung stößt, habe ich nie verstanden. Dabei haben alle Haushalte, auch die Wärmepumpengegner, seit ca. 60 Jahren eine Wärmepumpe mit einem SCHEIß Wirkungsgrad (ca. 1) in der Küche in der Ecke stehen....Und da regt sich niemand über den Energieverbrauch auf! Diese Leute fahren auch "lieber" mit Ottomotoren und einem Wirkungsgrad von gerade mal 30%?! Dabei wurden in den 80er Jahren schon Kühlschränke bei gleicher /besserer Kühlleistung und nur 20% vom Energieverbrauch heutiger Geräte gebaut (RMI Sun-Frost)! Aber scheinbar ist solche Technologie im Hochtechnologieland Deutschland nicht gern gesehen. Wobei man fairerweise sagen muss, dass 80% der Bevölkerung hierzulande im technologischen Mittelalter arbeiten (müssen). Aber rumquieken, wenn "die anderen" den Markt aufrollen... :Face:;(

    Wenn ich das bei uns auf je Person runter rechne


    Na klar auf 1 Person gerechnet. Papa, Mama, 2 Kinder bedeutet alles durch 4

    Stimmt so natürlich nicht! Da es Elektrogeräte gibt, die unabhängig von der Anzahl der Bewohner Energie benötigen. Einem Fernseher ist es egal ob einer oder 10 Leute davor sitzen! Der Kühlschrank braucht auch nicht die Hälfte vom Strom, nur weil er von 2 Personen genutzt wird! Der WLAN-Router genau so!

    In einem Haushalt ist es, je nach der Anzahl der Elektrogeräte und Lebensumstände (Waschmaschine, Trockner, ggf. Strom für Warmwasser, Herd / wie oft wird wie gekocht , welcher Computer wird wie oft genutzt uswusf.) völlig unterschiedlich wie viel Strom verbraucht wird.

    Viel mehr spielt es eine Rolle WELCHE Elektrogeräte angeschafft bzw. ggf. sogar getauscht werden sollten! Der Austausch unseres ca. 20 Jahre alten und mehrfach von mir reparierten (Abluft-)Wäschetrockners gegen ein neues Modell hatte sich in 9(!!!) Monaten armortisiert! Allein durch den Minder-Stromverbrauch! D.h. im Klartext: selbst wenn wir uns jedes Jahr einen Wäschetrockner kaufen würden, wäre das immer noch billiger als die alte Stromschleuder weiterzubenutzen!

    Wir (2 Personen) brauchen trotz Warmwasserbereitung (Küche/Bad/Dusche) über Durchlauferhitzer "nur" 1800kWh im Jahr. Trotz diverser Gimmicks, d.h. Zwischenstecker für Fernseher und Kaffeemaschine, Computer, Mikrowelle, die das Gerät im Standby oder nach kurzer Zeit vom Netz trennen, Energiesparlampen, der ganze Zoo von Smartphones, Laptops, Tablets, el. Zahnbürsten uswusf, bin ich ständig auf der Suche nach "Verbrauchern". Aber aktuell ist wohl das Limit so gut wie erreicht!

    Dem Kühl/Gefrierschrank habe ich dank Zeitschaltuhr und abgeklemmtem Thermostat den Strombedarf halbiert, bei einer 2°C höheren Innentemperatur.


    Das nächste Projekt ist mein Rechner. Dem hatte ich im letzten Jahr eine gebrauchte Grafikkarte (RX590) gegönnt, man will ja schliesslich auch beim (Online)Zocken in 27``WQHD mit den Kiddies mithalten können^^

    Diese Grafikkarte hatte ich echt günstig für 120€ geschossen, da ich nicht bereit war, für eine neue Karte mit dieser Leistungsfähigkeit 300-400€ auszugeben. Hätte ich das nur gemacht ;( . Beim "normalen" Arbeiten liegt der Rechner bei 50-60W, wenn aber grafikintensive Programme laufen, dann benötigt der Rechner incl. Karte nun 170W statt vorher nur 50-60W! Also habe ich mir im Treiber Profile eingerichtet, die "normalerweise" die Leistung um 50% drosseln, für die meisten Anwendungen reicht das auch, "spart" dann pro Jahr ca. 40€. Da ich idR. Hardware so lange benutze, bis sie auseinanderfällt, wäre es besser gewesen, eine der "teuren" neueren Karten zu kaufen! Die brauchen, trotz höherer (Grafik-)Leistung nur die Hälfte vom Strom!


    Mein Vater (der alte Hobbyelektriker) hat da was gebastelt, sodass wenigstens alle Kühlschränke und Gefrierschränke und einige andere kleine 24/7 Verbraucher auch Nachts über Solar laufen

    Meine Frau und ich hatten vor einigen Jahren eine Weiterbildung zum Projektmanager für Alternative und Erneuerbare Energien gemacht, da ist der Energieberater "nebenbei" mit abgefallen. Im Anschluß daran hatten wir einige Projekte in Ein+Mehrfamilienhäusern, von energetischen Komplettsanierungen (auch vor 12 Jahren war eine Wärmepumpe schon eine gute Idee!!) über Teilsanierungen bis zu (damals gab es diese Bezeichnung noch gar nicht^^) "Balkonkraftwerken"! Letztendlich hatten wir uns dann doch beruflich anders orientiert, aber die "Bastelei" ist geblieben! Jedenfalls bei anderen, in Ermangelung eines Balkons haben wir auch kein Balkonkraftwerk. Dafür betreue ich nebenbei eine PV mit 740.000kWh/Jahr und schraube privat gerne an Stirlingmotoren. Übrigens, wer Wasserrechte besitzt und/oder in Kürze erbt und nicht weiß, was er damit machen soll, bitte bei mir melden :saint: !

    Deshalb meine Empfehlung: Bei reinen mehrdimensionalen Arrays den Klammerbeutel im Schrank lassen. ;)

    ....was als Seiteneffekt den Debug-Aufwand bei "fehlerhaften" Zugriffen um 100% reduziert!

    Will man das Ganze als Schleife verarbeiten, kann man zwei geschachtelte Schleifen nutzen, z.B

    Die Quintessenz zum Thema! Es könnte alles sooo einfach sein....


    Letztendlich dreht sich doch alles um n-dimensionale Arrays. Und da sollte man die syntaktisch einfachste und gängigste Syntax verwenden, bei der auch ein Syntax-Parser nicht "verwirrt" werden kann.

    Und ja, Klammern müssen gesetzt werden, um das korrekte "Rechenergebnis" zu erhalten $erg=$a+$b*$c und $erg=($a+$b)*$c

    Aber bei einem relativ simplen 2- bzw- 3-dimensionalen Array diese größtenteils nicht nachvollziehbaren "Klammer-Experimente" im Code zu zelebrieren, nur weil das fancy aussieht, halte ich gelinde gesagt für überflüssig.

    Für Hardliner gibt es glücklicherweise auch debugbare(!) Möglichkeiten, s.

    Die >>JSON-UDF<< bringt bereits Funktionen mit, die hier weiterhelfen können.

    Der Vorteil der _JSON_addChangeDelete() wäre, dass 1. die gewohnte Syntax - halt in einem String - verwendet werden kann und 2. noch viel komplexere Verschachtelungen - auch mit Maps und Dictionaries - hiermit behandelt werden können.

    Ich denke da sollte kein professioneller Programmier drüber schauen -

    Glaub mir eins, wenn du jahrelang mit "professionellen" Programmierern zu tun hast und teilweise MONATE(!) auf ein Update/Bugfix mit ähnlichem Umfang wie das von dir in Minuten/Stunden gefixte "Problem" warten musst, und dich dann selbst hinsetzt und programminterne Module ersetzt und erweiterst damit man mit dieser "gestrickten" Software überhaupt sinnvoll arbeiten kann, DANN kannst du einschätzen was "professionell" heißt!

    Ist jemand, der in 16 verschiedenen Programmiersprachen Code "klimpern" kann, und dabei absolut keine Ahnung hat, was die eigentlichen Anforderungen eines Kunden aks Anwenders sind, professionell? Definitiv nicht. Genau so wenig wie sich ein "professioneller" Automechaniker von einem der neuerdings verbreiteten "Teiletauscher" unterscheidet, der das eigentliche Problem nicht analysieren und beheben kann, sondern wahllos Möglichkeiten ausprobiert....

    Professionelles Arbeiten ist keine Sache des Programmierstils, sondern der Intention dahinter.

    Ja, ich kann auch meinen Namen klatschend auf einem Bein hüpfend ganz "hip" meine Problemlösung auf sämtlichen Mediakanälen verbreiten und mich dafür von den anderen Hüpfern und Klatschern feiern lassen, aber ob das in irgendeiner Art und Weise die Welt verbessert stelle ich doch sehr in Frage!

    für diesen arg unwahrscheinlichen Sonderfall noch diese Anpassung mit reinzudängeln.

    Wieso Sonderfall? Die Anzahl der angehängten Nullbits entstehen doch immer, wenn die Summe der Anzahl der enkodierten Bits nicht glatt durch 8 teilbar ist. Und der Dekodierere "zufällig" beim angehängten Bitmuster ein Zeichen (Blatt des Huffman-Baums) erkennt.

    Aber das ist generell eine Designfrage....Maximal sind 7 Bits aufzufüllen. Man muss also nur eine Kombination von Bits zum Auffüllen verwenden, die NICHT zu einem zu dekodierenden Zeichen führt, also beim Erreichen eines Nodes endet. Aber mir persönlich wäre das zu kompliziert, ich würde die Anzahl in 3 Bit irgendwo unterbringen und auswerten.

    zu verstehen was ich eigentlich gemacht habe

    nanana... :D . Der/dein Code ist, wie üblich, einfach nur GEIL! Für mich jedenfalls ist es immer eine Inspiration, diese exzessive Beachtung sämtlicher(!) Design- und Coderegeln "debuggen" zu dürfen....so jedenfalls gehe ich an anderer Leute Code ran: Völlig ahnungslos und Unvoreingenommen zerlege ich die Struktur und setze mir (Scite und seinen Debug-Funktionen sei Dank) reichlich Infoausgaben, um herauszubekommen, was GENAU passiert. Und wenn man dabei über bspw. die o.g. "Kleinigkeiten" stolpert, um so besser! :thumbup: Code improvement FTW!

    AspirinJunkie

    In der Funktion _huff_decodeBinaryToString() versuchst du ganz zum Schluß per RegExReplace() etwas, was imho so nicht funktionieren kann...außer bei "Textdateien" aka Dateien ohne Nullbytes.

    Was aber funktioniert, ist diese Anzahl an aufgefüllten Nullbits als Byte an den enkodierten String anzuhängen und diese Anzahl Bits beim Dekodieren nicht zu berücksichtigen.


    Der enkodierte String wird damit zwar ein Byte länger, das hat aber den Vorteil, dass man beim Dekodieren beim Erreichen des "letzten Bytes" die angehängten Nullbits nicht "dekodiert", sondern das dekodieren beim Erreichen des letzten "echt kodierten" Bit abbricht.

    Dann funktioniert diese Funktion und auch die UDF nicht nur für Textdateien sondern für jede Art von Daten.

    Bin ganz bei dir....manchmal muss man "out of the box" denken damit man nicht vollkommen verblödet^^

    Der Grund warum ich niemals "sinnvolle" Sachen mache ist, weil ich genau weiß, dass es irgendwo irgendwen gibt der genau das Selbe schonmal gemacht hat.

    Die Frage die ich mir dabei immer Stelle und was mich auch fasziniert ist: Was hat den "irgendwo irgendwen" dazu gebracht, genau DAS so zu machen?!

    Deshalb mach blos weiter mit deinen Permutationen! :klatschen:

    Tja und dann kommt ihr und haut Methoden raus um das Char-Array noch weiter einzudampfen.

    Hehe, naja, die Hauptarbeit hast du ja schon erledigt 8):thumbup:


    Mars´s Ansatz ist, auch für meine Begriffe, ziemlich abgefahren. Ich vermute, dass ich ansatzweise weiß um was es dabei geht, aber ehrlich gesagt sehe ich wenig Sinn in einer Optimierung im unteren Promillebereich! Daher konzentriere ich mich auf nicht ganz so esoterische Verfahren :saint:


    Interesse hatte ich seit Oscars Thread am Thema ! Leider war ich damals gehandicapped, hatte eine komplette Netzhautablösung und die hat mich dann einige Monate nach der OP noch beschäftigt. Wenn man nichts (richtig) sehen kann, ist auch nicht gut programmieren^^


    Aber das Problem sollte klar sein, wie oben schon gesagt! Den komprimierten String weiter komprimieren ist die eigentliche Aufgabe! Ich werde mal meine Ansätze Bitrotation/Bitverschiebung, Bitwasweißichgedöns exzessiv durchprobieren und schauen was dabei rumkommt....

    Btw. der Joke oben mit dem Primzahlscript geht mir seit gestern durch den Kopf....die anderen Bitmanipulationsverfahren geistern ja auch schon lange durch die Literatur, alle versuchen den bestehenden String so zu manipulieren dass er (minimal) kleiner wird....was aber, wenn man durch zusätzliche, ggf. auch reichlich eingestreute Bits einen Hebel für bspw. RLE / Lauflängenkodierung ansetzen könnte? :/ Auch in der Assembler-Trickkiste schlummern noch etliche, heutzutage kaum noch angewandte Bitmanipulationstricks, auch XOR ist einen Blick wert!

    Ah, jetzt ist das verständlicher!

    Das läst sich auf eine jede Anwendung anwenden

    So du denn eine Bildschirm-Hardcopy anfertigen kannst, was mittels GDI bei keiner mit bspw. DirectX/OpenGL erstellten Oberflächen funktioniert.Außer du benutzt die Screenshotfunktion des Spiels/Programms

    Aber auch da habe ich etwas womit ich mich seit ca. 2 Jahren in AutoIt herumschlage und kurz vor der Veröffentlichung stehe, Screenshots mit der Frequenz des aktuell verwendeten Bildschirms. Heisst bis zu 120 Screenshots pro Sekunde bei WQHD (2560x1440) in reinem AutoIt-Code. Da aus dem Framebuffer der Grafikkarte kopiert, ist die verwendete Grafikschnittstelle weitgehend unerheblich. Und nahezu ohne Prozessorlast.


    Wenn ich das jetzt aber richtig verstehe willst du den Screenshot anfertigen bzw den Teilbereich auf dem Bildschirm auswählen, dieses Bild "übersetzen" lassen und danach wieder auf dem Screen einfügen?

    Der Weg über die Google-API wäre sicherlich "kürzer" d.h. schneller und einfacher zu implementieren, auch müsste keine Bilddatei erstellt werden.

    Da aber eine Anmeldung bzw. ein Konto erforderlich ist, würde ich in deinem Fall die Steuerung der Google-Website vorziehen.

    Was man allerdings beachten sollte: Google führt nicht umsonst einen dermaßen "aufwendigen" Weg über die Website durch. Das ist imho, um den "exzessiven" und automatisierten Zugriff auf diesen Service einzuschränken. Du solltest also prüfen, ob eine Automatisierung über diesen Weg bei Google "erlaubt" ist.


    Um die Website zu automatisieren bietet sich, wie bereits oben erwähnt und verlinkt, die Webdriver UDF an. Da habe ich selbst noch nicht sonderlich viel mit gearbeitet, bzw. nur rudimentär einiges probiert. Ggf. solltest du die ausgewiesenen Spezialisten kontaktieren bzw. einen Thread explizit mit dieser Aufgabenstellung erstellen.

    Alternativ könnte man auch RLE auf die vorherige Methode (sortiertesCharArray in binärform nach dem Huffman) anwenden. Das gibt bestimmt auch nochmal ein paar bytes.

    Hier wird erklärt, wie man (ich vermute im best case maximal!) ca. 1% mit Hilfe der RLE aus dem Bitstream herausholen kann. Ohne am Verfahren etwas zu ändern!

    1% "fühlt" sich jetzt nicht viel an, aber bei 1MB an kodiertem/komprimiertem String sind das 10kbytes.

    Da musst du dich bei den

    ist... 73334 ->73319 Bytes, und ich bin stolz drauf :rofl:

    noch ein bisschen strecken 8o (immerhin 0,02%, aber was solls, wie du schon bemerkt hast: Der Weg ist das Ziel! :thumbup: )

    weil mir keine gute Methode eingefallen ist um zu entscheiden welche Operation man jetzt durchführt.

    Hehe, dann halt dich mal fest! 8|

    Man muss ja nicht unbedingt WENIGER Bits haben! Wenn man den fertig komprimierten bzw. enkodierten String mit Bits erweitert und dann dadurch (wieder) einen gut zu komprimierenden/encodierbaren String erhält, dann ist das Ziel erreicht!

    Ob das mit Bitrotation, Bitweise Vertauschen, Bitwasauchimmergedöns oder, wie im Beispiel unten mit Erweiterung von Bits an der Position von Primzahlen erreicht wird, ist unerheblich!

    Die Aufgabe ist: Finde die Methode, um den bereits komprimierten String weiter komprimieren zu können!


    Hi,

    Sonst wird sich kaum einer hierfür interessieren.

    DOCH! :party:

    Wie komme ich aber auf diese genaue Permutation oder gehen auch andere?

    Ich hatte einen ähnlichen Ansatz "damals" bei der Text-Kompressions-Challenge.

    Dort hatte ich einfach wahllos (nach einfachen Regeln, bspw. ROL oder Bits vertauschen) Permutationen von Bitsequenzen verwendet und mit der besten (gefundenen) wurde weiterkomprimiert. Ich hatte keine Regel gefunden, um zielgenau zu permutieren (nennt man das so?)

    Wenn es theoretisch (!) diese Regel GÄBE (!), d.h vor der Kodierung über eine Analyse feststehen würde wie die optimale (!) Permutation aussehen würde, dann....ja dann wäre wohl ein Nobelpreis fällig! :klatschen:

    Dass es funktioniert ist klar, die Frage ist nur, wie gießt man die Regel zur optimalen Permutation so klein in die Wertetabelle, dass diese letztendlich kleiner ist wie vorher, was ja der Zweck der ganzen Aktion ist! Letztendlich wird es darauf hinauslaufen, etliche "Bit-verschiebe/tausch/rollieren/ergänzen"-Verfahren wahllos durchzuprobieren bis ein für Huffman "besserer" String entsteht.

    Und dann die Abfolge der durchgeführten Vorschriften vor den zu dekodierenden Binärstring hängen....


    Betrachtet man den String nämlich binär und nicht als bspw. 8-Bit-Ascii-Zeichen, potenzieren sich die Möglichkeiten....

    Das Ziel soll ja sein, aus vorgegebenen Bitsequenzen durch bestimmte Verfahren besser zu kodierende Bitsequenzen "herzustellen".


    Simples Beispiel ganz ohne Permutation von Bitsequenzen:

    Nicht gut zu kodierender/komprimierender String -> gut zu kodierender/komprimierender String


    da es bei Chat und Anweisungen ständig benutzt werden.

    Hmmmm...welcher Chat? Im Browser? Ich hatte mir so etwas fast schon gedacht....und auch ein XY-Problem vermutet.

    Sag erstmal was du erreichen willst und nicht, was du dir vorstellst wie es erreicht werden KÖNNTE!

    So wie es aussieht willst du nämlich TEXT übersetzen und keine Bilder analysieren....