Beiträge von Andy

    Aber auf Grund meines alters, wird dass in diesem Leben nichts mehr.

    Ich sehe das genau anders^^ Je älter ich werde, desto mehr will ich noch (dazu-) lernen...und in einigen Jährchen, wenn ich dann in Rente bin, habe ich auch endlich genug Zeit dafür! :rock:

    Hmmm, ich scheine das Problem nicht verstanden zu haben...du HAST doch bereits die Daten im Array?!

    struct;char Name[4];char id[36];endstruct

    Beinhaltet im Bereich Name 4 Elemente und id 36 Elemente, richtig?

    Richtig, wobei noch zu beachten ist, dass die DllStruct 1-basiert und ein Array 0-basiert ist!

    Ok! Das ist noch besser, als die Int- oder Number-Version. Danke! :)

    Aber auch nicht weniger inkonsistent! Bei der Suche nach "double brackets" habe ich weder im bugtracker noch in den einschlägigen Foren etwas dazu gefunden.

    Die Dot-Notation bei DllStruct und insbesondere die Ansprache von Array-Indizes über die Klammer ist jedoch überhaupt nicht definiert

    Schade eigentlich, dass sich da niemand für interessiert bzw. eine Definition forciert. Genau wie bei ObjCreateInterface, damit hatte ich mich über ein Jahr beschäftigt, und einige Dinge sind mir immer noch unklar. Nicht bezüglich der M$-Dokumentation der Funktionen, die ist astrein, aber bzgl. einiger "Ungereimtheiten" in der Implementierung.


    Ich habe immer mehr das Gefühl, dass, und das ist nicht nur bei den Programmiersprachen bzw. -techniken so, bei 90% der Entwicklung stehen geblieben wird, weil die letzten 10% Arbeit um es RICHTIG zu machen zu viel Aufwand erfordern...oder zu viel Skill bzw. knowhow...

    Und leider sind die "Spezialisten" dafür SEHR dünn gesät. Oder auf die wird nicht gehört...

    Hey AUTOIT321,

    was genau willst du mit den Daten denn machen? Nur anzeigen? Wieviel Text wird angezeigt? Das einfachste zum "nur gucken" ist die Messagebox, die ich genau dazu auch zum debuggen verwende (in Scite den Cursor auf die Variable stellen und dann die Tasten CTRL-SHIFT-D drücken)

    Hi,

    Öffne die Datei im ASCII-Format, ohne das "automatische" UTF8/16/32 mit/ohne BOM uswusf....was offensichtlich und immer wieder in die Hose geht...

    $h=FileOpen($lied,512) , dann klappts!

    Auch wenn ich AspirinJunkie zu 100% zustimmen muss, im Screenshot stimmt die Farbe also...

    Wenn es dann also unbedingt ein Farbensuchspiel sein soll, dann Screenshot machen und im so enthaltenen Bild die Farbe suchen. Dann ist die Position natürlich global, aber die Position des Fensters ist ja bekannt. Alternativ einen Screenshot vom Fenster machen und darin suchen.

    Ich spiele das immer solo

    Naja, selbst einen Server aufzusetzen und zum Coop jemanden einzuladen sollte ja nicht das Problem sein. Macht sicher Spass, habe da auf YT schon gesehen wie auf "schwierigen" Maps das auch für mehrere Spieler zu einer Herausforderung werden kann. Man sieht sich dann ingame ;)

    Und die "einfache" AutoIt-Basic-Syntax in etwas RISC-Assembler ähnliches umzusetzen macht sicher auch Spass...wobei ich auch im "richtigen" X86-Assembler nur drei Handvoll Befehle verwende, meistens jedenfalls^^

    OH EMM GEH !!!!!

    Hab Mindustry runtergeladen (gestern Abend) und bin seitdem am suchten....DAS ist genau mein Ding!

    Hab auch schon Tutorials angeschaut bzgl. "Programmierung" auf YT, aber ich stecke aktuell bei ganz anderen Sachen fest...hehe...erst mal auf einer Map die gegnerische Base besiegen....


    Spielst du in einem Team? Ansonsten schau ich mal auf Discord rein...

    Hey Mars!

    Habe gerade in der shoutbox hiervon gelesen...immerhin fast 2 Jahre nach Threaderstellung :D

    Coole Sache das!!

    Ich als TD-Fan zocke meist nur in (alten) Warcraft III-Karten, da werde ich ca. 200 haben^^, leider läuft auf den Servern im Battle.net nichts mehr, daher nur solo oder mal mit Freunden/Kindern im WLAN.

    Was ich bisher von Mindustry und vor allem dem Mehrspielermodus gelesen habe hört sich jedenfalls vielversprechend an....

    Ggf. hau ich dich demnächst mal an, auf Steam gibts das Spiel ja für kleines Geld!


    Und btw.

    Also habe ich vor einigen Tagen angefangen einen Compiler zu schreiben

    allererste Sahne!!! :klatschen::rock:

    Wie ist der aktuelle Stand?

    Hi,

    hipfzwirgel , wie Oscar bereits beschrieben hat, ist ExtMsgBox per Konstruktion "Modal", was in diesem Zusammenhang bedeutet, dass es eine Abhängigkeit zu einer Interaktion mit dem User gibt. Klartext: Das Fenster bleibt so lange auf dem Schirm und das Programm so lange angehalten, bis der User mit dem Fenster interagiert!

    Wenn du ein "Nicht-modales Fenster mit der Darstellung der ExtMsgBox brauchst, wieso änderst du dann nicht einfach Melbas code zu einer Funktion ExtMsgBox_nonmodal? Die gibt dann nicht den Statuscode der Funktion zurück den du sowieso nicht brauchst sondern den Handle der GUI, also $hMsgGUI.

    Du musst doch nur die Abfrageschleife für die Buttons und den Timeout löschen und die "ExtMsgBox"-GUI nach dem Aufruf deiner Funktion(en) HWS/HaWe löschen...wie bei einer "selbstgestrickten" GUI auch?! Da geht zwar 90% der Funktionalität der ExtMsgBox() flöten, aber die brauchst du doch für deinen Anwendungsfall nicht!

    Wobei ich persönlich mir diesen Krampf nicht antun würde...Eine GUI nach GENAU DEINEN VORGABEN zu erstellen und zu managen sollte auch nicht das Problem sein.

    Peter S. Taler, ich kann durchaus verstehen, dass du nach dem Post von Andy etwas angefasst warst. Ich hatte nach dem Lesen deines ersten Posts schon den Gedanken "Das triggert den Andy".

    Made my day! :rofl:

    Ja, und ich ärgere mich auch darüber. Nicht, dass ich in meiner "liebreizenden Art" geantwortet hatte, dahingehend hatte ich mich übrigens in diesem Post sehr stark zurückgenommen (!), sondern dass ich überhaupt auf diesen User geantwortet hatte....das hatte ich mir in den letzten Jahren verkniffen...

    Und schön, dass nicht nur ich "getriggert" wurde :D

    Aber glaub mir, wenn dir Andy im Biergarten gegenüber säße, würde er sagen: "Das ging nicht gegen dich als Person, aber ich schieße mit breitem Streufeuer und du standest nun mal gerade im Weg."

    "Trifft" (haha...Wortspiel gefunden^^) es ziemlich gut! ;) Und es trifft den Punkt! Denn wenn es nicht gegen eine Person geht, dann doch gegen die Aussage bzw. den Hintergrund dieser?! Was ist die Intention? Ich sehe die Intention dieses und anderer Foren, und übrigens auch überhaupt die Kommunikation mit anderen Menschen, nicht GEGEN-, sondern MITEINANDER ein Problem zu lösen. Und dazu gehört zwangsläufig, sich mit dem Problem und den eventuellen Lösungen KONSTRUKTIV auseinanderzusetzen. Und auch die Meinungen und vor allem die Argumente der anderen und auch deren Ausgangsposition zu berücksichtigen. Dabei nehme ich für mich in Anspruch, Lösungsorientiert statt Problemorientiert zu arbeiten!


    Es ist viel einfacher, sich in der Herde schreiend "Es ist alles sch***"- grölend durch die Landschaft (aka Internet) zu bewegen, statt eine KONSTRUKTIVE Lösungsmöglichkeit für das aktuell vorliegende Problem Aufgrund vorliegender Daten auszuarbeiten und zu präsentieren.

    Das "alles sche***" ist, braucht mir niemand zu erklären, das weiss ich selbst! Ich will anhand vorliegender Lösungsmöglichkeiten eine Auswahl präsentiert bekommen, um daraus dann die möglichst optimale, FUNKTIONIERENDE, Lösung ausarbeiten zu können.

    In diesem Prozess unter völliger Ignoranz der Vorgaben EINFACH eine Lösung zu präsentieren, die zufällig "bei mir funktioniert" ist einfach nur kontraproduktiv. Raubt Zeit, Geld, Ressourcen und hält andere ab, sich mit dem Thema zu befassen.


    Zum Thema!

    Der TE bordermax ist seit 12 Jahren hier im Forum aktiv, anhand seiner Beiträge ist klar, dass er sich im "professionellen" Umfeld befindet und auch weiß, was er da tut!

    Wie ist dann ein Thread eines Users zu bewerten, der "den lästigen Stress" mit einer Software dadurch lösen will, in dem er vorschlägt, diese "einfach" und auch noch durch eine portable Version zu ersetzen?! Ohne zu wissen, was das für die Administration, Zusammenarbeit/Abhängigkeit mit anderer bestehender Software und Stabilität auch nur ansatzweise für katastrophale Auswirkungen haben könnte?

    Das "lästige" Programm tauschen? Als ob bordermax darauf nicht als allererstes drauf gekommen wär! ICH, und auch viele andere, die sich im produktivem Umfeld bewegen, denke schon, dass diese Option durchgedacht und aus o.g. Gründen verworfen wurde!

    Was sagt also so ein Vorschlag aus? Passt der Post überhaupt zum Thema? Und aus welchem Grund wurde der Post erstellt?:/



    bordermax/Markus, bitte kurze Rückmeldung im Fall einer funktionierenden Lösung. Ich habe einen (nicht sehr EDV-affinen) Kunden, der ähnliche Vorgaben und Voraussetzungen hat.

    Und es wäre im Sinne des "Netzwerkens" schön, auch jemandem abseits der direkten Geschäftsbeziehung mit einem Dreizeiler und einer "Ein-Klick-Lösung" helfen zu können. :saint:

    Verzichte doch auf den Acrobat

    Das ist absolut keine Option!

    In den allermeisten Umgebungen sind Adobe-Programme nicht "zum Spaß" in Verwendung! Sondern weil entweder der Workflow der Bearbeiter im Netzwerk, Zusammenarbeit mit Drittprogrammen oder der Support diese Softwareprodukte erforderlich machen!

    Wenn "Gretchen Müller" zuhause 5x in der Woche PDFs audrucken möchte, dann ist das etwas völlig anderes als in einer Firmenumgebung mit hunderten oder tausenden Mitarbeitern.

    Da MUSS Software funktionieren und meistens tut sie das auch, andernfalls greift da der Support, mit dem ich auch schon oft SEHR gute Erfahrungen gemacht habe, allerdings manchmal auch gegen die Wand laufe....

    Und dann muss man entsprechende Entscheidungen treffen mit ALLEN Konsequenzen.

    Es gibt jede menge PDF Programme die portable funktionieren entweder freeware sind, oder nur kleines Geld kosten.

    ...die du auch schon für mehrere dutzend/hundert/tausend Mitarbeiter eingerichtet und administriert hast, und die im Problemfall auch innerhalb von Stunden oder sogar auf Zuruf eine Lösung anbieten?!

    Ich mach das seit Jahren so... und das funktioniert ohne Probleme...

    Bei dir....und wie kommst du darauf, dass das bei anderen, deren Rechnerumgebung du nicht kennst, das genau so ist?

    Hi,

    Interessanter Thread zu diesem Thema->

    ShellExecute / Acrobat Reader / Print verb / SW_HIDE
    Hey Guys, I have noticed something really interesting. All though actually every single application works perfectly fine with all possible show flags, acrobat…
    www.autoitscript.com

    Insbesondere der letzte Abschnitt des letzten Posts...

    Und die Referenz zum Objekt.

    Developing for Interapplication Communication — Acrobat-PDFL SDK: Interapplication Communication


    Die Funktion _FilePrint schickt aber die PDF's zum Ausdrucken immer über den Adobe Acrobat 2020 und dieser macht in meinem Script Probleme

    Weißt du das, weil Acrobat ein Fenster öffnet? Adobe hat lt. Community-Foren schon vor Jahren den "Silent"-Druckmodus "entfernt". Nach deren Info wird für jeden Print ein eigenes Fenster geöffnet, welches der User händisch schließen muss. Verbirgt man nun diese Fenster, indem man entweder in den Eigenschaften der *.lnk-Datei (shortcut der Datei im Startmenü) händisch "minimiert" einstellt, oder per Script diese Fenster übereinander stapelt, dann verweigert die Software irgendwann die Arbeit so lange, bis das/die Druckdialogfenster geschlossen werden.

    Ggf ist es also erforderlich, nach dem Druck des Dokuments per AutoIt das Drucken-Dialogfenster zu schließen....


    //EDIT

    Ich hatte "früher" ausschliesslich per per Copy-Befehl direkt aus dem BS auf einen spezifischen Drucker gedruckt, teste das doch mal bitte per Run()/RunAs()

    ">copy c:\blablub\test.pdf \\<servername bzw. IP>\<Druckername>

    Mit *.pdf werden dann alle pdf-Dateien in diesem Verzeichnis an den Drucker geschickt.


    Oder du machst es auf die richtig "harte" Tour und killst den Adobe-Prozess nach jedem Druck.

    Hi,

    _FilePrint() nutzt die ShellExecute()-Funktion, sollte also das mit dem PDF verknüpfte Programm laden...

    Das Standard-Procedere, "Reboot tut gut" hast du durchgeführt, im Netz/RDP reicht idR auch Logout/Login?!

    Wenn du "händisch nur ein ShellExecute(deinePDF-Datei) ausführst, was passiert dann?

    Im Prinzip kann das ja nur so laufen, dass das Betriebssystem für den Pointer einen Zähler hinzufügt und schaut wenn es keine Referenzen mehr auf den Speicherbereich gibt.

    Was dazu führt, dass die Methode,

    Wöllte man also ein schnelles ReDim implementieren, müsste man die Arraydefinition speicherdynamisch per malloc() umschreiben und hätte dann noch die Aufgabe an der Backe immer schön dafür zu sorgen, dass der Speicher am Ende in jedem Fall per free() wieder freigeräumt wird und auch alle Pointer müssen immer schön nachgezogen werden bei Änderungen.

    Das tut Jon sich aus nachvollziehbaren Gründen nicht an, sondern macht es stattdessen einfach per Neudefinition und Umkopieren.

    (neuerdings?!) so gut wie immer verwendet wird.

    Was wiederum immer öfter bei sog. "Updates" diverser Programme dafür sorgt, dass man (ich hatte zu diesem Thema schon mehrere Postings erstellt) zwangsläufig zu dieser Fragestellung kommt ->

    also dass verkleinernde ReDims früher mal deutlich schneller waren. Aber vielleicht bilde ich mir das auch nur ein... :/

    Nein, du bildest dir da überhaupt nichts ein!

    Was aber im Endeffekt nichts anderes bedeutet, als dass die Software-Ersteller (darf sich so jemand überhaupt noch "Programmierer" schimpfen?!) aufgrund dessen, dass die Hardware etwas schneller geworden ist, nun "langsamen", weil leichter wartbaren und auch einfacher verständlichen Code verwenden, um sich das Leben einfacher zu machen. Die Möglichkeiten der Hardware werden nicht einmal ansatzweise ausgenutzt!


    Das fängt bei Algorithmen an und hört dann bei Implementierungen auf...

    Und da stupides Copy/Paste von Funktionen zum Tagesgeschäft geworden ist, muss ich niemand wundern, dass u.a. katastrophale Sicherheitslücken über Jahrzehnte weltweit in Software gegossen wird! Log4j ist nur eins von vielen Beispielen, ein durchaus lesbarer Artikel zu diesem Thema befindet sich hier.

    Das ist auch mein größter Kritikpunkt an den sog. "Open Source"-Verfechtern. Diejenigen, die am lautesten nach Open Source schreien machen das ja nicht um diesen Code auf Schwachstellen analysieren zu können, sondern um "billig" an ebendiese dann "kostenlos" verfügbaren Funktionen zu kommen!

    Und da die Hardwareentwickler sich glücklicherweise den Ar*** aufreißen um mittlerweile an physikalische Grenzen zu stoßen um die letzten x Promille an Geschwindigkeit aus dem Silizium zu quetschen kann man sich Softwareseitig nun beruhigt darauf konzentrieren, "einfachen" (langsamen) Code und Algorithmen einsetzen zu können....natürlich wird dadurch das Produkt im Endeffekt "besser", win-win, Halleluja!


    Im Bereich "Consumer 3D-Druck" ist das Problem systemimmanent! Die Hardware ist mittlerweile durch "cloning" extrem leistungsfähig und dabei noch preiswert. Die Qualität und Herstellgeschwindigkeit des Produkts, also des Ausdrucks, wird allerdings nicht (mehr) maßgeblich durch die Hardware bestimmt, sondern über die Innovation(en) der Software! Dabei tritt der gleiche Prozess auf, wie schon oben angesprochen bei den Sicherheitslücken. Die etablierten Hersteller der bspw. Slicing-Software müss(t)en, um die (Weiter)Entwicklung zu forcieren, überproportional viel Manpower und Ressourcen in Form von Forschung investieren, nur um dann festzustellen, dass das dann "neue" Feature innerhalb von Stunden weltweit "kopiert" und mit der Hardware aller anderen Hersteller benutzt wird!

    Wenn nun also mit dem Produkt kein Geld verdient werden kann, dann bleibt die Weiterentwicklung an einer Handvoll Freizeit-Enthusiasten hängen, die wiederum hoffen, über einige generierte Klicks auf deren Media-Accounts wenigstens einige Taler in die eigene Tasche gespült zu bekommen.

    Eventuelle "Fehler" in der Software, die, ein JUHUUUU an Open Source, nun "natürlich" auch von den etablierten Firmen verwendet wird, kann man nun glücklicherweise einem oder einer Handvoll "Freizeitprogrammierern" anlasten.....welch eine schöne Welt!


    Und wer sich jetzt fragt wieso weltweit führende Softwarehersteller in ihren Produkten trotz Verfügbarkeit von Zehntausenden an "Programmierern" jahrelang bekannte Bugs nicht fixen, dem empfehle ich weiterhin, "Clone" und "Open Source" zu benutzen!

    Wer nicht bereit ist, für Innovationen und Entwicklungen sowie Produktpflege und Support Geld auszugeben, der muss zwangsläufig damit leben, den Technologisch hinteren Teil der verfügbaren Möglichkeiten benutzen zu können!

    AutoIt ftw!!! :ironie:

    Einer der größten Elektronik-Hardwarehersteller der Welt hat dieses Problem dadurch gelöst, seine Hardware mit der Software zu verdongeln und so die User gezwungen, exorbitant viel Geld für die zugegebener Maßen gerechtfertigte Leistung an Gegenwert zu zahlen! :/ Geht also doch....