Beiträge von Musashi

    Wenn GUICtrlRead($LadeImmer) = $GUI_CHECKED ist, dann schreibst Du den Wert 1 in die Sektion [001] der .ini und löscht die Sektion [002].

    Andernfalls (also $GUI_UNCHECKED) schreibst Du den Wert 2 in die Sektion [002] der .ini und löscht die Sektion [001].


    Bei If IniRead ... fragst Du aber nur die Sektion [001] ab. Diese wurde in Fall von $GUI_UNCHECKEDaber gelöscht. Es greift also die Vorbesetzung 1 und liefert immer CHECKED.


    EDIT WhiteHorse :

    Zudem liefert If IniRead($ini, "001","HarkenOn/Off Von Laden Immer", "1") Then ...  immer TRUE, egal ob beim Value= "1" oder "2" steht.

    In beiden Fällen ist der String besetzt, und nur das wird hier geprüft.


    Warum verwendest Du überhaupt zwei Sektionen ([001] und [002]) ? Eine würde doch völlig ausreichen.


    P.S. : Haken , nicht Harken ;)

    Probiere mal das folgende Skript (gemäß den Tipps von BugFix ) :

    Bitte ein kurzes Feedback, ...

    Leider fehlt mir momentan die Zeit das Skript genauer zu betrachten, daher nur zwei allgemeine Anmerkungen.


    1.

    Globale Deklarationen innerhalb von Funktionen (siehe Auszug) sind im Allgemeinen nicht zu empfehlen :


    2.

    Schau Dir mal den Datentyp Array an. Ich denke, damit lässt sich dein Skript deutlich kompakter schreiben.

    Hier eins (von vielen) Tutorials) zu diesem Thema : http://www.bug-fix.info/array_tut.htm

    Bingo hat 769 Zeilen, aber meine Dart-App ist bei weitem größer.

    Wie groß darf/kann der Code maximal sein?

    Als Code eingefügt, habe ich schon Skripte mit tausenden Zeilen gesehen.

    Falls Du viele externe Dateien, also z.B. Grafiken mitliefern möchtest (musst), dann gelten folgende Limits :

    Einfach mal auf Dateianhänge klicken.

    In der .Zip-Datei ist eine x86 und x64 .EXE zum starten, sowie die Quelldatei in .au3

    Bitte ein kurzes Feedback, ob das Programm startbar ist, wäre nett.

    Erst einmal - Willkommen im Forum :) .


    Hinweis :

    Er reicht in der Regel vollkommen aus, wenn Du dein Skript mithilfe des Code-Tags (siehe Grafik) in deinen Beitrag einfügst.

    Vom Posten bereits kompilierter Skripte (.exe) ist abzusehen !

    Diese kann sich ja jeder Interessierte selbst kompilieren. Kaum einer wird das Risiko eingehen, .exe-Dateien von unbekannter Herkunft auszuführen ;) .


    EDIT :

    Wie ich sehe, enthält die .zip-Datei Unterverzeichnisse ( \ini und \png) mit Dateien, die vom Skript benötigt werden. Erstelle einfach eine neue .zip, aber ohne die kompilierten .exe.

    Das Skript selbst kannst Du zusätzlich aber trotzdem (wie beschrieben) in deinen Beitrag einfügen.

    Aber bei den MsgBoxen kommt etwas anderes raus - wo ist mein Fehler?

    Also bei mir läuft es :

    Beispiel :

    Hast Du, wie Velted vermutet, auf einem anderen Rechner getestet ?

    zu meiner Fortbildung, was muss die Software denn besonderes können?

    Es geht doch überhaupt nicht darum, was die Software können muss.


    Windi hat bereits klar zum Ausdruck gebracht, dass :

    Du bist bei Wein schon an Wein-Software gebunden. Diese muss eine Zulassung der Weinkontrolle haben.

    Ohne, musst du alle Aufzeichnungen nochmal von Hand machen. Es gibt eine spezielle Liste von zugelassenen Programmen.

    Was bringt es, hier im Forum über den Sinn oder Unsinn einer solchen Zulassung zu diskutieren ?

    Neben dem Vorschlag von BugFix könntest Du alternativ auch wie folgt vorgehen :

    BugFix war schneller ;) daher mal die bessere Variablennamen übernommen

    Dieses Mal war ich schneller, nicht BugFix ;) (habe ich in deinem Beitrag geändert)

    Typo (von mir) : Es muss natürlich $iBottom heißen, nicht $iButton.


    Silvermoon :

    Beispiel bezüglich Groß/Kleinschreibung :

    AutoIt
    Local $A = 100, $a=300
    ConsoleWrite("$A = " & $A & @CRLF)
    ConsoleWrite("$a = " & $a & @CRLF)

    Wie Du siehst, wird für beide Variable der letzte zugewiesene Wert genommen (hier also 300)

    Was ist da falsch oder gibt es da eine Alternative?

    Die Zeile $X=1137:$Y=265:$x=1310:$y=636 ist syntaktisch falsch.

    1. Trennzeichen bei mehreren Deklarationen in einer Zeile ist Komma, nicht Doppelpunkt

    2. Groß/Kleinschreibung bei Variablennamen wird nicht berücksichtigt, daher ist $X und $xidentisch (werden also nur einmal besetzt). Bei $Y analog

    AutoIt
    #include <ScreenCapture.au3>
    
    Local $iLeft=1137, $iTop=265, $iRight=1310, $iBottom=636
    
    Example()
    
    Func Example()
        _ScreenCapture_Capture(@ScriptDir & "\GDIPlus_Image2.jpg", $iLeft, $iTop , $iRight, $iBottom)
        ShellExecute(@ScriptDir & "\GDIPlus_Image2.jpg")
    EndFunc   ;==>Example

    Könnte sich im Editor ein nicht-sichtbares Zeiten eingeschlichen haben (z.B.: Shift + Space) den der Interpreter ignoriert, aber nach dem kompilieren dann als zusätzliches Zeichen bei der Variable wahrgenommen wird?

    Um das zu prüfen, könntest Du den Quellcode mal mit Notepad++ öffnen und dort die Option nicht druckbare Zeichen anzeigen aktivieren.


    Racer : EDIT

    Bei aktuellen Versionen von Notepad++ findet man folgende Einstellung :

    ... aber das was ich kenne identifiziert die Datei eindeutig

    Falls die Datei mit dem Teilstring wirklich eindeutig identifiziert werden kann, könntest Du _FileListToArray verwenden.

    Der volle Dateiname wäre dann der einzige Eintrag im Array.


    Peter S. Taler : Edit - kleines Beispiel :