Beiträge von Andy

    Bin nicht der Einzige der das Computerzeitalter der 80er durchgemacht hat

    Willkommen im Club! :klatschen:


    Da ich als DOS-Jünger der ersten Generation auch keine Probleme mit der Konsole/Konsolenanwendungen habe/hatte, stößt mir die o.g. "Lösung" besonders auf.... :rolleyes:

    "Früher" hätte ich das sicher sofort bemerkt. Aber auch bei mir macht sich das fortgeschrittene Alter und die Mausschubserei bemerkbar....

    oder ShellExecute()

    Das hatte ich (genauso erfolglos) bereits probiert....

    Das Kommando test findet er als exe-Datei im aktuellen Working-Directory liegen und ruft es entsprechend auf.

    Shellexecute macht ja nichts anderes, außer dass es vorher in der Registry nach "mit der Anweisung verknüpften Programmen" sucht. In diesem Fall nach ausführbaren Dateien, aka Kommandozeile.

    Hi zusammen,


    habe heute folgendes festgestellt, AutoIt 3.3.14.5, Win10


    Wenn in einem Verzeichnis zwei Dateien existieren, deren Dateinamen sich nur am Ende unterscheiden, bspw. "test.exe" und "test neu.exe", dann startet RUN("test neu.exe") die "test.exe" ?!

    Ist das ein bekannter Fehler oder mache ich etwas falsch?


    Testscript "test.au3" compilieren und starten, es wird bei mir nie die Datei "test neu.exe" ausgeführt, sondern nur die Datei "test.exe"



    AutoIt: test.au3
    MsgBox(0, @AutoItPID, @ScriptName )                                           ;Dateinamen anzeigen
    
    $neu = StringReplace(@ScriptName, ".exe", " neu.exe")                                                                         ;Dateinamen umbenennen
    MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$neu' & @CRLF & @CRLF & 'Return:' & @CRLF & $neu)  ;### Debug MSGBOX
    
    $ret = FileCopy(@ScriptName, $neu)                                                                                            ;neue Datei erstellen
    MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$ret' & @CRLF & @CRLF & 'Return:' & @CRLF & $ret)  ;### Debug MSGBOX
    
    $PID = Run($neu)                                                                                                              ;neue Datei starten
    MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$PID' & @CRLF & @CRLF & 'Return:' & @CRLF & $PID)  ;### Debug MSGBOX

    Hi,

    wir (4 PC´s plus diverse Laptops, Monitore) benutzen privat schon seit vielen Jahren DELL-Produkte.

    Mehrere Monitore 27´´ WQHD seit Jahren ohne Probleme, Inspiron-Laptops auch problemlos.

    Mein Sohn hat hat so ein Alienware-Monster, bei dem trat im letzten Jahr ein Problem mit der Bildschirmdarstellung auf, ab und zu flimmern, eingeschickt, eine Woche später repariert (Kabelübergang im Scharnierbereich getauscht) wieder zurückbekommen.

    Den Support habe ich noch nicht in Anspruch nehmen müssen!

    Bei der letzten Hardwareaktualisierung sind wir jetzt auf Mikro-PC (ZOTAC) umgestiegen. Größe einer Zigarrenschachtel und lüfterloser Betrieb sind echt angenehm.

    Ja, bei uns in der Firma ähnlich. Macht eine von den Kisten Probleme (meist erst nach Jahren!), fliegt sie nach durchbohren der Festplatte in den Elektroschrott.

    Da diese Rechner ausschliesslich in eine RDP-Sitzung booten, ist der Austausch in Minuten erledigt.

    Verwendung von eigenen Komponenten, d.h. dass man nicht selbst Motherboard, Netzteil oder Lüfter tauschen kann, da Dell diese Komponenten nicht vertreibt

    Daher die "billigen" Mikro-PC. Was soll denn heutzutage noch "repariert" werden? Bei Preisen von 300-400€ für den fertigen Rechner ist es teurer, den Fehleranalyse- und Reparatur-"Service" in Anspruch zu nehmen, als sofort ein neues Gerät (nach) zu bestellen.

    Bei Ausfallkosten von Industriemaschinen von mehreren zehntausend Euro pro Tag diskutiere ich auch nicht mehr, den Zuschlag für das Ersatzteil bekommt der, der als schnellstes liefert.

    Hey Alina!

    Wo in Dänemark möchtest Du denn Urlaub machen?

    ...da wo es schön ist :o)


    Ich liebe es, Land und Leute kennenzulernen. Ich bin nicht der typische "Touri". Lieber bei Einheimischen wohnen, mit ihnen Essen und Trinken und gemütlich entspannen.

    Daher verlasse ich mich auch nicht auf einen Reiseführer, in dem drin steht, wo es "schön" ist, sondern ich frage die Leute die dort wohnen/leben. In diesem Fall DICH ^^

    Hey Alina!


    Da ich auch immer gerne bei meinen (oft sehr eingeschränkten) Fremdsprachen verbessert werde, nur der Hinweis:

    Mitdenken wird zusammengeschrieben.

    Ist das in Dänemark anders? Google übersetzt mir in dänisch "tænke med", also 2 Wörter.

    Vielleicht schaffe ich es in diesem Jahr mal im Sommer nach DK....dann melde ich mich auch bei dir, ich brauche dann sicher eine Ferienwohnung! :)

    Eine Adressleiste ist komischerweise (würde man bei dem Namen gar nicht erwarten) zur Eingabe von Adressen gedacht

    Ich habe in den letzten Jahren gefühlt 10 Adressen in die Adressleiste EINKOPIERT! Eingeben tue ich definitiv keine Adresse! Dafür gibt es Links! Schneller Shortcut oder ein Mausklick, fettich....

    Daher benutze ich auch kein anderes Suchfeld als die ....Adressleiste :love:

    Ich möchte einen Browser der nur eins kann: Browsen!

    DAS habe ich mir mittlerweile abgeschminkt.... ;(

    Als Opera-Fanboi (Nutzer der ersten Stunde) hatte ich immer nur diesen Browser. Wenn irgendetwas nicht (richtig) funktionierte, kurze Email an die Entwickler, einige Zeit später kam von denen ein Fix, Problem erledigt.... Aber seit Umstieg auf die Chrome-Engine :Face:

    In letzter Zeit stelle ich immer öfter fest, dass diverse Webseiten nur noch FEHLERFREI mit Edge funktionieren. Online Banking bspw. ist bei mir nach dem Update der Banking-Software nur noch mit Edge möglich! :thumbdown: :thumbdown:

    Die Bank schweigt sich dazu größtenteils aus! O-Ton auf meine Nachfrage:"...wo ist das Problem, Edge zu benutzen?!"

    Wtf....ich benutze Linux zwar nur im Bereich RasPi und c´t Desinfect, aber kurz dort mal einige populäre Browser gecheckt, die von mir gestellten Anforderungen an das Banking waren nicht möglich. Rückfrage an die Bank, Antwort:"...wir haben lt interner Statistik neben den (mobilen) Android und Apple-Nutzern von den PC-Usern 98% Windows-User, und davon benutzt der überwiegende Teil Edge. Wir empfehlen bei Problemen die Windows-Standardkonfiguration."

    Ergebnis für mich: Ich werde das Geldinstitut wechseln, mit dem ich seit >30Jahren eine Geschäftsbeziehung habe.


    Nach Rückfrage im Bekanntenkreis das ernüchternde Ergebnis, viele benutzen MEHRERE Browser <X und halten das für NORMAL :Face:



    btt: BugFix, und du beschwerst dich darüber, dass man in der Adressleiste auch "suchen" kann 8) :rofl:

    Das kommt ganz auf die Software und den Nutzer an

    Hehe, bediene mal Android ohne "Wischelfinger", weil das aufgrund technischer Gegebenheiten (Display defekt) nicht geht.

    Die Software, welche ICH für Android erstelle, ist komplett Tastatursteuerbar.


    Über Linux bzw. Unixoide BS brauchen wir nicht zu sprechen, da sind "Mausschubser" sowieso verpönt^^


    Windows ist komplett Tastatursteuerbar und ich kenne auch kein Framework / GUI-SDK welches das Fenstermanagement per Tastatur NICHT unterstützt. Selbst Browserbasierte Software benötigt idR keine Maus....


    Wenn man also eine Software per AutoIt "fernsteuern" will/muss und wie der TE keine Möglichkeit hat, über die "richtigen" GUI- bzw. Control-Funktionen zu arbeiten, für den ist die Möglichkeit über die Tastatur zu arbeiten GOLD wert!

    Selbst wenn die Fenster-Controls von AutoIt ansprechbar sind, ist das meist auch nur eine "Krücke"!!! Wenn der Entwickler seine GUI auch nur geringfügig ändert/aktualisiert, ändern sich die Instanzen oder ID´s der Controls mit! D.h. das so schön gebastelte AutoItscript "hängt" nach einem Update der zu steuernden Software. Das ist ganz großes Kino, wenn der unbedarfte Script-User dann plötzlich vor seinem Bildschirm sitzt und NICHTS mehr geht.....

    Ich hatte in den letzten Jahren schon mehrfach dieses Problem, da klingelt dann nach Jahren irgendwann das Telefon und du hast heulende Anwender dran! Die rufen nämlich IMMER bei dem an, der ihnen ihre Anwendung "so schön einfacher und VIIIEL schneller" gemacht hat, anstatt den Entwickler der gesteuerten Software.

    Meine Lösung in diesen Fällen war IMMER das Ausweichen auf die Tastatursteuerung!

    Ein bspw. CTRL-A + CTRL-T mit anschließendem TAB{3} mit anschließendem {ENTER} trifft den gewünschten Button/Input-Control/"Bild", auch wenn der/die plötzlich "anders" heißt....


    Send("{APPSKEY}");Kontext Menü öffnen Send("{PGDN}"); "{PGUP}" runter/hochscrollen

    Ein kurzer Anruf beim Hersteller der Software oder ein Blick ins Handbuch wirken da meist Wunder wenn die "offensichtlichen" Tastatursteuerungen nicht funktionieren!

    Du kannst die Galerien mit einer Kurztaste, meistens TAB oder Pfeiltasten, einzeln anwählen und dann per (Control-) Rechtsklick ins Kontextmenü. Auch dort gibt es meistens für die einzelnen Menüpunkte Kurzwahltasten. Generell sind 99.8% jeglicher Software mit der Tastatur (idR auch wesentlich schneller als mit der Maus) zu bedienen.

    He-He, könnte man sicher - aber ich muss ja auch sicher stellen, dass meine Frau es bedienen kann. :rofl: Somit fällt Smartphone aus. Da ich die Displays habe, werde ich die schick in einer UP-Dose mit Schaltwippe/Tasten unterbringen. Da kommt auch meine Frau mit klar. :whistling:

    Ich bin generell dafür, die sog. "Usability" bei solchen Projekten ganz klar in den Vordergrund zu stellen! Was nicht oder nur unzureichend gemacht/eingestellt wird weil es kompliziert zu bedienen ist, ist definitiv kontraproduktiv.

    Aber das eine (Display+Taster) schließt ja das andere (Meldung/Einstellung ans/vom Webinterface) nicht aus!


    Und überhaupt sind wir aus dem Alter raus, zum Thema WAF (Women Acceptance Factor) auch nur ansatzweise zu diskutieren. :party:

    Die zu schaltende Spannung des Lüfters ist 220V, beim Linearmotor für den Bypass sind es 12V.

    Es gibt fertige ESP-Module incl. 230V-Relais


    Poti ist ja nicht sinnvoll, da die Einstellung lokal oder per Software einzustellen sein soll. Also müsste ich lokal ein Mini-Display mit +/- Tasten einsetzen und damit die Software bedienen.

    Du kannst dafür auch einen ESP einsetzen, dann benötigst du nicht einmal ein Display mit Tasten, sondern kannst das ganze per Webinterface (läuft auf dem ESP sowieso) vom Smartphone aus steuern.

    Obwohl ein Farb-Display 1,8´´ schon für unter 10€ zu haben ist, wenn du das wirklich lokal so anbinden willst....

    Hi BugFix!


    Sicherlich ist der Nano für die von dir beschriebenen Aufgaben ausreichend...aber...

    würde ich das gern drahtlos lösen.

    Die gesamte Anwendung schreit geradezu nach "Smart-Home". Ich werfe dazu mal openHAB in den Raum.

    Ich habe hier zwischen den Positionen max. 15 m Abstand mit 2 Mauern (Ziegel 36 cm), bei Gäste-WC kommt eine Betondecke hinzu (20cm stark).

    Das würde ich definitiv per WLAN lösen, selbst wenn es irgendwo klemmen sollte, hilft ein (billigster) Repeater.

    Die Abluftanlage verfügt bisher über einen 3-Stufenschalter, die Steuerung soll dann über Relais passieren.

    Es gibt die passenden (WLAN)-Schalter dafür bspw. https://itead.cc/product/sonof…wifi-smart-wall-switches/




    Ist der Nano dazu geeignet?

    Ja, allerdings müsstest du ALLES selbst von Hand schnitzen, aber das ist dir sicher bewußt! Um den Nano ins WLAN zu bringen, brauchst du ein entsprechendes Modul, da kannst du aber direkt einen WLAN-fähigen Controller verwenden.

    Der Vorteil ist, du könntest ALLES auch individuell für deine Anforderung anpassen. Auch preislich...

    Wenn du gänzlich außerhalb von Smart-Home-Standards bleiben wolltest, könntest du (und das ist imho der allerpreiswerteste Weg) bspw. einen Unterputz-Wandtaster verwenden und mit diesem einen bspw. ESP8266 ansteuern, welcher dann per WLAN die Kommunikation mit deiner "Zentrale" abwickelt, welche deine Lüftersteuerung realisiert.

    Nur als Beispiel für ein UP-Modul: https://luani.de/projekte/esp8266-hvio/

    Als Zentrale geht auch ein PC mit AutoIt, ein RasPi, oder auch ein weiterer ESP8266.

    Für den ESP gibt es verschiedenste "Betriebssysteme", Basic, Micropython, oder die Programmierung per Arduino-IDE in C.

    Vorteil mit einem Microcontroller im Taster, du könntest sämtliche Schaltbefehle bzw. -sequenzen (einmal, zweimal, dreimal Tasten) im Controller abwickeln und dann nur noch einen entsprechenden Befehl an die Zentrale schicken.

    Die Kommunikation läuft läuft über simple, frei erstellbare POST-Kommandos an die Zentrale, wenn diese dann als Nachricht TASTER-BAD-2x erhält, wird entsprechende Aktion an den/die Lüfter ausgelöst.


    Aber Oskar wird dazu sicherlich seinen Senf auch noch dazugeben :klatschen: :thumbup:

    Hi,


    ich hatte zu diesem Thema eine DLL erstellt, die aus nichts weiter als einem Speicherplatz für genau diese Anwendung (Zugriff mehrerer Programme auch unterschiedlicher Programmiersprachen auf gemeinsame Daten im Speicher) besteht.

    Eine DLL ist dazu gedacht, EIN MAL in den Speicher geladen zu werden und dann deren Funktionen von verschiedenen Programmen aufrufen zu lassen.



    Thema und Beispielscript hier: RE: Kommunikation Skripte untereinander

    Wenn du zu diesem Thema weitere Infos brauchst, einfach melden!

    Im späteren Verlauf des o.a. Threads werden auch 64-Bit DLL´s erstellt.


    /EDIT

    Win10 benötigt geringfügig anders erstellte DLL´s aus ASM-Dateien.

    Hier die DLL und das Testscript

    sharedmem.zip

    Das kompilierte (nicht aus Scite mit F5, das startet nur ein Mal) Testscript mehrmals starten, es erscheinen auf dem Desktop entsprechend Fenster an zufälliger Position.

    Nur beim ersten Start des Programms wird die DLL in den Speicher geladen, alle weiteren Programme greifen dann auf diese Datei zurück.

    In jedem dieser Fenster läuft ein unabhängiger Timer.

    Mit klick auf den Reset/Sync-Button in irgendeinem dieser Fenster werden alle (!) Timer in allen Fenstern zurückgesetzt/synchronisiert.

    Im Prinzip wird nichts weiter gemacht als ein Byte mit dem Wert 1 in den Speicher an der Adresse der DLL-Funktion GetPointer() zu schreiben. (aufmerksame Leser des Codes werden feststellen, dass es das 8. Byte ist^^)

    GetPointer() liefert einfach nur die Adresse des Speicherblocks in der DLL zurück.

    Das Programm fragt nun einfach nur diesen Wert ab, ändert er sich, wird der Timer neu gestartet.

    Da alle laufenden Programme auf die identische Speicheradresse zugreifen, aktualisieren sich somit auch alle laufenden Programme gleichzeitig!


    Die DLL reserviert 1000 Dwords, also 4000 Bytes Speicher. die kann man aus AutoIt per DllStructCreate() so aufteilen, wie man sie braucht, die Basisadresse ist der vom Dllcall zurückgegebene Pointer auf den Speicher.

    4000 Bytes sind idR reichlich genug für solche Anwendungen, sollte man mehr brauchen, einfach den ASM-Code entsprechend anpassen, in den FASMW-Editor laden, per CTRL-F9 die DLL neu erstellen und Spass haben!


    /2.Edit

    Die DLL sollte mit jedem Programm/Compiler zu erstellen sein, problemlos in C/C++


    /3.Edit

    Wenn man nicht mehrere identische Scripte starten will, dann kann man auch das Beispiel hier nehmen: RE: Kommunikation Skripte untereinander

    Das "Startscript" reserviert per DllStructCreate Speicher und in anderen Scripten/Programmen wird per _WinAPI_ReadProcessMemory() darauf zugegriffen.

    Um den Pointer aus dem Startscript zu erhalten, könnte man bspw. auch ein (unsichtbares) Control im Startscript erstellen und aus diesem die Daten auslesen.

    da war ich irgendwie in der Annahme, dass das Skript einen eigenen Kern bekommt und dementsprechend immer gleichschnell abläuft

    Das kannst du im Scheduler in Windows erzwingen, indem du nach Starten des Scripts im Taskmanager einen Rechtsklick auf das Programm machst, dort im Menü auf "Zu Details wechseln" klickst, in der folgenden Ansicht nochmals Rechtsklick auf das Programm und dort im Menü "Priorität festlegen" auf "Hoch" einstellst.

    Das geht natürlich auch innerhalb des Scripts per ProcessSetPriority ( "process", priority )

    Hi,


    habe folgende Ergebnisse, AutoIt als einziges offenes Programm, ansonsten ruhender Desktop

    Desktop Ryzen 5 1600



    Und noch mit Laptop I7-7500U

    Mit einer For/To-Schleife bis 5 komme ich direkt nach Rechnerstart und neu gestartetem AutoIt auf folgendes...

    Der erste Durchlauf...(Schleife 3 bis 5 sind gleich wie 3) wiederum ruhender Desktop (Prozessor runtergetaktet lt. Taskmanager)

    Durchlauf direkt im Anschluß


    Das bestätigt meine schon vor etlichen Jahren gemachte Erfahrung mit AutoIt, dass die Programmlaufzeiten im direkten Zusammenhang mit "anderen" Aktivitäten im Rechner zusammenhängen.

    Speziell Festplattenzugriffe und eifriges geswappe im Scheduler führen zu unterschiedlichen Laufzeiten.

    Wobei das natürlich Gemecker auf allerhöchstem Niveau ist^^

    Im vorliegenden Fall geht es im einige handvoll Millisekunden. Für einen "Benchmark" ist das natürlich kritisch, aber benchmarken ist auch immer eine Feststellung der AKTUELLEN Programmlaufzeit und sollte auch so beurteilt werden.


    Trotzdem findet man innerhalb der AutoIt-Versionen dadurch auch mal "undokumentierte" Veränderungen, so bspw. die in der Vergangenheit um Faktor 3 bis 5 verlangsamten "String-Funktionen" bei einer neueren AutoIt-Version, wo ich vermutet hatte, dass dies seitens Entwickler absichtlich gemacht wurde, um das "professionelle" RegEx Geschwindigkeitsmäßig in den Vordergrund zu heben indem man die "Butterbrot"-Programmiererfraktion ins Abseits stellt.

    Generell gibt es genau für diese Fragestellung bereits fertige Programme!



    Cross-Postings sind nicht per se eine schlechte Sache

    ...wobei noch der dezente Hinweis des TE "...und legt mir mal einer bitte den Arm aus der Sonne..SCHNELLSTMÖGLICH!" angefügt werden sollte!


    Sonst kommt wohlmöglich eines der Forenmitglieder auf die Idee, bei fehlendem "Versuchs"-Script davon auszugehen, dass jemand anderes (sic) sich die Mühe macht!

    Man (TE) will ja schliesslich erreichen, dass sich 6-8 Forianer in jeweils ihrem Forum mit der allerbesten Lösung überbieten, die man dann letztendlich nur noch aus dem letzten Beitrag rauskopieren und ausführen muss!

    Das Beste daran: Man muss nicht mal das Forum durchsuchen!



    sonst werde ich dir nicht mehr helfen.

    S.o.!

    Der Unterschied zwischen "helfen" und komplett alles nach Vorgabe des TE machen ist ein gewaltiger!

    Wer nicht mal in der Lage ist, dieses schon x-mal in beiden Foren abgehandelte Thema zu SUCHEN und ggf. auf Probleme mit diesen Scripten hinzuweisen, dem gehört nicht geholfen!

    So sehe ich das!


    OT an Bitnugger

    Dass dieses Script für dich nur eine Fingerübung ist, macht es nicht besser :D

    Aber wie immer dafür von mir ein :thumbup:



    Ich möchte nun einen Array erhalten, wo alle Dateinamen enthalten sind, welche sich im Datum(date motified) voneinander unterscheiden .

    Wieso ein AutoIt-Array?!

    Wenn du bereits so fit mit AutoIt bist, dass du in deinem Script mit den Arrayinhalten weiterarbeiten/programmieren kannst, dann hättest du auch dieses/dein Script posten können.

    Das hätte man/ich dann auch gerne erweitert/verbessert/vervollständigt.

    Aber ich gehe davon aus, dass dir ein herzhaftes _ArrayDisplay() völlig ausreicht, um händisch mit diesen Dateien weiterzuarbeiten. Denn irgendetwas musst du ja mit diesen Dateien machen wollen?!

    und aus lauter Blödheit einfach mal sinnfrei

    Aus eigener bitterer Erfahrung weiß ich, dass das weder mit Blödheit und Sinnfreiheit des NUTZERS zu tun hat sondern mit selbiger Seitens der ENTWICKLER.

    Wenn man als Entwickler WEISS, dass etliche Zeilen/Spalten und im obigen Fall mehrere (hundert) Millionen Zellen markiert wurden um daraufhin ohne Warnung an den User eine Aktion zuzulassen, welche die Datei (fast) unbrauchbar macht, dann ist das einfach ein Softwarefehler!

    Und ja, auch ich habe Mitarbeiter, die einfach Warnungen und Fehlermeldungen (ungelesen) wegklicken. In meinen eigenen Programmen schicke ich mir dann Emails mit dem Inhalt, wer wann wo wie was gemacht hat, und kann die dann dem Mitarbeiter/User unter die Nase halten.

    Wenigstens schafft es diese Software beim Schließen auf die "...große Menge an Daten in der Zwischenablage...blablub..." hinzuweisen..... :Face:


    Aber wie lautete schon vor etlichen Jahren nach einem Fingerzeig auf einen offensichtlichen Bug an Microsoft die Antwort eines Entwicklers (damals aus München am Telefon):"Aber Herr G***, selbstverständlich nehmen wir diesen Fehler und ihren Hinweis ernst, aber wir verdienen Milliarden mit diesem Produkt, wieso sollen wir daran großartig was ändern?!"

    Und soll ich euch dazu das passende sagen: RECHT HAT(te) ER!!!!! :ironie:

    Auch wenn wir jetzt etwas in OT abdriften

    Ich bin davon überzeugt, dass Beiträge von Leuten, die Ahnung von dem haben was sie tun, hilfreich sind.

    Vielleicht nicht unbedingt für den TE, aber doch für den einen oder anderen der in der Lage ist, über den Tellerrand zu schauen und sich auf diesem Weg weiterzubilden...


    Woraus aber auch der Umkehrschluss resultiert, dass die Programmierer 80% der Softwareleistung für'n Ar.. erstellen. Was für eine Verschwendung von Ressourcen.

    DAS sollten sich aber auch mal SÄMTLICHE Software-"Ersteller" sowas von hinter die Ohren schreiben! Und nicht nur die!

    Wobei aber immer hinterfragt werden sollte, aus welchem Grund der/die Programmierer 80% der Funktionalität "umsonst" erstellt. Antwort: weil er schlichtweg absolut keine Ahnung von dem hat, was er dort tut/tun soll!

    Wie auch, denn sein Job ist, die meist nur vage formulierten Vorgaben von Leuten, die meist auch nur wenig Ahnung von den konkret ablaufenden Prozessen haben, in Software umzusetzen.

    Und das macht er dann auch! Und zwar so, wie ER es für richtig hält. Da wird dann auch mal (kein Witz jetzt, Beispiel aus der Praxis) anstatt den Kunden nach den fachspezifischen Vorgängen/Termini zu fragen, "mal eben" ein Wikipediaartikel hergenommen um überhaupt zu verstehen, um was dem Kunden VIELLEICHT geht. Um im Anschluß daran ein Softwaremodul zu präsentieren, das in keinster Weise funktioniert.

    Diskussionen bis hin zur Geschäftsleitungsebene, die aber (beide, sowohl Auftraggeber als auch SW-Ersteller) wiederum gar nicht wissen, was überhaupt erreicht werden sollte.....

    Daher auch mein Hinweis zum Lasten- und Pflichtenheft. Vgl. die Grundsätze von "agilem" Projektmanagement und/oder "Voice of the Customer" bei 6Sigma.


    Ich hatte auch schon mit meiner liebreizenden Art den Geschäftsführer eines (weltweit tätigen) Softwareunternehmens zur Weißglut gebracht, weil ich immer wieder darauf hingewiesen hatte, MEINE Vorgaben GENAU SO WIE BESCHRIEBEN umzusetzen. Und nur genau diese Umsetzung wird dann auch bezahlt....

    Und genau hier liegt der Hase im Pfeffer! Der Ablauf beim Softwareersteller ist nämlich folgender: Lastenheft anschauen, grobe Peilung Machbarkeit/Umsetzung/Zeitplan ermitteln und Angebot abgeben mit (gesalzenem) Preis.

    Nach Auftragseingang Projekt nach hinten schieben (ist doch eh nur pillepalle und ausserdem haben wir noch genug Zeit...) und dann auf der letzten Rille loslegen.

    Die Umsetzung der Vorgaben wird auch nicht mit dem Kunden besprochen, dafür ist keine Zeit und der Kunde könnte merken, dass es nicht vorwärts geht!

    Stattdessen wird sich etwas aus den Fingern gesaugt (wird schon so hinhauen...) und Praxisfern umgesetzt. Bis der Kunde merkt, dass er das in Auftrag gegebene Modul so nicht anwenden kann, ist es zu spät. Der Softwareersteller will seine bisherige und unnütze Arbeit bezahlt haben, und der Kunde ein anwendbares Produkt. DAS kann nur zu Unzufriedenheit bei beiden führen....



    Ich kann jetzt nichts über alle Anfragen sagen. Aber die 98% kommen mir einfach sehr hoch vor. Einfach weil ich denke, dass es sehr oft noch Bedarf gibt.

    Relativiere mal die 98%....

    WER fragt an? Derjenige, der von Excel/VBA keinerlei Ahnung hat. Und auch nicht von AutoIt! Hätte er von einem von beiden Ahnung, würde er nicht fragen, sondern hätte eine Lösung!

    Keine Ahnung von irgendetwas zu haben ist ja per se nicht das Problem, das Problem liegt meist im Bereich X-Y.

    Der Frager "denkt" sich wie die Lösung aussehen könnte, fängt damit an, kommt aufgrund mangelndem Knowhow nicht weiter und anstatt sich zu ins Thema einzuarbeiten wird dann panisch kurz vor Angst Aktivismus in Form von diversen Forenanfragen geübt. Und da soll das "Problem" jemand lösen, der mangels adäquater Beschreibung auch keine Ahnung von dem hat, was der Frager benötigt.

    Vergleiche DAS mal mit dem im oberen Absatz beschriebenen Ablauf bei einem SW-Unternehmen.....identisch!

    Der "Anwender" ist von seiner Denke her genauso beschränkt wie der "Programmierer".

    Und wenn da der eine Blinde dem anderen Blinden über die Straße helfen soll, muss man sich nicht wundern, wenn das in die Hose geht....und auch mal RICHTIG Geld kostet, s. bspw. HIER . Wenn man sich mit den im Artikel beschriebenen Vorgängen beschäftigt stellt man schnell fest, dass das Problem nicht die "Standard"-Software ist, sondern die Umsetzung/Erweiterung auf die kundenspezifischen Prozesse.


    Analog zum Problem des TE....nicht Excel ist das Problem, sondern die vermeintlich "so" nicht umsetzbare "Lösung" des Anwenders...



    die 80:20 Regel:

    ....besagt, dass es, würden die 80% ihren Job auch richtig machen, kein Problem gäbe ;)

    Pareto ftw! :rock:

    Warum so kompliziert, wenn Excel das selber hergibt?

    Frage ich mich bei 98% aller Anfragen zum Thema AutoIt/Excel.

    Mit VBA gibt es so gut wie nichts, was man nicht auch ohne AutoIt hinbekommt. Mit dem Hintergrund, nicht noch ein Zweitprogramm benutzen zu müssen, und dem eindeutigen Vorteil der "Usability und Visuability" von VBA gegenüber AutoIt.


    Und ja, auch ich benutze AutoIt in Verbindung mit Excel. Aber dann eher indirekt. Sämtliche SQL-Abfragen einer externen ERP/DB-Software laufen über VBA und erzeugen Dateien welche dann (per AutoIt "ferngesteuert") von einem Drittprogramm eingelesen und abgearbeitet werden. Das Drittprogramm exportiert wiederum Dateien, welche im Programmablauf vom VBA-Script in Excel eingelesen und visualisiert werden. Als "Abfallprodukt" ermittle ich noch Ablauf-, Kapazitäts- und Bestelldaten für sowohl Kunden als auch das Logistikunternehmen, welche automatisiert per Mail per VBA sowohl an die Kunden, als auch an die Spedition versendet werden.

    Insgesamt sind also vier Softwarepakete im Einsatz um die "händische" Arbeit eines Mitarbeiters von ca. 30 Minuten innerhalb von ca. 30 Sekunden abzuwickeln.

    Und warum?! Weil es die geschätzten Programmierer der ERP-Software seit JAHREN nicht hinbekommen, eine kauffertige Lösung anzubieten.

    Wobei, um fair zu bleiben, "angeboten" hatten die schon des öfteren etwas... :Face:

    Nur passte mein Lastenheft nicht zu deren Pflichtenheft :D