1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. bernd670

Beiträge von bernd670

  • Msgbox die verschwinded

    • bernd670
    • 6. Juli 2007 um 07:23

    Hallo,

    dafür hat MsgBox den Parameter timeout!

    Code
    MsgBox ( flag, "title", "text" [, timeout] )
  • Auto(It)-Updater

    • bernd670
    • 6. Juli 2007 um 06:07

    Hallo,

    Du bräuchtest ja nur

    [autoit]

    $AutoItInstallDir = RegRead("HKLM\Software\AutoIt v3\Autoit", "InstallDir")

    [/autoit]

    zu definieren und alle @ProgramFilesDir durch $AutoItInstallDir zu ersetzen dann kann es jeder benutzen.

    Ansonsten wäre ein Hinweis, in Form einer MsgBox, nicht schlecht!

    Der Text sollte in etwa so lauten:
    "Achtung! Programm nur verwenden wenn AutoIt m Standardordner installiert ist, ansonsten wird AutoIt nicht mehr funktionieren!"

  • buttons weg

    • bernd670
    • 5. Juli 2007 um 12:57

    Hallo,

    bitte mal den Code bereitstellen!

  • verpeilt ... bestehendes IE-Fenster übernehmen?

    • bernd670
    • 5. Juli 2007 um 10:00

    Hallo,

    im 2. Script muß wahrscheinlich

    [autoit]

    $oForm = _IEFormGetObjByName ( $oIE, $iForm_index)

    [/autoit]


    durch

    [autoit]

    $oForm = _IEFormGetCollection ( $oIE, $iForm_index)

    [/autoit]


    ersetzt werden!

  • Auto(It)-Updater

    • bernd670
    • 5. Juli 2007 um 09:32

    Hallo,

    [list=1]
    [*]Hast Du schon mal den definierten Hotkey ausprobiert?

    Ich bezweifel nämlich das der Code funktioniert.

    [autoit]

    HotKeySet("{LCTRL}+{UP}", "_UpdateCheck") ; Left Control + Arrow Up drücken um auf Updates zu prüfen

    [/autoit]

    * man kann Tasten wie {LCTRL} nicht als Hotkey definieren
    * das "+"-Zeichen steht für die Shift-Taste

    So würde es gehen:

    [autoit]

    HotKeySet("^{UP}", "_UpdateCheck") ; Control + Arrow Up drücken um auf Updates zu prüfen

    [/autoit]

    [*]Dein Programm funktioniert nicht bei jedem

    Ich hab mir mal den Code etwas genauer angeschaut und habe festgestellt das dein Programm davon ausgeht das AutoIt im Standardverzeichnis, unter "C:\Programme\AutoIt", installiert ist. Was ist wenn, wie z.B. bei mir, AutoIt aber auf einer anderen Festplatte installiert ist, dann wird nur nicht dein Programm nicht laufen sondern auch AutoIt wird nicht mehr funktionieren, da ja die Pfade auf das Standardverzeichnis verbogen werden.
    [/list=1]

  • TreeView und Tab

    • bernd670
    • 4. Juli 2007 um 15:00

    Hallo,

    1. _GUICtrlTreeViewSetState mit $TVIS_EXPANDED, $TVIS_EXPANDEDONCE oder $TVIS_EXPANDPARTIAL

    2. _GUICtrlTabSetCurSel

  • 3 - in a row - automatisierung!

    • bernd670
    • 4. Juli 2007 um 14:05

    Hab ich doch geschrieben, ich dachte nur Du wolltest es anders machen!

    Meine Formel ist übrigens $a * 8 + $b für Spalte5 und Zeile6 also 5 * 8 + 6 = 46.

  • 3 - in a row - automatisierung!

    • bernd670
    • 4. Juli 2007 um 13:49
    Zitat

    Original von punkratz0815

    [autoit]

    for $b = 0 to 7
    for $a = 0 to 7
    $cs = PixelChecksum(302+$a*$x,214+$b*$x,352+$a*$x,264+$b*$x,0)
    IniWrite("check.ini","minig",$b & $a, $cs)
    Next
    Next

    [/autoit] [autoit][/autoit] [autoit]

    $a = x-wert(vertikal) / $a*$x = spalte
    $b = y-wert(senkrecht) / $b*$x = reihe....

    [/autoit] [autoit][/autoit] [autoit]

    $cs = checksum... ;)

    [/autoit]


    das is bis jetzt meine routine
    in der ini steht dann zB 12=2156445612 oder sowas!
    wobei 12 bedeutet zeile 1 reihe 2 und dann die entsprechende checksum kommt! :D

    aber ich hab irgendwie 77 einträge in der ini statt nur 64(für 8x8 felder) ...
    außerdem immer n = als ersten eintrag... kann mir das grad nicht erklären! ;D
    8|

    Alles anzeigen

    Es können nur 64 Einträge sein, die 77 steht ja nach deiner Vorgehensweise für Zeile 7 und Spalte 7. Wenn da 1 - 64 stehen soll muss die IniWrite Zeile so aussehen:

    [autoit]

    IniWrite("check.ini","minig",$b + $a*8, $cs)

    [/autoit]
  • Taschenrechner

    • bernd670
    • 4. Juli 2007 um 13:32

    Hallo,

    ich hab den Thread leider erst jetzt gesehen!

    Ich glaube einige Mathelehrer/-innen sollte mal wieder die Schulbank drücken.

    Ungerade Potenzen von negativen Zahlen ergibt wiederum eine negative Zahl und gerade Potenzen von negativen Zahlen ergibt eine positive Zahl.

    Das heisst -7^2 = 49 und -7^3 = -343.

    Wenn man Formeln auflöst sollte man sie auch richtig auflösen:

    -7^2 = (-1 * 7)^2 = (-1 * 7) * (-1 * 7) = 49

    Da in der Software bei manchen Taschenrechner aber die Potenzfunktion eine höhere priorität hat als das negative Vorzeichen, wird die Formel so umgesetzt:

    -7^2 = 7 * 7 * (-1) = -49

    deshalb muss man dort die zu potenzierende Zahl in Klammer setzten.

  • "Guckloch"

    • bernd670
    • 4. Juli 2007 um 11:07

    Hallo,

    eine Idee hätte ich noch, vllt. kannst Du noch einbauen das das Fenster erst wieder eingeblendet wird wenn es einen neuen Beitrag gibt, evtl. mit Checkbox zum ein-/ausschalten!

  • Binary datei einlesen und wieder speichern

    • bernd670
    • 4. Juli 2007 um 10:50

    Es heißt eher man kann den lese und schreibmodus auf binär umstellen wenn 16 hinzuaddiert!

  • Rechner+ (Taschenrechner)

    • bernd670
    • 4. Juli 2007 um 09:03
    Zitat

    Original von Oscar

    Das mit dem Ergebnnis ist so eine Sache. Mir persönlich ist es lieber, daß man damit dann weiterrechnen kann, statt es zu löschen.
    Aber als Kompromiss könnte ich das vielleicht einstellbar machen.

    MfG. Oscar

    Weiterrechnen ist ja sinnvoll, nur wenn ich direkt nach "=" wieder eine Ziffer eingebe will ich in der Regel nicht weiterrechnen.

  • Binary datei einlesen und wieder speichern

    • bernd670
    • 4. Juli 2007 um 08:58

    Hallo,

    Du kannst nicht in eine Datei schreiben die Du zum Lesen geöffnet hast.

    [autoit]

    $datei_orginal = FileOpen(@ScriptDir & "\SETUPLDR.BIN", 16)

    $datei_patch = StringReplace(FileRead($datei_orginal), "69333836", "57585050")
    $numreplacements = @extended
    FileClose($datei_orginal)
    MsgBox(0, "The number of replacements done was", $numreplacements) ; <------- bis hir scheint alles durchzulaufen.

    [/autoit][autoit][/autoit][autoit]

    $datei_orginal = FileOpen(@ScriptDir & "\SETUPLDR.BIN", 18)
    FileWrite($datei_orginal, $datei_patch) ; <--- das will nich
    FileClose($datei_orginal)

    [/autoit]
  • Mein eigenes Programm und InstallFile Problem

    • bernd670
    • 4. Juli 2007 um 00:48

    Hallo, wenn wir immer wieder die gelösten Threads/Beiträge löschen würden bräuchten wir ja kein Forum!

  • Rechner+ (Taschenrechner)

    • bernd670
    • 4. Juli 2007 um 00:44

    Hallo,

    die 1 neben C gibt die Nachkommastellen an was auch dein Ergibnis -3 ^ -3 = 0 erklärt.

    Speicher: M+ addiert zum Speicher, M- zieht ab, MR hohlt den Wert aus dem Speicher und MC löscht den Speicher.

    Was noch schön wäre, wenn man auf "=" drückt und danach eine neue Zahl eintippt das dann das Ergebnis automatisch gelöscht wird.

  • Überprüfung ob Window vorhanden

    • bernd670
    • 3. Juli 2007 um 16:15

    Hallo,

    als 2. Parameter kann man WinExists noch einen eindeutigen Text aus dem Fenster mit angeben!

  • Execute Überlauf aber kein Fehler

    • bernd670
    • 3. Juli 2007 um 14:03

    Hallo,

    hier zwei Lösungen, eine für additon und multiplikation und eine für subtraktion.

    [autoit]

    ; bei addition

    [/autoit][autoit][/autoit][autoit]

    $a = 0xffffffff
    $b = 0x2

    $c = Execute($a + $b)

    If Hex($c) < Max(Hex($a),Hex($b)) Then
    MsgBox(0, "", "Überlauf")
    EndIf

    MsgBox(0,"", "$a=" & Hex($a) & @CRLF & "$b=" & Hex($b) & @CRLF & "$c=" & Hex($c))

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ; bei multiplikation

    [/autoit][autoit][/autoit][autoit]

    $a = 0xffffffff
    $b = 0x10

    $c = Execute($a * $b)

    If Hex($c) < Max(Hex($a),Hex($b)) Then
    MsgBox(0, "", "Überlauf")
    EndIf

    MsgBox(0,"", "$a=" & Hex($a) & @CRLF & "$b=" & Hex($b) & @CRLF & "$c=" & Hex($c))

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ; bei subtraktion

    [/autoit][autoit][/autoit][autoit]

    $a = 0x2
    $b = 0x5

    $c = Execute($a - $b)

    If Hex($c) > Max(Hex($a),Hex($b)) Then
    MsgBox(0, "", "Unterlauf")
    EndIf

    MsgBox(0,"", "$a=" & Hex($a) & @CRLF & "$b=" & Hex($b) & @CRLF & "$c=" & Hex($c))

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func Max($val1, $val2)
    If $val1 > $val2 Then Return $val1
    Return $val2
    EndFunc

    [/autoit]
  • Execute Überlauf aber kein Fehler

    • bernd670
    • 3. Juli 2007 um 07:06

    Hallo,

    bei einem Überlauf ist die Summe kleiner als die beiden Summanden!

    [autoit]

    $a = 0xffffffff
    $b = 0x1

    $c = Execute($a + $b)

    [/autoit][autoit][/autoit][autoit]

    If (Hex($c) < Hex($a)) And (Hex($c) < Hex($b)) Then
    MsgBox(0, "", "Überlauf")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"", "$a=" & Hex($a) & @CRLF & "$b=" & Hex($b) & @CRLF & "$c=" & Hex($c))

    [/autoit]
  • Scriptfehler.....

    • bernd670
    • 2. Juli 2007 um 11:33

    Hallo, Ich vermute mal das Fenster zwischen Zeile 20 und 24 eh nur den Installationsstatus anzeigt!? Lass es doch einfach aus dem Script raus und warte einfach auf das letzte Fenster (ohne Timeout)!

    [autoit]

    ;Blockinput(1)
    Run("setup.exe")
    ; Auf das erste Fenster warten...
    WinWait("G DATA InternetSecurity Setup", "InstallShield(r) Wizard installiert G DATA InternetSecurity auf Ihrem Computer. Klicken Sie auf 'Weiter', um fortzufahren.", 15)
    ;1 Fenster mit klicken auf den Button bestätigen
    ControlClick("G DATA InternetSecurity Setup", "InstallShield(r) Wizard installiert G DATA InternetSecurity auf Ihrem Computer. Klicken Sie auf 'Weiter', um fortzufahren.", "Button1")
    ;2 Fenster
    WinWait("G DATA InternetSecurity Setup", "Lizenzvereinbarung", 15)
    ;2 Fenster mit klicken auf den Button bestätigen
    ControlClick("G DATA InternetSecurity Setup", "Lizenzvereinbarung", "Button1")
    ; 3 Fenster
    WinWait("G DATA InternetSecurity Setup", "Setup-Typ", 15)
    ;3 Fenster mit klicken auf den Button bestätigen
    ControlClick("G DATA InternetSecurity Setup", "Setup-Typ", "Button4")
    ;4 Fenster
    WinWait("G DATA InternetSecurity Setup", "Automatische Aktionen", 15)
    ;4 Fenster mit klicken auf den Button bestätigen
    ControlClick("G DATA InternetSecurity Setup", "Automatische Aktionen", "Button11")
    ;----------------------------------------
    ;Installationsfenster abwarten
    ;~ While WinExists("G DATA InternetSecurity Setup", "Setup-Status")
    ;~ Sleep(120)
    ;~ Wend
    ;----------------------------------------
    ;6 Fenster
    WinWait("G DATA InternetSecurity Setup", "InstallShield Wizard abgeschlossen")
    ;6 Fenster mit klicken auf den Button bestätigen
    ControlClick("G DATA InternetSecurity Setup", "InstallShield Wizard abgeschlossen", "Button4")

    [/autoit]
  • Case Schleife: Wenn ein Case richtig ist, die anderen trotzdem durchlaufen

    • bernd670
    • 1. Juli 2007 um 15:04

    Sinnlos würd ich nicht sagen, es gibt auch Anwendungen wo es sinnvoll sein kann die Anweisungen im nächsten Case-Block mit auszuführen.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™