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

  • Zwischenablage in JPEG oder HTML

    • autoBert
    • 12. Oktober 2012 um 15:41

    Hallo HassanMullah,

    warum den Umweg über die Zwischenablage?

    Zitat

    _ScreenCapture_Capture

    Erstellt von einem Bereich des Bildschirms einen Screenshot
    Quelle: dt. Hilfeübersetzung

    Wenn du aber wirklich das letzte Bild aus der Zwischenablage extrahieren wllst benötigst du

    Zitat

    _ClipBoard_GetData

    Ruft die Daten aus der Zwischenablage in einem angegebenen Format ab

    mfg autoBert

  • Funktionen

    • autoBert
    • 10. Oktober 2012 um 07:39

    @Robin116: es ist unhöflich seinen Eröffnungsbeitrag zu löschen, da dadurch die Antworten der Helfenden ohne Bezug sind.

    @Mod/Admin: bitte wieder herstellen und ein Schloss dran

    mfg autoBert

  • 3CX Phone mit einem AutoItscript ansprechen

    • autoBert
    • 7. Oktober 2012 um 21:50
    Zitat von djbeatstar

    was zu meinen ansprüchen zählt ist folgendes. habe in einem sript eine inputbox mit der GUICtrl ID $telnr und 2 knöpfe mit den ID's $call und $hang.

    bei case $call soll folgendes ablaufen;

    Telefonnummer wird aus GUICtrl $telnr ausgelesen und in die Variable $number geschrieben

    3CXPhone wird angewiesen eine telefonverbindung zur nummer $number auf zu bauen


    Dazu sollten normalerweise die Controll...-Funktionen reichen. Lies dir in der Hilfe am besten:

    • AutoIt Fenster-Informations-Tool (AU3Info)
    • Fenster-Titel und -text (Grundlagen)
    • Fenster-Titel und -Text (erweitert)
    • [autoit]ControlGetText [/autoit]
    • [autoit]ControlClick [/autoit]

    jewels mit den Beispielen durch,

    mfg autoBert

  • Textfile bearbeiten - gar nicht so einfach..

    • autoBert
    • 4. Oktober 2012 um 21:40
    Zitat von Surfy

    @CR setzt einfach auch noch eine Leerzeile dazwischen - dh es muss mit FilewritefromArray ein Problem geben... ;(Surfy

    Kann eigentlich nicht sein den das von mir in #14 gepstete Skript habe ich mehrfach hintereinder getestet. Die geschriebene Datei wird anstandslos wieder eingelesen. Ich benutze AutroIt 3.3.6.1 auf Win XP SP3

    mfg autoBert

  • Windows-Sicherheits Fenster

    • autoBert
    • 4. Oktober 2012 um 10:41

    Hallo YDeathY,

    das 1. Problem bei deinem Ansatz ist:

    Zitat

    RunWait

    Startet ein externes Programm und pausiert die Ausführung des Autoit-Skripts, bis das externe Programm beendet ist.

    Quelle: dt. Hilfeübersetzung

    [autoit]

    Run("install.exe") ;evtl. genauen Pfad angeben
    WinWait("Windows-Sicherheit", "Diese Treibersoftware trotzdem &installieren")
    WinActivate("Windows-Sicherheit", "Diese Treibersoftware trotzdem &installieren")
    ControlClick("Windows-Sicherheit", "Diese Treibersoftware trotzdem &installieren",2);warum 2 Klicks??

    [/autoit]

    ob noch weitere Probleme auftreten können kann ich nicht sagen da XP-Nutzer. Du solltest dir auch die Hilfe durchlesen, den bei RunWait und bei ControlClick hätte das Skript Sntaxfehler ausgeben müssen.

    mfg autoBert

  • MD5 von einem Prozess raus bekommen

    • autoBert
    • 4. Oktober 2012 um 01:58
    Zitat von TheBeatMaker111

    Ich habe vor, dass das Programm die Text-Datei ließt und dann jede paar Sekunden schaut, (indem er jeden Prozess in einen MD5 Code verwandelt) und dann vergleicht ob die MD5 Checksumme in der Datei steht,

    Da ein Prozess "lebt" ädern sich seine Daten laufend. Falls du also tatsächlich an die Daten der Prozesse kommen solltest wirst du autmatisch alle Prozesse abschiessen. Wenn du Glück hast schiesst sich dein eigener Prozess ab bevor sich Windows aufhängt.

    mfg autoBert

  • Textfile bearbeiten - gar nicht so einfach..

    • autoBert
    • 3. Oktober 2012 um 21:39

    Hallo Surfy,

    und hier noch eine andere Lösung mit GUI:

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <File.au3>
    Local $aServers, $Path = @ScriptDir & '\servers.dat'
    _FileReadToArray($Path, $aServers)
    If @error Then
    MsgBox(16, "Fehler", @ScriptDir & '\servers.dat' & @CRLF & 'nucht gefunden!')
    Exit
    EndIf
    ;_ArrayDisplay($aServers)
    $hGUI = GUICreate("Server-Manager v1.0 ", 420, 300, 20, 20)
    GUISetBkColor(0x00E0FFFF) ; will change background color
    $idLV_Servers = GUICtrlCreateListView("aktiv?|Server", 10, 10, 400, 165, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_CHECKBOXES))
    For $i = 1 To $aServers[0]
    $id = $i*2 - 1
    ;consoleWrite($aServers[0]&" "&$id &" "&$i & @TAB)
    If $id > $aServers[0] Then ExitLoop
    $aSplit = StringSplit($aServers[$id+1], " ")
    if @error Then ExitLoop
    GUICtrlCreateListViewItem(" |" & $aSplit[4], $idLV_Servers)
    ;_ArrayDisplay($aSplit)
    If StringLeft($aSplit[1], 1) <> '!' Then
    _GUICtrlListView_SetItemChecked($idLV_Servers, $i-1)
    ;ConsoleWrite(" checked " & @CRLF)
    EndIf
    Next
    GUISetState()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Dim $aServers[_GUICtrlListView_GetItemCount($idLV_Servers) * 2]
    For $i = 0 To _GUICtrlListView_GetItemCount($idLV_Servers) - 1
    ;Schleifenbeginn da das erste Item den Index 0 hat von 0 bis Anzahl -1
    ;ConsoleWrite('Warte ' & $i + 1 & @CRLF)

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

    If _GUICtrlListView_GetItemChecked($idLV_Servers, $i) Then ; wenn geChecked (angehakt) dann
    $aServers[$i * 2] = 'Warte ' & $i + 1
    $aServers[$i * 2 + 1] = 'Meine Umgebung ' & $i + 1 & ' ' & _GUICtrlListView_GetItemText($idLV_Servers, $i, 1)
    Else
    $aServers[$i * 2] = '!arte ' & $i + 1
    $aServers[$i * 2 + 1] = '!eine Umgebung ' & $i + 1 & ' ' & _GUICtrlListView_GetItemText($idLV_Servers, $i, 1)
    EndIf
    ; _ArrayDisplay($aServers)
    Next
    _FileWriteFromArray($Path, $aServers)
    Exit
    EndSwitch
    WEnd

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

    die Servers.dat kann unendlich viele Einträge emthalten:

    Code
    Warte 1
    Meine Umgebung 1 servername1.domain.com
    !arte 2
    !eine Umgebung 2 servername2.domain.com
    !arte 3
    !eine Umgebung 3 servername3.domain.com
    Warte 4
    Meine Umgebung 4 servername4.domain.com

    und in der GUI können sie deaktiviert und aktiviert werden.

    mfg autoBert

  • Chatbot Susi

    • autoBert
    • 2. Oktober 2012 um 16:11
    Zitat von Freeman

    Ich verstehe nun wirklich nur noch Bahnhof.

    I try learning by doing aber dies geht voll in die Hose

    Dann solltest du dir [ offen ] Tutorial: Wie man Script-Fehler erfolgreich sucht/findet bzw. richtig debuggt zu Gemüte führen und die Rückgabe einzelner Funktionen damit prüfen. Nach

    [autoit]

    Global $AMOD2 = _StringBetween($MDATA2, '<td><a href="mail/blacklist">Black-List</a></td>', '<table class="wrap_table">')

    [/autoit]

    also ein _ArrayDisplay einfügen und dir fällt es wie Schuppen von den Augen warum du kein Ergebnis erhällst. Wenn du dann irgendwann > 1 MB Source geschrieben und erfolgreich auf Fehler ünerprüft hast entwickeslt du auch ein Gefühl w der Fehler auftritt, aber selbst dann sind die Tipps von Andy immer noch Gold Wert denn Fehler passieren (leider) jedem und überall. Natürlich musst du dazu auch Wissen was eine Funktion zurückgibt, dafür empfehle ich dir die dt. Hilfeübersetzung. Sie ist im Moment zwar (noch) nicht auf den aktuellen Stand 3.3.8.1 angepasst sollte aber immer noch > 95% der Funktionen korrekt sein.

    mfg autoBert

  • Chatbot Susi

    • autoBert
    • 1. Oktober 2012 um 13:24
    Zitat von Freeman

    Hallo Torni,

    ich habe jetzt mehrmals versucht eine Genaue Fehlerangabe zu erhalten.
    If StringInStr($AMOD2[0], "Herausgefordert zum Boxkampf", 0 bricht es ab: Error Subscript used with non-Array variable.

    Dies liegt daran dass $aMod2 kein Array ist. Du musst also vor dem Auswerten prüfen ob $aMod2 ein Array ist, das kanst du mit

    [autoit]

    If IsArray($aMod2 ) Then

    [/autoit]

    ,

    mfg autoBert

  • Bannhelfer für CMS gestützte Webseiten (Yoomla / Webspell)

    • autoBert
    • 1. Oktober 2012 um 10:10

    Hallo Freeman,

    es ist sehr unhöflich seine Beiträge im eigenen Thema zu löschen, dadurch kann dieses Thema später nicht mehr nachvollzogen werden.

    Noch unhöflicher ist es danach (weil ja keine Zeit auf die Freischaltung zu warten) ein anderes Thema zu kapern.

    @Mod/Admin: bitte die Beiträge in diesem Thema wieder herstellen und das gekaperte Thema schliessen,

    mfg autoBert

  • Brauche Resourcenspaarende Variante um eine Exel Tabelle einzulesen.

    • autoBert
    • 28. September 2012 um 11:18

    Deine bisher angewandte Methode ist eigentlch die schnellste. Pste also bitte einmal dein bisheriges Skript damit man schauen kann wo du noch optimieren kannst. Ausserdem denke ich das du von mit Excel erstellten Dateien im CSV-Format meinst,

    mfg autoBert

  • (mal wieder ein) Timer Problem

    • autoBert
    • 28. September 2012 um 11:10

    Hallo Maggo Meggl,

    du hast Micha_he's Rat nicht richtig umgesetzt, so war es gemeint:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <String.au3>
    #include <timers.au3>

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

    Run("C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe")
    WinWaitActive("Startseite - Microsoft Visual Studio (Administrator)")
    Sleep(5500) ; Wartezeit bis Visual Studio startbereit ist

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

    MouseClick("left", 38, 229,1) ; Klick´s zum Hochladen in
    Sleep(1500)
    MouseClick("left", 57, 301, 1)
    Sleep(1500)
    MouseClick("right", 192, 301, 1)
    Sleep(1500)
    MouseClick("left", 292, 312, 1)
    Sleep(2500)

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

    Send("{TAB 10}") ; Dat. auswählen
    Sleep(500)
    Send("{d}")
    Sleep(200)
    Send("{u}")
    Sleep(200)
    Send("{m}")
    Sleep(200)
    Send("{m}")
    Sleep(200)
    Send("{y}")
    Sleep(500)
    Send("{Enter}")

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

    Do
    Sleep(100)
    Until MouseGetCursor() = 1 ; warten bis der upload startet (cursor ändert sich)
    $Timer = TimerInit() ; Timer starten
    Do
    Sleep(100)
    Until MouseGetCursor() <> 1 ; warten, bis der Upload fertig ist (cursor wird wieder normal)
    $Time = TimerDiff($Timer) ; Timer stoppen
    $File = FileOpen("timer.txt", 1)
    FileWrite($File,Round($Time / 1000,2) & " Sekunden (" & $Time & " ms)" & @CRLF)
    FileWrite($File, $Time & @CRLF) ; Zeit an "timer.txt" anhängen
    FileClose($File)
    Sleep(7000)
    MouseClick ("left", 150, 355)
    Sleep(200)
    Send("{DEL}")
    Sleep(1000)
    Send("{Enter}")

    [/autoit]

    mfg autoBert

  • mit autoit und SQLite einträge in DB schreiben/auslesen

    • autoBert
    • 26. September 2012 um 00:35

    Die DB die du ansprechen willst kan keine SLite-DB sein, denn sonst könntest du nicht mit phpMyAdmin einen SQL Dump erzeugen. Es ist höchstwarscheinlich eine MySQL-DB.
    Mit Funktionen der SQLite.au3 kanst du jedoch nur SQLite-DB's lesen und schreiben.

    mfg autoBert

  • CMD + @COMSPEC + Variablen

    • autoBert
    • 25. September 2012 um 03:35

    nur zur Vervollständigung ComSpec wird bei CMD-Aufrufen nur beötigt wenn "festverdahtete" Funktionen des Kommadozeileninterpreters benutzt werden z.B.: Copy, Dir etc. .Bei aufrufen von Programmen geht es auch ohne.

    [autoit]

    $blub = StringRegExpReplace(@ScriptDir, "/", "\\")
    $Slash = "\"
    $Past = $blub & $Slash
    $Word = $Past & "5.doc"
    $Programm = $Past & "Convert2PDF.vbs"
    RunWait($Programm & " " & $Word)

    [/autoit]

    sollte also auch funktionieren. Die Lösung von BinDannMalWeg ist natürlich am einfachsten.

    @DanielZ86: setze bitte das Thema auf gelöst. Einfach den Eröffnunngsbeitrag bearbeiten, den Präfix (nähe Überschrift) umstellen und absenden, danke.

    mfg autoBert

  • Wird in der SB zu lax mit dem Jugendschutz umgegangen?

    • autoBert
    • 25. September 2012 um 02:42
    Zitat von Blume

    User unter 18 ab 22 Uhr den Zugriff auf die Shoutbox zu verbieten (auch wenn es von dir nur als Beispiel genannt wurde) gleicht "fast" einer "Zensur".


    Ich will denen doch gar nicht die SB verbieten, mein Vorschlag war doch viel radikaler:

    Zitat von autoBert

    [ironie]Benutzer unter 18 nach 22 Uhr eine komplette Internetsperre bis morgens 6 Uhr bekommen, sollte mal jemand unserer Familienministerin vorschlagen[/ironie]

    aber dass soll diese Familiemisterin machen, immerhin hatte sie auch schon den genialen Einfall Jugendlichen unter 16 sollen ab 20 Uhr nicht auf öffentliche Veranstaltungen sein falls dort Alkohol ausgeschenkt wird.

    Zitat von chesstiger

    Lösung 2 wird schon teilweise durchgesetzt, und zwar in Form von Banns, wenn wirklich jemand richtig übertreibt.

    das Problem ist welcher Mod bannt sich selbst:

    Zitat von autoBert

    Wie jeder (hoffentlich) an meiner obigen Antwort erkennen kann für mich nur die 2. Lösung der richtige Weg sein, falls es allgemein als Problem empfunden wird. Diese Lösung hat aber einen Nachteil es würde manche Stütze von AutoIt verärgern, da leider auch PUs&Mods nach 22 Uhr "schweinische Witze" reißen.

    andererseits stellt sich die Frage ob es wirklich Aufgabe des Frums ist Jugendliche zu schützen oder dies Sache der Eltern ist? Sprich warum wird es von diesen toleriert, dass ein Jugendlicher nach 22 Uhr noch im Inet unterwegs ist. Im übrigen sind >= 1 16-jähriger schon vor 22 Uhr deutlich anzüglicher, ich glaube du hast den von mir erwähnten Fall auf pastebin dokumentiert, oder habe ich mich jetzt exklusiv getäuscht? Möglich wäre natürlich auch dass mehrere zusammen nur einen Zitateeintrag für Sprengers Sammlung generiert haben, dann war es ein schlechter Scherz, denn die SB hier kan man im Gegensatz zu anderen Foren auch als Gast mitlesen.

    mfg autoBert

  • 2 Fragen wegen ListView

    • autoBert
    • 25. September 2012 um 01:02
    Zitat von Tak

    Aber Problem gelöst, danke ^^


    Dessen war ich mir auf Grund deiner Signatur sicher. Im übrigen hatte ich dich auf eine ähnlche Funktio geschubst, die ich bevorzuge,

    mfg autoBert

  • Wird in der SB zu lax mit dem Jugendschutz umgegangen?

    • autoBert
    • 25. September 2012 um 00:46

    Um nicht weitere OT-Beiträge in ein anderes OT-Thema zu produzieren stelle ich hiermit meinen dortigen Beitrag zur Diskussion:

    Zitat von minx

    ... aber wenn ich daran denke, dass hier von Ü30 abends schweinische Witze gerissen werden und dann Leute mit ihren 14 Jahren dabei sitzen, ...

    dieses Problem ließe sich lösen, wenn

    • [ironie]Benutzer unter 18 nach 22 Uhr eine komplette Internetsperre bis morgens 6 Uhr bekommen, sollte mal jemand unserer Familienministerin vorschlagen[/ironie]
    • besser solche Benutzer (auch PUs/Mods/Admins) dürfen nach Meldung die SB nicht mehr benutzen, dann wäre es aber oft sehr ruhig
    • [ironie]autoit.de spart Strom und ist von 22 - 6 Uhr down[/ironie]

    Der Beitrag von minx stimmt leider, ich glaube hauptsächlich Donnerstag abends, mit der Realität überein. Abgefärbt hat dies auch schon auf Benutzer die erst vor kurzem 16 wurden die in der SB einen 11?-jährigen damit verarschen (bei Bedarf suche ich den (nicht von mir dokumentierten) Auszug aus der SB für Sprengers Zitate und sende ihn Pee, (imho hätte der Benutzer eine 1-wöchige SB-Sperre verdient)). Wie jeder (hoffentlich) an meiner obigen Antwort erkennen kann für mich nur die 2. Lösung der richtige Weg sein, falls es allgemein als Problem empfunden wird. Diese Lösung hat aber einen Nachteil es würde manche Stütze von AutoIt verärgern, da leider auch PUs&Mods nach 22 Uhr "schweinische Witze" reißen. Bleiben also doch nur noch Lösung 3 und Lösung 1. 3 ist nicht diskutabel und 1 liegt nicht in der Hand des AutoIt-Teams, obwohl Lösung 1 hätte auch etwas für sich, da mir dadurch deutlich mehr Bandbreite von meinem Internetprovider zur Verfügung stünde.

    Ich hoffe die (nicht genannten) PUs/Mods fassen sich an die Nase und überlegen sich was u.U. schief läuft, vielleicht diskutieren sie es auch kurz teamintern durch. Zum Glück ist das Damoklesschwert Jugendzertifizierung an Forenbetreibern vorbeigegangen. Vielleicht reicht es ja die SB häufiger zu löschen, verhindert aber nicht dass es Unbedachterweise (und sei es nur weil es in Sprengers Zitaten-Sammlung soll) woanders archiviert wird, sollten die damals geplanten Vorgaben wirklich jemals kommen, empfehle ich als 1. diese Sammlungen als ab 18 zu kennzeichnen.

    Cheater Dieter: du hast im anderen Thema nicht richtig gelesen

    mfg autoBert

  • 2 Fragen wegen ListView

    • autoBert
    • 24. September 2012 um 23:19
    Zitat von Tak

    Hallo autoBert und ty für deine Antwort.

    Das Programm rechnet eigendlich nur die neuen Spawnzeiten aus.
    In dem Spiel War of the Immortals sind die Spawnzeiten der Bosse selbst schon integriert, da muss man eigendlich nur die Zeit drauf rechnen und gut ist.


    Wenn du die 3 dir noch unbekannten Funktionen verstanden hast schaffst du es sicher alleine. Mehr Hilfe darfst du von mir nicht erwarten aber ausgerechnet

    Zitat von Tak

    DIES IST KEIN BOT NUR EIN RECHNER FÜR NEUE SPAWNZEITEN NACH LEGUNG DES BOSSES!!!

    hat mich mistrauisch gemacht, deshalb spar ich mir die 20 Minuten die für einen geübten AutoIt-Programmierer imho reichen sollten das Projekt fertig zu stellen.

    Edit: evtl, benötigst du noch AdlibRegister

    mfg autoBert

  • Fenster verschieben, Script nicht pausieren

    • autoBert
    • 24. September 2012 um 23:03

    Du glaubst doch nicht dass jemand dein Skript testet we er sieht dass du Registrywerte veränderst ohne sie am Programmende wieder zu restaurieren?

    Mach bitte ein kleines "ungefährliches" Beispiel dann bekommst du eher Hilfe, ich gehe aber davon aus dass es mit AutoIt nicht möglich ist eine GUI während des Verschiebens auch noch zu aktualsieren. Dass es grundsätzlich möglich ist sehe ich z.B. am FireFox der munter weiter lädt trotz verschieben. FF ist aber sicher nicht mt AutoIt programmiert. Hab mich anhand von Make-Grafik 's Beispielskript überzeugen lassen, must du nur richtig umsetzen auf dein Slript,

    mfg autoBert

  • 2 Fragen wegen ListView

    • autoBert
    • 24. September 2012 um 22:48
    Zitat von Tak

    Ich hab ein kleines Problemchen was ListView betrifft.

    Zitat von Tak

    DIES IST KEIN BOT NUR EIN RECHNER FÜR NEUE SPAWNZEITEN NACH LEGUNG DES BOSSES!!!

    Mach ein allgemeines Beispiel mit verständlichen Begriffen (Am besten ein Wiedervrlagesstem für Erinerungen). Die von dir verwendeteten z.B. "Spamliste" lassen mich befürchten dass dein Vorhaben nicht mit den Forenregeln kompatibel ist.

    Falls dir das zuviel Arbeit ist les dir die Hilfe zu

    [autoit]

    _GUICtrlListView_GetItemCount
    _GUICtrlListView_DeleteItem
    _GUICtrlListView_GetItemTextArray
    Beep
    FileWriteLine

    [/autoit]

    die oben genannten Funktionen zusammen mit einer Schleife (am besten For ... Next) und die Sache funktioniert.

    mfg autoBert

    mfg autoBert

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™