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. autoBert

Beiträge von autoBert

  • Inhalt der GUI-Liste anordnen

    • autoBert
    • 13. Januar 2010 um 18:28

    Hallo nachtvogel85,

    nimm statt einer List eine ListView, da kannst du mit _GUICtrlListView_InsertItem Items an jeder beliebigen Stelle einfügen,

    mfg (Auto)Bert

  • Das Problem mit den Funktionen und den Rückgabewerten

    • autoBert
    • 13. Januar 2010 um 18:04

    Hallo CrazyER,

    hier das geänderte Skript:

    Spoiler anzeigen
    [autoit]

    #include <Process.au3>

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

    Global $maxArray = 10 ;anpassen auf Druckeranzahl
    Global $DruckerTyp[$maxArray]
    Global $Tonerartikel[$maxArray]
    Global $Artikelzusatz[$maxArray]
    Global $Tonermeldebestand[$maxArray]
    Global $Tonerbestand[$maxArray]
    Global $TonerMaximalBestand[$maxArray]
    Global $Meldung[$maxArray]
    Global $TonerBestellmenge
    Global $Output
    Global $Section
    Global $x
    Global $y
    Global $i

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

    Select
    Case $CmdLine[1] == "Geb.1"
    $inifile = @ScriptDir&"\1_Tonerstandplugin.ini"
    _INIlesen()
    _Tonerlisteanpassung()
    Case $CmdLine[1] == "Geb.2"
    $inifile = @ScriptDir&"\2_Tonerstandplugin.ini"
    _INIlesen()
    _Tonerlisteanpassung()
    Case $CmdLine[1] == "Geb.3"
    $inifile = @ScriptDir&"\3_Tonerstandplugin.ini"
    _INIlesen()
    _Tonerlisteanpassung()
    Case $CmdLine[1] == "Geb.4"
    $inifile = @ScriptDir&"\4_Tonerstandplugin.ini"
    _INIlesen()
    _Tonerlisteanpassung()
    Case $CmdLine[1] == "check"
    _INIlesen()
    _check()

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

    Case $CmdLine[0] < 0
    _RunDOS("echo Bitte Parameter mit angeben")
    exit 3

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

    EndSelect

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

    Func _INIlesen()
    $i = 0
    $y = 1
    $x = 1
    $Error = 0

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

    $Section = IniReadSectionNames ($inifile)
    $maxArray = $Section[0]

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

    ; Ini-Datei wird ausgelesen und in die Arrays geschrieben. $Tonerbestand-/meldebstand werden als Zahl eingelesen, damit ein Verlgeich funktioniert.
    While $i < $maxArray
    $DruckerTyp[$i] = IniRead($inifile, $Section[$y], "DruckerTyp","")
    $Tonerartikel[$i] = IniRead($inifile, $Section[$y], "Tonerartikel","")
    $Artikelzusatz[$i] = IniRead($inifile, $Section[$y], "Artikelzusatz","")
    $Tonermeldebestand[$i] = Number(IniRead($inifile, $Section[$y], "Tonermeldebestand",""))
    $Tonerbestand[$i] = Number(IniRead($inifile, $Section[$y], "Tonerbestand",""))
    $TonerMaximalBestand[$i] = Number(IniRead($inifile, $Section[$y], "TonerMaximalBestand",""))
    $i = $i + 1
    $y = $y + 1
    WEnd

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

    EndFunc

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

    Func _check()
    ; Hier wird der eigentliche Check ausgelöst. Dieser prüft den Tonerbestand gegenüber dem Meldebestand.
    $y = 1
    $i = 0
    While $i < $maxArray
    If $Tonerbestand[$i] <= $Tonermeldebestand[$i] Then
    $TonerBestellMenge = $TonerMaximalBestand[$i] - $Tonerbestand[$i]
    $Meldung[$x] = '" | "'&$TonerBestellMenge&"x "&$Tonerartikel[$i]&" "&$Artikelzusatz[$i]&" fuer "&$DruckerTyp[$i]
    $x = $x +1
    $i = $i +1
    Else
    $i = $i +1
    EndIf
    WEnd

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

    If $x >1 Then
    $Error = 1
    EndIf
    ; Hier wird der $Output mit der $Meldung befüllt/ergenzt
    While $x > 0
    $Output = $Output &$Meldung[$x]
    $x = $x -1
    WEnd

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

    ; Wenn ein Meldebestand unterschritten worde ist, wird hier die Warnung ausgegeben, ansonsten ist alles OK.
    If $Error >= 1 Then
    _RunDOS("echo Tonerbestand KRITISCH ! "&$Output)
    exit 2
    Else
    _RunDOS("echo Tonerbestand OK")
    exit 0
    EndIf

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

    EndFunc

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

    Func _Tonerlisteanpassung()
    ; Hier wird der Tonerstand angepasst, wenn das Plugin mit dem $Tonerartikel als Parameter aufgerufen wird
    $i = 0
    $y = 1
    While $i < $maxArray
    If $CmdLine[2] == $Tonerartikel[$i] Then
    $Tonerbestand[$i] = $Tonerbestand[$i] - 1
    IniWrite ($inifile, $Section[$y], "Tonerbestand", $Tonerbestand[$i] )
    EndIf
    $y = $y +1
    $i = $i +1
    WEnd
    EndFunc

    [/autoit]


    mfg (Auto)Bert

  • Geschwindigkeit?

    • autoBert
    • 13. Januar 2010 um 01:38

    Hallo @Jautois,

    Zitat von Jautois

    autoBert: Wie der Fehler schon sag, gibt _StringBetween in Zeile 98 kein Array zurück. Ich weiß nicht was du in das InputFeld "Die Gleichung" eingeben hast, aber mit z.B.: "x^1=2" klappt es.


    Die Labels sind bei mir nicht lesbar (zumindest ohne Bild), ich hatte ohne eine Einabe gestartet. Die Fehlermeldung habe ich nich weiter analysiert.
    @ Sortoc: Ohne Erklärung der zulässigen Eingaben, habe ich später aber keine Gleichungen lösen können z.B.: 2*x² = 8 ergibt keine Lösung, also eine Erklärung ist da schon noch nötig,

    mfg (Auto)Bert

  • Geschwindigkeit?

    • autoBert
    • 13. Januar 2010 um 00:13

    Hallo Sortoc,

    die Gui ist bei mir ruckzuck aufgebaut, wenn ich danah allerdings Start drücke steigt das Skript mit folgender Fehlermeldung aus:

    Code
    >"C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Examples\Tests\gleichunsrechner.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams    
    +>00:08:00 Starting AutoIt3Wrapper v.2.0.0.1    Environment(Language:0407  Keyboard:00000407  OS:WIN_XP/Service Pack 3  CPU:X86 OS:X86)
    >Running AU3Check (1.54.14.0)  from:C:\Programme\AutoIt3
    +>00:08:01 AU3Check ended.rc:0
    >Running:(3.3.0.0):C:\Programme\AutoIt3\autoit3.exe "C:\Programme\AutoIt3\Examples\Tests\gleichunsrechner.au3"    
    C:\Programme\AutoIt3\Examples\Tests\gleichunsrechner.au3 (99) : ==> Subscript used with non-Array variable.:
    $expression = $left_side[0] & " - (" & $right_side[0] & ")"
    $expression = $left_side^ ERROR
    ->00:08:06 AutoIT3.exe ended.rc:1
    +>00:08:07 AutoIt3Wrapper Finished
    >Exit code: 1    Time: 7.665
    Alles anzeigen

    aus,

    mfg (Auto)Bert

  • Virenmeldung

    • autoBert
    • 12. Januar 2010 um 22:31
    Zitat von Helveticus

    Hallo,

    wenn ich mir die aktuellste für AutoIt optimierte Scite Verison von der Homepage lade, dann kommt bei Kaspersky Internet Security eine Virenmeldung. Ist das ein Falschalarm?


    Lade diese vERSION DOCH BITTE AUF VIRUSTOTAL.COM HOCH. Dort prüfen 40 verschiedene Scanner auf Viren, damit kannst du besser einschätzen ob es sich um einen Fehlalarm handelt,

    mfg (Auto)Bert

  • Prob mit Array in einer For-Schleife und GUIGetMsg()

    • autoBert
    • 12. Januar 2010 um 22:00

    schau mal in diesen Thread

    mf (Auto)Bert

  • Problem mit CRC32...

    • autoBert
    • 12. Januar 2010 um 21:04

    Hallo Imer,

    Zitat

    das Problem ist jetzt das die Checksummen immer die gleichen sind (auch wenn die Datei größer/kleiner ist/ich inen kack mit Editor reinschreib/rausmach)

    Falls du es richti anwendest, deutet dies darauf hin, dass die Function fehlehaft ist.

    Zitat

    Hat vll einer ne Idee wie ichs lösen könnte?

    Eine andere Function einsetzen (z.B.: _Crypt_HashFile ist zwar kein CRC sollte aber den sleben Zweckerfüllen), bzw. selbst eine entwickeln,

    mf (Ato)Bert

  • GUI funktioniert nicht..was ist falsch?

    • autoBert
    • 12. Januar 2010 um 03:12

    Hallo opaed,

    das in #2 gepostete Skript von PCKING erreicht bei mit eine Prozessorlst von über 50%, dass lag daran dass er im OnEvent-Modus in der Idle-Endlosschelife keinen sleep hatte. Übrigens ist der kleinstmögliche Sleepwert 10. Ein einfügen eines Sleep's verringert dir Last gegen null,

    mfg (Auto)Bert

  • Kleiner Webradioplayer

    • autoBert
    • 12. Januar 2010 um 01:17

    Hallo Jonathan,

    das Skript beendet sich bei mir sofort wieder ohne eine Fehlermeldung,

    mfg (Auto)Bert

  • GUI funktioniert nicht..was ist falsch?

    • autoBert
    • 11. Januar 2010 um 22:52

    Hallo der Storch,

    ich habe das Skrip noch einmal geändert:

    Spoiler anzeigen
    [autoit]

    #include <GUIconstants.au3>
    #include <Array.au3>
    #include <File.au3>

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

    Global $Start

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

    Opt("GUIOnEventMode", 1)

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

    GUICreate("Name:Testgui",800,100,0,0)
    GUISetOnEvent($GUI_EVENT_CLOSE,"_x4") ;damit auch auf das X reagiert wird
    GUICtrlCreateButton ("exe&1",0,20,180,50)
    GUICtrlSetOnEvent(-1, '_x1')
    GUICtrlCreateButton ("exe&2",200,20,180,50)
    GUICtrlSetOnEvent(-1, "_x2")
    GUICtrlCreateButton ("exe&3",400,20,180,50)
    GUICtrlSetOnEvent(-1, "_x3")
    GUICtrlCreateButton ("be&enden",600,20,180,50)
    GUICtrlSetOnEvent(-1, "_x4")

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

    GUISetState(@SW_SHOW)
    while 1 ;im OnEventMode notwendig
    sleep(1000)
    WEnd

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

    Func _x1()
    $Start = 1
    ControlClick("titel", "", "[CLASS:Button;INSTANCE:7]")
    EndFunc

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

    Func _x2()
    $Start = 2
    ControlClick("titel", "", "[CLASS:Button;INSTANCE:8]")
    EndFunc

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

    Func _x3()
    $Start = 3
    ControlClick("titel", "", "[CLASS:Button;INSTANCE:9]")
    EndFunc

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

    Func _x4()
    Exit
    EndFunc

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

    #cs
    If $Start = 1 Then

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

    ControlClick("titel", "", "[CLASS:Button;INSTANCE:7]")

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

    EndIf

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

    If $Start = 2 Then

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

    ControlClick("titel", "", "[CLASS:Button;INSTANCE:8]")

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

    EndIf

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

    If $Start = 3 Then

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

    ControlClick("titel", "", "[CLASS:Button;INSTANCE:9]")

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

    EndIf
    #ce

    [/autoit]

    jetzt wird bei jedem Klick in deiner Gui der enzsprechende ControlClick ausgeführt. Bei der Version vob PC_King wirdwurde nach einmal starten, der ControlClick laufend wiederholt,

    edit: sehe gerade PC_King hat von OnEvent-Modus auf MSG-Loop-Modus umgestellt, wenn du die ControlClicks in die entsprechende fun kopierst machen beide das gleiche,

    mfg (Auto)Bert

  • GUI funktioniert nicht..was ist falsch?

    • autoBert
    • 11. Januar 2010 um 22:06

    Hallo Der Storch,

    das geänderte Skript:

    Spoiler anzeigen
    [autoit]

    #include <GUIconstants.au3>
    #include <Array.au3>
    #include <File.au3>

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

    Global $Start

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

    Opt("GUIOnEventMode", 1)

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

    GUICreate("Name:Testgui",800,100,0,0)
    GUISetOnEvent($GUI_EVENT_CLOSE,"_x4") ;damit auch auf das X reagiert wird
    GUICtrlCreateButton ("exe1",0,20,180,50)
    GUICtrlSetOnEvent(-1, '_x1')
    GUICtrlCreateButton ("exe2",200,20,180,50)
    GUICtrlSetOnEvent(-1, "_x2")
    GUICtrlCreateButton ("exe3",400,20,180,50)
    GUICtrlSetOnEvent(-1, "_x3")
    GUICtrlCreateButton ("beenden",600,20,180,50)
    GUICtrlSetOnEvent(-1, "_x4")

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

    GUISetState(@SW_SHOW)
    while 1 ;im OnEventMode notwendig
    sleep(1000)
    WEnd

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

    Func _x1()
    $Start = 1
    EndFunc

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

    Func _x2()
    $Start = 2
    EndFunc

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

    Func _x3()
    $Start = 3
    EndFunc

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

    Func _x4()
    Exit
    EndFunc

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

    If $Start = 1 Then

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

    ControlClick("titel", "", "[CLASS:Button;INSTANCE:7]")

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

    EndIf

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

    If $Start = 2 Then

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

    ControlClick("titel", "", "[CLASS:Button;INSTANCE:8]")

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

    EndIf

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

    If $Start = 3 Then

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

    ControlClick("titel", "", "[CLASS:Button;INSTANCE:9]")

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

    EndIf

    [/autoit]

    Kommntare sind im Skript,

    edit: zu langsam :sleeping:
    mfg (Auto)Bert

  • Einfache Variante für unzugängliche Koordinaten

    • autoBert
    • 11. Januar 2010 um 21:32

    Hallo Cartan12,

    Zitat von SORUS

    Meine Bildschirmauslösung beträgt 1280 x 1024 Pixel. Die Webseite auf der ich Koordinaten ermitteln und anklicken will ist jedoch 1280 x 4986 Pixel gross.


    Du scheinst einen seeeehr großen Monitor zu haben,

    mfg (Auto)Bert

  • Variable zu Array...

    • autoBert
    • 11. Januar 2010 um 21:03

    Hallo @ Cartan12

    dein Code prüft nur ab ob das Element $array[5] ungleich leer ist. Zum prüfen ob es existiert ist dies:

    [autoit]

    #include <array.au3>
    $var = "Hall"
    $array = StringSplit($var, "")
    If IsArray($array) Then
    _ArrayDisplay($array)
    If $array[0] < 5 Then MsgBox(0, "!", "$Array[5] existiert nicht!")
    If UBound($array) < 6 Then ConsoleWrite("$Array[5] existiert nicht!")
    ; ubound gibt die Anzahl zurück und da das Array 5 Elemente enthält [0] die Dimension enthält bei Ubound berüksichtien
    EndIf

    [/autoit]

    die bessere Methode,

    mfg (Auto)Bert

  • mal wieder transparente Controls in GUI

    • autoBert
    • 11. Januar 2010 um 13:15

    Hallo m-obi,

    siehe Hilfe: [quote]Checkbox, Radio, Group or Progress controls cannot be painted if the "Windows XP/Vista style" is used./quote]
    Du kannst aber ein Raadiocontrol ohne Text erstellen und dahinter ein Label plazieren,

    mfg (Auto)Bert

  • Gui in 2 Sprachen darstellen - Wie?

    • autoBert
    • 11. Januar 2010 um 03:46

    Hallo Ealendil,

    leider lässt lies sich das Skript nicht kompilieren. Fehlermeldungen::

    Spoiler anzeigen
    Code
    >"C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Examples\Tests\t29.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams    
    +>03:35:07 Starting AutoIt3Wrapper v.2.0.0.1    Environment(Language:0407  Keyboard:00000407  OS:WIN_XP/Service Pack 3  CPU:X86 OS:X86)
    >Running AU3Check (1.54.19.0)  from:C:\Programme\AutoIt3
    C:\Programme\AutoIt3\Examples\Tests\t29.au3(42,32) : WARNING: $Fo: possibly used before declaration.
     ControlSetText($Form, "", $Fo rm
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\t29.au3(42,32) : ERROR: syntax error
     ControlSetText($Form, "", $Fo rm
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\t29.au3(42,32) : ERROR: $Fo: undeclared global variable.
     ControlSetText($Form, "", $Fo rm
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\t29.au3 - 2 error(s), 1 warning(s)
    !>03:35:08 AU3Check ended.rc:2
    +>03:35:23 AutoIt3Wrapper Finished
    >Exit code: 0    Time: 16.782
    Alles anzeigen


    Scheint sich beim Posten ein Leerzeichen in Zeile 42 eingeschlichen zu haben, nach entfernen aus $Fo rm wird $Form läuft es problemlos. Vom Konzept her erinnert es mich an Oscars Loginbox. Schöne Arbeit, weiter so :thumbup: und herzlich willkommen im Forum,

    mfg (Auto)Bert

  • Schleife mit Mausposition

    • autoBert
    • 10. Januar 2010 um 17:10

    Halo Trama,

    ich habe kein KlickTel, kann mir aber durchaus vorstellen, dass du mit deinem Vorhaben gegen die AGB's bzw. Lizenzbestimmungen verstösst. Dies solltest du also vorher abklären. Grundsätzlich solltest du dir die Hilfe zu Send, ControlSend und MouseClick anschauen. Am besten arbeitest du dich durch die Kapitel der Hilfe ab dem Thema AutoIt Window Information Tool bis eischliesslich den Tutorials Tutorial - Notepad
    und Tutorial - WinZip durch, dann hast du dass notwendige Grundlagenwissen um das Projekt zu realisieren,

    mfg (Auto)Bert

  • Pfad

    • autoBert
    • 10. Januar 2010 um 16:37

    Hallo baku,

    alle Programme die in Ordnern liegen, der sich im Suchpfad befinden, können auf diese Weise gestartet werden. AUF BS-Ebene <WIN> und <R> drücken und der Ausführen-Dialog erscheint,

    mfg (Auto)Bert

  • Kann man sowas mit AutoIt erstellen?

    • autoBert
    • 10. Januar 2010 um 12:11

    Hallo gixx,

    Zitat von qixx

    Hi,

    Sorry erstmal, dass ich diesen verstaubten Thread wieder
    aus der Kiste hole. :D
    Aber ich habe eine Frage dazu und wollte keinen neuen
    Thread erstellen. Also:
    Gibt es die Möglichkeit, den "Windows-Rand" auch zu
    überschreiben? In dem letzten Beispiel hier wird der ja
    noch angezeigt.


    MfG
    qixx

    Alles anzeigen

    einfach beim erstellen

    [autoit]

    $hfrmMain = GUICreate("", $iWidht, $iHeight, 0, 0, $WS_POPUPWINDOW)

    [/autoit]

    mfg (Auto)Bert

  • Installation klappt nicht richig

    • autoBert
    • 10. Januar 2010 um 02:51

    Hallo teido,

    Herlich willkomen im Forum. Du musst das Skript zuerst speichern, bevor du es starten kannst

    mfg Auto)Bert

  • mal wieder transparente Controls in GUI

    • autoBert
    • 10. Januar 2010 um 02:45

    hallo

    schau dir diesen Thread an,

    mfg'(Auto)Bert

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™