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

  • Problem mit_IEFormElementRadioSelect()

    • autoBert
    • 29. Januar 2013 um 19:14

    Schalte dem Kompatiblitätsmodus ein, dann soll es gehen. (Google hilft dabei sehr gerne)

  • FileOpen funktioniert nicht, wegen zu langem Pfad

    • autoBert
    • 29. Januar 2013 um 18:07

    Es gibt auch darstellbare Zeichen die in Datei- und Ordnernamen nicht vorkommen dürfen. Um diese heraus zu filtern verwende ich diese Routine:

    [autoit]

    Func _SAFEFILENAME($sRAW)
    ;FireFox autotscript.com
    Local $AUGLY = StringSplit('\ / : * ? " < > |', " ")
    For $i = 1 To $AUGLY[0]
    $sRAW = StringReplace($sRAW, $AUGLY[$i], "")
    Next
    Return $sRAW
    EndFunc ;==>_SAFEFILENAME

    [/autoit]

    mfg autoBert

  • Änderungen einer .ini Datei vor einer portablen App neu Includen

    • autoBert
    • 29. Januar 2013 um 16:01

    INI-Dateien werden nicht includet (würde ja zu Laufzeitfehlern führen) sondern mit den INI...-Funktionen bearbeitet.

    mfg autoBert

  • #RequireAdmin schießt Skript ab

    • autoBert
    • 29. Januar 2013 um 12:10
    Zitat von Sol.LrMartyn

    "Dann musst du dem Skript auch Adminrechte geben, sonst startet es nicht. "

    -> Tschuldige, aber ich bin kein Anfänger. Du bist ja gut...


    Ein "kein Anfänger" hätte dieses Thema erst gar nicht eröffnet, sondern gewusst woran es liegt [Blockierte Grafik: http://1.2.3.11/bmi/www.autoit.de/wcf/images/avatars/avatar-1019.jpg]

    Und natürlich ist Mars gut deshalb weis er wie jeder andere logisch denkende Mensch auch ein Skript das wegen fehlerhaftem UNC-Pfad nicht gestartet werden kann kann auch keine Admistratorrechte anfordern.

    mfg autoBert

  • 'Ziel Speichern unter...' im FF, aber wie?

    • autoBert
    • 29. Januar 2013 um 10:13

    Das Problem bei Verwendung von InetGet besteht darin dass der TE kostenpflichtigen Inhalt herunterladen will:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    InetGet sollte es mit Übergabe des Benutzers und dessen Passwort auch schaffen:

    Zitat von Hilfe

    Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. "http://myuser:mypassword@https://autoit.de/www.somesite.com"

    Eventuell ist noch zuvor der Useragent mit

    [autoit]

    HttpSetUserAgent

    [/autoit]

    anzupassen.

    mfg autoBert

    Dateien

    26_VollBild.jpg 368,95 kB – 0 Downloads
  • Problem mit_IEFormElementRadioSelect()

    • autoBert
    • 29. Januar 2013 um 06:32

    So

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $oIE = _IE_Example("form")
    $oForm = _IEFormGetObjByName ($oIE, "ExampleForm")

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

    $oIE_Input = _IEGetObjByName($oIE, "textExample")
    $oIE_Edit = _IEGetObjByName($oIE, "textareaExample")
    $oIE_Dropdown = _IEGetObjByName($oIE, "selectExample")
    $oIE_Radio = _IEGetObjByName($oIE, "radioExample") ;// Das funktioniert
    If @error Then ConsoleWrite(@error & @CRLF & @extended & @CRLF)

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

    _IEFormElementSetValue($oIE_Input, "TEEEESSSTT")
    _IEFormElementSetValue($oIE_Edit, "TEEESTII" & @CRLF & "TEST")
    _IEFormElementOptionSelect($oIE_Dropdown, "Freepage", 1, "byText")
    ;_IEFormElementRadioSelect($oIE, "Airplane", "vehicleAirplane") ;// Das funktioniert nicht!
    _IEFormElementRadioSelect ($oForm, "vehicleAirplane", "radioExample", 1, "byValue")
    ;// <input type='radio' name='radioExample' value='vehicleAirplane'>Airplane<br>
    ;~ _IEFormElementRadioSelect($oIE, "vehicleAirplane", "radioExample", 0, "byValue")
    If @error Then ConsoleWrite(@error & @CRLF & @extended & @CRLF)

    [/autoit]

    läuft dein Skript bei mir ( IE 8 ) einwandfrei genauso wie das Hilfebeispiel zu _IEFormElementRadioSelect. Welche IE-Version benutzt du?

    mfg autoBert

  • bräuchte hilfe möchte das mein Script auch startet auf Tastendruck

    • autoBert
    • 29. Januar 2013 um 06:01
    Zitat von Disharmonie

    Es handelt sich hier um keinen KLICKBOT oder SONSTIGES


    Um was denn sonst bei benutzen von

    [autoit]

    MouseClick

    [/autoit]

    in einer Endlosschleife?

    daher: Vote for close

    mfg autoBert

  • Inputbox zu Text Datei

    • autoBert
    • 28. Januar 2013 um 13:27
    Zitat von dieselwiesel

    @autoBerti
    Steht im Spoiler unterm Script ;)


    da sucht es ja auch jeder :)

    jetzt weis ich genau so viel wie vorher ist mir zu theoretisch. Mit RegExp kenne ich mich gar nicht aus. Also nichts für mich.

    Einzig zum Datei speichern fällt mir etwas ein, da must du:

    • daür sorgen wenn .txt schon enthalten ist das es nicht erneut angehängt wird. Imho am einfachsten mit StringInStr zu lösen
    • Fileopen mit Modus 2 verwenden, bei Filewrite das Handle von Fileopen verwenden und natürlich auch mit Fileclose schliessen. Damit vehinderst du das anhängen des neuen Textes an den bereits bestehenden Dateiinhalt

    mfg autoBerti

  • ie.au3 Button anhand der Beschriftung selektieren?

    • autoBert
    • 28. Januar 2013 um 10:54
    Zitat von Royal

    _IELinkclickbyTest() funktioniert nicht.

    da dies ja eine selbstgestrickte Funktion ist solltest du auch den Quellcode dazu einstellen.

    Zitat von Royal

    _IELinkclickbyTest() Gibt es eine möglichkeit den Button anhand seiner Beschriftung zu selektieren?

    Mit Sicherheit, aber ob schon jemand eine solche Funktion entwickelt hat, kA.

    Die Vorgehensweise wäre:

    • mit _IEFormElementGetCollection die Objektsammlung aller
      Formular-Elemente des Formulars abholen
    • diese mit For...In...Next durchgehen
    • bei jedem Durchgang prüfen ob das Objekt den gesuchten Text hat
      Hierbei hilft die Lektüre der MSDN zum Objektmodell des IE sicher ungemein.

    du kannst jetzt also

    • diverse Foren nach einer fertigen Funtion durchsuchen
    • dir selbst eine solche Funktion entwickeln
    • die Seite benennen damit man schauen kann ob es nicht doch mit normalen Bordmitteln funktioniert

    mfg autoBert

  • Inputbox zu Text Datei

    • autoBert
    • 28. Januar 2013 um 01:10
    Zitat von dieselwiesel

    versuche mal wieder was zusammen zu basteln :D aber an ein paar Sachen hängts halt...


    wäre nett wenn du beschreibst wo und was klemmt.

    mfg autoBert

  • CMD/DOS Ausgabe eines Programms in GUI ausgeben/anzeigen?

    • autoBert
    • 27. Januar 2013 um 20:21

    Schau dir dazu

    [autoit]

    StderrRead

    [/autoit]

    in der Hilfe an inkl. Beispiel

    mfg autoBert

  • TCPListen auf allen Ports

    • autoBert
    • 27. Januar 2013 um 20:08

    Wenn du genügend Ressourcen hast kannst du ja für jeden Port (afair 0 - ~65565) einen lauschenden Port öffnen. Dann hört dein Programm alles was an dich gesendet wird. Du solltest dich allerdings nicht wundern wenn das Surfen im Web und viele andere Dienste/Dinge nicht funktionieren während deine Lauschaktion läuft.

    Schlicht gesagt mit AutoIt Boardmitteln unmöglich. Ob irgendein AutoIt-User eine UDF hat die es ermöglicht den Datenverkehr gleichzeitig mit zu sniffen ohne den eigentlichen Dienst zu beeinträchtigen weis am besten Tante Google.

    mfg autoBert

  • Problem beim Afragen von For erstellten Variablen / ID's / Elementen

    • autoBert
    • 27. Januar 2013 um 19:21

    Edit: nachdem sich Skilkor anscheinend am Inhalt störte diesen herauseditiert.

    mfg autoBert

  • Variable durchreichen

    • autoBert
    • 26. Januar 2013 um 19:10
    Zitat von teamnoobPDB

    Wie wäre es mal mit dem hier?

    Spoiler anzeigen
    [autoit]

    Global $a_Werte[1]
    $test123 = "12345"
    $test123 = main($test123)
    MsgBox(0, "", $test123) ; hier sollte 54321 rauskommen
    Func main(ByRef $test)
    $test = test1($test)
    return $test
    EndFunc ;==>main
    Func test1(byref $test1)
    $test1 = "54321"
    return $test1
    EndFunc ;==>test1

    [/autoit]
    Alles anzeigen


    da frage ich mich dann allerdings warum die Übergabe mit ByRef ausgeführt wird.

    mfg autoBert

  • Variable durchreichen

    • autoBert
    • 26. Januar 2013 um 15:05
    Zitat von Tigger1975

    Hat jemand eine Idee wie ich das Lösen kann?


    einmal so:

    Spoiler anzeigen
    [autoit]

    Global $a_Werte[1]
    $test123 = "12345"
    main($test123)
    ConsoleWrite($test123&@CRLF) ; hier sollte 54321 rauskommen
    Func main(ByRef $test)
    $a_Werte[0] = $test
    test1($a_Werte[0])
    ConsoleWrite($a_Werte[0]&@CRLF)
    $test=$a_Werte[0]
    EndFunc ;==>main
    Func test1(byref $test1)
    $test1 = "54321"
    EndFunc ;==>test1

    [/autoit]


    dann kannst du aber auch gleich $Test in der func Main weiterreichen.

    mfg autoBert

  • Variablen schließen nicht? - Seht ihr einen Fehler?

    • autoBert
    • 25. Januar 2013 um 14:10
    Zitat von YaeroxXO

    aber könnte mir mal bitte jemand von euch sagen, ob in dem folgenden Script Fehler sind im Sinne von: Ich deklariere eine Variable oder so, und gebe sie nicht frei?

    Das Gegenteil ist der Fall du benutzt Variablen Arrayelemente die es nicht gibt:

    Code
    Running AU3Check (1.54.19.0)  from:D:\Programme\AutoIt3
    +>13:59:46 AU3Check ended.rc:0
    >Running:(3.3.6.1):D:\Programme\AutoIt3\autoit3.exe "D:\Programme\AutoIt3\Test\asdfb.au3"    
    D:\Programme\AutoIt3\Test\asdfb.au3 (58) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    $a_row0 = StringSplit($a_row0[2], ":")
    $a_row0 = StringSplit(^ ERROR
    ->13:59:50 AutoIT3.exe ended.rc:1
    +>13:59:51 AutoIt3Wrapper Finished
    >Exit code: 1    Time: 7.338


    Skript mit F5 gestartet und Startbutton geklickt.

    Der Seicherzuwachs könnte auch in den Dosdateien begründet sein, ersetze einmal Run mit RunWait und teste dein Skript damit.

    Edit: Ich habe jetzt dein Skript eine Weile laufen lassen (Ative App laden, danach Start). Während dein Skript nach dem Starten sich nur beim Wechel von 1stellig auf 2stellig 3stellig etwas RAM genehmigt steigt der Ramverbrauch meines Virenscanners stetig. Bei Stop stagniert er aber beim Fortsetzen geht das ständige Erhöhen des RAMs weiter. Ich kann deine Schlussfolgerung das AutoIt ein grösseres Speicherleck hat nicht nachvollziehen.

    mfg autoBert

    mfg autoBert

  • Variablendeklaration

    • autoBert
    • 25. Januar 2013 um 13:07
    Zitat von x0r

    sagt mal, das war doch früher nie so?!

    Früher gings auch ohne Deklaration, ausser bei Opt("MustDeclareVars",1)?

    Ob eine Warnung oder ein Fehler ausgegeben wird hängt vom Zeitpunkt des Auftretens ab. Das war schon immer so und ist noch so. Dieses fehlerhafte Skript:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>

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

    Global $Picleft[31] = [15, 35, 55, 75, 95, 115, 135, 155, 175, 15, 35, 55, 75, 95, 115, 135, 155, 175, 15, 35, 55, 75, 95, 115, 135, 155, 175, 15, 35, 55, 75] ;Ich weiss geht auch anderst :D
    Global $Pictop[31] = [20, 20, 20, 20, 20, 20, 20, 20, 20, 40, 40, 40, 40, 40, 40, 40, 40, 40, 60, 60, 60, 60, 60, 60, 60, 60, 60, 80, 80, 80, 80] ;Dass geht auch anderst :D
    Global $pic[31] = ['1', '23', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']
    ;~ Global $PicName[31] = [Die 31 namen der smileys]
    Global $Button[31]
    $hGui = GUICreate('Test')
    For $i = 0 To 30
    $Button[$i] = GUICtrlCreateButton($i, 15 + Mod($i, 9) * 20, 20 + Int($i / 9) * 20, 19, 19)
    Next
    For $i = 0 To 30 ;(Original ist es mit UBound($var)-1 welches die grösse 31 hat)
    ;$Pic[$i] = GuiCtrlCreatePic(@ScriptDir & '\Smileys\' & $Picname[$i],$Picleft[$i],$Pictop[$i],20,20)
    $pic[$i] = GUICtrlCreateButton($i, $Picleft[$i], $Pictop[$i] + 100, 20, 20)
    Next
    GUISetState()

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

    Global $oldMsg
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $pic[0] To $pic[30]
    _Pic($nMsg - $pic[0])
    Case $Button[0] To $Button[30]
    _Button($nMsg - $Button[0])
    EndSwitch
    WEnd

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

    Func _Pic($iID)
    MsgBox(0, "", "Button " & $ID & " wurde gelickt") ;hier ist eigentlich nur ein Buchstabe vergessen mit unterschiedichen Folgen
    EndFunc ;==>_Pic

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

    Func _Button($iID)
    Global $ID = "Test" ;irgendwann einmal deklariert aber vergessen zu entfernen
    MsgBox(0, "", "Button " & $iID & " wurde gelickt")
    EndFunc ;==>_Button

    [/autoit]

    gibt bei jedem Start eine Warnung aus:

    Code
    D:\Programme\AutoIt3\Test\asdfb.au3(38,32) : WARNING: $ID: possibly used before declaration.
    	MsgBox(0, "", "Button " & $ID &
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdfb.au3 - 0 error(s), 1 warning(s)


    ob dieser Fehler:

    Code
    D:\Programme\AutoIt3\Test\asdfb.au3(33,32) : WARNING: $ID: possibly used before declaration.
    	MsgBox(0, "", "Button " & $ID &
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdfb.au3 - 0 error(s), 1 warning(s)
    ->12:55:06 AU3Check ended.rc:1
    >Running:(3.3.6.1):D:\Programme\AutoIt3\autoit3.exe "D:\Programme\AutoIt3\Test\asdfb.au3"    
    D:\Programme\AutoIt3\Test\asdfb.au3 (33) : ==> Variable used without being declared.:
    MsgBox(0, "", "Button " & $ID & " wurde gelickt")
    MsgBox(0, "", "Button " & ^ ERROR

    ausgegeben wird und zum Absturz führt oder nur eine fehlerhafte unerwartete Anzeige in der MsgBox von Zeile 33 führt hängt von der Bedienung ab. Du siehst auch Warnungen sollten nicht ignoriert werden.

    mfg autoBert

  • Problem beim Afragen von For erstellten Variablen / ID's / Elementen

    • autoBert
    • 25. Januar 2013 um 11:49

    Hallo Skilkor,

    teste dieses Skript:

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <GUIConstantsEx.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    Global $Picleft[31] = [15, 35, 55, 75, 95, 115, 135, 155, 175, 15, 35, 55, 75, 95, 115, 135, 155, 175, 15, 35, 55, 75, 95, 115, 135, 155, 175, 15, 35, 55, 75] ;Ich weiss geht auch anderst :D
    Global $Pictop[31] = [20, 20, 20, 20, 20, 20, 20, 20, 20, 40, 40, 40, 40, 40, 40, 40, 40, 40, 60, 60, 60, 60, 60, 60, 60, 60, 60, 80, 80, 80, 80] ;Dass geht auch anderst :D
    Global $pic[31] = ['1', '23', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']
    ;~ Global $PicName[31] = [Die 31 namen der smileys]
    $hGui = GUICreate('Smilies')
    for $i=0 to Random(2,30,1)
    GUICtrlCreateLabel($i,15+Mod($i,10)*20,20 + Int($i/10)*20)
    Next
    For $i = 0 To 30 ;(Original ist es mit UBound($var)-1 welches die grösse 31 hat)
    ;$Pic[$i] = GuiCtrlCreatePic(@ScriptDir & '\Smileys\' & $Picname[$i],$Picleft[$i],$Pictop[$i],20,20)
    $pic[$i] = GUICtrlCreateButton($i, $Picleft[$i], $Pictop[$i]+100, 20, 20)
    Next
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg() ;du solltest dir die Hilfe hierzu anschauen
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $pic[0] To $pic[30]
    _Pic($nMsg - $pic[0])
    EndSwitch
    WEnd

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

    Func _Pic($iID)
    MsgBox(0, "", "Button " & $iID & " wurde gelickt")
    EndFunc ;==>_Pic

    [/autoit]

    und du wirst erkennen, dass egal wieviele Labels zuvor erstellt wurden immer die richtige Zahl ausgegeben wird.

    mfg autoBert

  • Zeilen überspringen möglich?

    • autoBert
    • 25. Januar 2013 um 10:55
    Zitat von Nomaster

    ich hoffe das ich mit
    $Click = true / false

    auf dem richtigen weg bin :?:


    Hoffen darfst du.

    So wie du im Thema herumeierst und trotz Aufforderung nicht dein Skript einstellst keimt bei mir der Verdacht das du an einem Bot schreibst.

    Daher: Vote for Close wegen mangelder Mitwirkung an einer Lösung

  • Rückgabewert gesucht bei RDP Anmeldungen

    • autoBert
    • 25. Januar 2013 um 10:38

    Hallo Angst,

    Unter der Voraussetzung, dass sich mstsc.exe nach erfolgter Anmeldung beendet funtioniert dieses Sript:

    Spoiler anzeigen
    [autoit]

    Dim $ipadresse = "127.0.0.1"
    Dim $Benutzername = "Administrator"
    Dim $Password = "spectrum01#" ; PW # kann nicht gesendet werden
    Opt("WinTitleMatchMode", 4)

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

    AdlibRegister('_Login', 2000)
    MsgBox(0, "Login", RunWait("mstsc.exe /v:" & $ipadresse & " /f"))

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

    Func _Login()
    WinWaitActive("127.0.0.1 - Remotedesktop")
    AdlibUnRegister('_Login')
    Send("!b" & $Benutzername & "!k" & $Password)
    Sleep(1500)
    Send("{ENTER}")
    EndFunc

    [/autoit]

    Sollte mstsc.exe allerdings geöffnet bleiben bis der Benutzer sich abmeldet klappt es natürlich nicht.

    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™