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

  • Funktion alle x Sekunden benutzen

    • autoBert
    • 15. Juli 2010 um 22:55
    Zitat von Raicoon

    Nabend liebe Leute
    ich wüsste gerne mal wie man das machen kann das man ein bestimmte Funktion z.B. alle 5 Sekunden benutzen kann ohne das dabei das ganze Script pausiert oder ist das überhaupt möglich.
    Hoffe ihr habt ne Idee

    MFG Raicoon

    schau dir die Hilfe zu

    [autoit]

    AdlibRegter

    [/autoit]

    an,

    mfg (Auto)Bert

  • Hilfe Problem

    • autoBert
    • 15. Juli 2010 um 22:52

    Hallo KingVegeta444,

    dieses Board hat auch einen Button, mit dem man eigene Beiträge bearbeiten kann. Was du machst:

    • Heute, 21:23 [ offen ] Hilfe Problem
    • Heute, 21:24 [ offen ] Hilfe Problem
    • Heute, 21:42 [ offen ] Hilfe Problem
    • Heute, 22:15 [ offen ] Hilfe Problem
    • Heute, 22:28 [ offen ] Hilfe Problem
    • Heute, 22:33 [ offen ] Hilfe Problem

    nennt man spamen.
    Legende:

    • eindeutig SPAM
    • grenzwertig, da ein gelöschter Post (von mir) dazwischen

    zum Thema: @Ideas2code hat dir um 21:30, Schnitzel um 21:35 eine vernünftige Lösung gepostet. Bevor du weiter rumspamst solltest du dir erst einmal darüber Gedanken machen.
    Hier noch ein paar hilfreiche Links:

    • Hilfe
    • http://wiki.autoit.de/wiki/index.php/Tutorial
    • Buch von peethebee

    mfg (Auto)Bert

  • Exception Handling in AutoIT

    • autoBert
    • 15. Juli 2010 um 15:40
    Zitat von Milla

    idR kommen auch keine Fehler vor, nur wenn man dann trotzdem mal ein paar Tage nicht da ist und das Skript laufen soll ohne Zwischenfälle und Probleme gehe ich trotzdem lieber auf Nummer sicher ;)


    Ausnahmen bestätigen die Regel:

    Zitat von Milla

    Nabend zusammen
    Ich hab bei mir ein autoit skript das hier ohne Probleme funktioniert aber wenn ichs auf nem anderen Rechner versuche fliegen überall Errors.
    Irgendjemand eine Ahnung woran das liegen könnte?

    MfG

    nutze konsequent die @error-Abfrage und die Funktionen IsArray,IsBool ... IsString etc. und vor allem

    [autoit]

    Opt("MustDeclareVars", 1) ; 0=nein, 1=erfordert Deklaration

    [/autoit]

    das erschwert dem Tippfehlerteufel das Leben,

    mfg (Auo)Bert

  • Exception Handling in AutoIT

    • autoBert
    • 15. Juli 2010 um 15:28

    Hallo Milla,

    Zitat von Milla

    damit arbeiten ich ja schon;ich meine eben wenn unerwartete Fehler auftauchen für die man jetzt zb keine Vorsichtsmaßnahme ergriffen hat um eben sicher zu gehen dass das Skript immer stabil läuft


    Unerwartete Fehler deuten auf eine unsauberen Programmierstil, auch hast du dann das Programm nicht ausreichend getestet, dies solltest du als "Programmierer für Unternehmenssoftware" aber selbst wissen,

    mfg (Auto)Bert

  • Neue Idee des Dateiübertragens !

    • autoBert
    • 15. Juli 2010 um 13:51
    Zitat von Marsi

    Er enthält leider Programmtechnisch ziemliche Schnitzer und ist nicht Optimal aufgebaut.
    (auch die Geschwindigkeit beim Codieren und Decodieren ist ziemlich elendig bei größeren Datenmengen ab 15kb Text^^)


    und wegen dieser Botschaft gräbst du diesen alten Thread noch einmal aus, Leichenschänder ;):!:

  • Programm mit Zeitverzögerung ausführen / MsgBox OK/Cancel / Tray Menü Beenden

    • autoBert
    • 15. Juli 2010 um 13:46
    Zitat von Ineluki

    Naja, so müsste es funktionieren:

    Spoiler anzeigen
    [autoit]

    #include <Date.au3> ; In der Date.au3 ist die Funktion _TicksToTime
    Opt("TrayMenuMode", 1) ; Eigenes Tray Menu
    $msg = MsgBox(1, "Hinweis", "Automatisches Ausführen in 120 Minuten") ; Der Variable $msg wird der Rückgabewert der MsgBox zugewiesen
    If $msg=1 Then ; Wenn der Rückgabewert der MsgBox 1 ist, dann...
    $timer=TimerInit() ; Erstelle einen Timestamp
    Timer() ; rufe die Funktion Timer auf
    ShellExecute("cmd.exe") ; Rufe das Programm auf
    EndIf ; Ende vom If
    If $msg=2 Then Exit ; Wenn der Rückgabewert der MsgBox 2 ist, dann Beende
    Func Timer() ; Funktion Timer
    Local $Hour, $Min, $Sec ; Lokale Variablen
    $time = TrayCreateItem("Verbleibende Zeit") ; Erstelle das TrayItem
    $exit = TrayCreateItem("Beenden") ; Erstelle noch ein TrayItem
    While TimerDiff($timer) < 120000 ; Solange die 2 Minuten nicht vorüber sind (ich hab lieber 2 Minuten statt 2 Stunden genommen, damit man es besser testen kann)
    Switch TrayGetMsg() ; Schalter TrayGetMsg
    Case $time ; Falls $time
    _TicksToTime(120000-TimerDiff($timer), $Hour, $Min, $Sec) ; Mache aus den Ticks (Millisekunden) Stunden, Minuten und Sekunden und
    ; speichere diese in $hour, $Min und $Sec
    MsgBox(0, "Verbleibende Zeit", $Hour&" : "&$Min&" : "&$Sec) ; Zeige die verbleibenden Stunden, Minuten und Sekunden an
    Case $exit ; Falls $exit
    Exit ; Beende
    EndSwitch ; Ende vom Schalter
    If 120000-TimerDiff($timer)=60000 Or 120000-TimerDiff($timer)=30000 Or 120000-TimerDIff($timer)= 15000 Then MsgBox(0, "Verbleibende Zeit", "Automatisches ausführen in "&120000-TimerDiff($timer)/1000&" Sekunden")
    WEnd ; Schleifenende
    EndFunc ;==>Timer ; Funktionsende

    [/autoit]
    Alles anzeigen
    Zitat von Ineluki

    Das Script wird zwar durch die MsgBox gestoppt, der Timer aber nicht.

    Jein wenn die 2. MsgBox (über Traymenü aufgerufen) nicht bestätigt wird wird das Programm trotz Ablauf der Zeit nicht gestartet, da die MsgBox die While-Schleife blockiert, deshalb besser

    [autoit]

    MsgBox(0, "Verbleibende Zeit", $Hour&" : "&$Min&" : "&$Sec,5) ; Zeige die verbleibenden Stunden, Minuten und Sekunden an die MsgBox schliesst sich nach spätestens 5 Sek. von alleine,

    [/autoit]

    mfg (Auto)Bert

  • FOR-Schleife in IF-Abfrage

    • autoBert
    • 14. Juli 2010 um 19:36
    Zitat von jangxx

    Würd ich auch sagen. Ich habe aber konkret dieses Probelm:

    [autoit]

    Func _winmove()
    If $up = 0 Then
    For $pos = @DesktopHeight - 20 - 30 to @DesktopHeight - $guiheigth - 30 Step 5
    WinMove($guiname,"",@Desktopwidth - $guiwidth,$pos)
    Next
    $up = 1
    ElseIf $up = 1 Then
    For $pos = @DesktopHeight - $guiheigth - 30 to @DesktopHeight - 20 - 30 Step 5
    WinMove($guiname,"",@Desktopwidth - $guiwidth,@DesktopHeight - 20 - 30)
    Next
    $up = 0
    EndIf
    EndFunc

    [/autoit]

    Diese FOR-Schleife wird nicht ausgeführt. Warum? ?( ?( ?(

    Alles anzeigen

    entweder

    • $up hat weder den Wert 0 noch 1
    • der Parameter für Stop ist grösser als der Start-Parameter, in diesem Fall muss stepval negativ sein
      Zitat von Hilfe

      For <variable> = <start> To <stop> [Step <stepval>]
      statements
      ...
      Next
      ...
      Eine For-Schleife wird nicht ausgeführt, wenn
      start > stop und step > 0 oder
      start < stop und step negativ ist.

      Alles anzeigen

    die 2. Möglichkeit ist die warscheinlichere

    mfg (Auto)Bert

  • ID3-Skript Problem - "Error allocating memory."-Error

    • autoBert
    • 14. Juli 2010 um 12:52
    Zitat von Antispeed

    BugFix :

    Zitat
    Ich rate mal:
    Ein rekursiver Aufruf, der sich totläuft?


    Also du hast die Funktion ja erweitert, könnte also daran liegen.

    Zitat von Antispeed

    Die einzigste Rückmeldung, die hilft ist die von BugFix. Da er sich ja gut damit auskennnt (hat die Funk. überarbeitet), weiß er ja dass es zu einem rekursivem Aufruf, der sich totläuft kommt.

    Bevor du die Schuld bei BugFix suchst, solltest du auch andere Möglichkeiten in Betracht ziehen:

    Zitat von eukalyptus

    Im Id3v2 Tag können große Datenmengen gespeichert sein (z.B.: Coverbilder)
    Vielleicht liegt das Problem ja hier...

    noch dazu da die letzte Zeile der Scite Console alesana beautiful in blue ausgibt. Ob die Funktion von BugFix funktioniert, kannst du auch ohne die ID3Tag-Prozeduren prüfen. Wenn das Array (Zeile 10) angezeigt wird hat seine Funktion (_GetFileList, ich finde hier im übrigen keinen Hinweis im Quellcode, dass diese Funktion von ihm geschrieben/erweitert wurde) ihren Dienst bereits getan. Lösche/verschiebe also dieses Lied und dein Skript wird bis zu der von mir beschriebenen Fehlermeldung kommen, dagegen hilft

    [autoit]

    Global $CorTitle, $CorTitle, $CorArtist

    [/autoit]

    direkt nach den Includes einzufügen,

    mfg (Auto)Bert

  • Zeit ablesen und kürzen

    • autoBert
    • 13. Juli 2010 um 23:57
    Zitat von EpicWorld

    Und?


    Das nennt sich pushen und sollte meines Erachtens nach nicht nur mit Missachtung (was ja die meisten tun) sondern auch einen Verweis nach sich ziehen,

    mfg (Auuto)Bert

  • Probleme auf fremdem Rechner

    • autoBert
    • 13. Juli 2010 um 23:54

    Hallo Milla,

    Zitat von Milla

    Hat über 2000 Zeilen und is von meiner Firma also von daher eher schlecht.Sind meistens Probleme, dass ich mit _StringBetween sachen aus dem htmldoc einer HP ziehe und auf anderen Rechnern er kein Array bekommt.


    da kann ich mich leider nur selbst zitieren:

    Zitat von AutoBert

    Naja, bei deiner Berufsangabe (Beruf: Programmierer für Unternehmenssoftware) verständlich, dass du den Source nicht offen legen willst, aber deine Skriptbeispiele können (wie dir bereits erklärt wurde) nicht funktionieren. Da gibt es nur 2 Lösungsmöglichkeiten:

    • du beist in den sauren Apfel und postet dein komplettes Skript
    • du stellst dein Projekt ein, da du es ja nicht alleine lösen kannst


    Hier noch einige Links die vielleicht weiterhelfen:

    • Hilfe
    • http://wiki.autoit.de/wiki/index.php/Tutorial
    • Buch von peethebee
    • [ offen ] Tutorial: Wie man Script-Fehler erfolgreich sucht/findet bzw. richtig debuggt


    mfg (Auto)Bert

  • ID3-Skript Problem - "Error allocating memory."-Error

    • autoBert
    • 13. Juli 2010 um 23:01
    • du gehst ja nicht auf Rückmeldungen und Tipps ein
    • Zitat von Antispeed

      Also du bist ja [Edit eingefügt: (Auto)Bert nicht mehr] neu hier: Dieses Forum ist schon so "fortgeschritten", dass es einen Edit-Button gibt, und man nicht immer einen neuen Post machen muss. Dh, wenn man was ergänzen will, dann Edit und man macht einen neue Zeile und schreibt davor "Edit:" und dann den Text. Hat jmd. nach dem Post aber was geschrieben kann man schreiben: "Guck auf den vorheriegen Post." oder in diesem Fall einfach es so machen wie du, nur -wie gesagt- nicht 3Posts nacheinander. Währe nett wenn dus einhalten könntest.

    wäre nett wenn du die dir gegebenen Hinweise beachten würdest,

    mfg (Auto)Bert

  • Datei erstellen

    • autoBert
    • 13. Juli 2010 um 22:48
    Zitat von Baaam

    genau die maske kommt bei mir nich 8|
    und wo nehme ich das icon her? muss das im selben ordner sein wie das script?


    dann kannst du es wie schon angedeutet manuell setzen, in dem du folgende Zeile am Skriptanfang einfügst:

    [autoit]

    #AutoIt3Wrapper_icon=beetle.ico ;dies ist di gewünschte

    [/autoit]

    der Pfad darff sofern sich das Icon nicht in @Skriptdir befindet

    • absolut [autoit]#AutoIt3Wrapper_icon=C:\Dokumente und Einstellungen\Bert\Eigene Dateien\beetle.ico[/autoit]
    • realtiv zu @ScriptDir [autoit]#AutoIt3Wrapper_icon=..\\beetle.ico[/autoit]

    sein

    PS.: vielleicht solltest dein Scite updaten

    mfg (Auto)Bert

  • AutoIt GUI-Fenster verstecken

    • autoBert
    • 13. Juli 2010 um 21:23
    Zitat von demcharly

    Ich habe drei AutoIt Scripts erstellt, die bei entsprechenden Bedingungen hintereinander aufgerufen werden.


    Solange du nicht die 3 Skripte einstellst kann man das Problem nicht nachvollziehen, alles andere wäre Rate mal it Rosenthal.
    Ein Versuch meiner Glaskugel: "Tritt das Problem auch bei den kompilierten EXEn auf?"

    mfg (Auto)Bert

  • Datei erstellen

    • autoBert
    • 13. Juli 2010 um 21:01

    Hallo Baaam,

    du rufst den Kompiler (aus Scite mit Tools|Comile) auf, danach erscheint folgende Eingabemaske:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    obiges Beispiel erzeugt folgenden Zeilen in dem Skript:

    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=beetle.ico ;dies ist di gewünschte
    #AutoIt3Wrapper_outfile=NeMP3-P.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Res_Description=MochEinMP3-Player
    #AutoIt3Wrapper_Res_Fileversion=0.8.4.7
    #AutoIt3Wrapper_Res_LegalCopyright=(Auto)Bert Lizenz: Beerware
    #AutoIt3Wrapper_Res_Language=1031
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

    [/autoit]

    du kannst es daher auch manuell eintragen,

    mfg (Auto)Bert

    Dateien

    66_AutoIt3Wrapper GUI to Compile AutotIt3 Script (ver 2.0.1.24).jpg 67,57 kB – 0 Downloads
  • InetGet Problem oder Verbindungsfehler?

    • autoBert
    • 13. Juli 2010 um 16:09

    Hallo Taptiga,

    anscheinend ist deine INet-Verbindung sehr schlecht. Erhöhe die Anzahl von $test_verbind, dann sollte es klappen:

    Spoiler anzeigen
    [autoit]

    $size_inet = InetGetSize("http://www.autoit.de/index.php?page=Attachment&attachmentID=10230&h=aa527f1f9fc889dabed4de9ca0bebf755a66dd05")

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

    ;$hDownload = InetGet($url&$datei, $ScriptDir&"\"&$datei_loc, 1, 1)
    $hDownload = InetGet("http://www.autoit.de/index.php?page=Attachment&attachmentID=10230&h=aa527f1f9fc889dabed4de9ca0bebf755a66dd05", @DesktopDir & "\JaYT-DwiMP3-P.exe", 1, 1)
    ;GUICtrlSetData($stat,"Download von: "& $inet_file_name &" hat gestartet. " & @CRLF & GUICtrlRead($stat))
    ToolTip("Download von hat gestartet")
    $iTimer = TimerInit()
    Global $test_verbind = 0
    Do
    Sleep(250)
    ;GUICtrlSetData($pProgress,(InetGetInfo($hDownload, 0)/$size_inet)*100)
    ;GUICtrlSetData($pLabel_Fortschritt,Round((InetGetInfo($hDownload, 0)/$size_inet)*100,1) & " %")
    ;GUICtrlSetData($pLabel_Geschw,Round(InetGetInfo($hDownload, 0)/(TimerDiff($iTimer)),2) & " KB/s")
    ;ab hier "Hilfsfunktion", die den Download nochmal starten soll, wenn es nichts tut..
    ToolTip(InetGetInfo($hDownload, 0) / $size_inet * 100)
    $test_verbind = $test_verbind + 1
    If $test_verbind = 40 Then
    If InetGetInfo($hDownload, 0) = 0 Then
    InetClose($hDownload)
    ;GUICtrlSetData($stat,"Fehler bei Verbindung, nachste versuch... " & @CRLF & GUICtrlRead($stat))
    ToolTip("Fehler bei Verbindung, nachste versuch... ")
    Sleep(1000)
    $hDownload = InetGet("http://www.autoit.de/index.php?page=Attachment&attachmentID=10230&h=aa527f1f9fc889dabed4de9ca0bebf755a66dd05", @DesktopDir & "\JaYT-DwiMP3-P.exe", 1, 1)
    $test_verbind = 0
    EndIf
    EndIf
    ;"Hilfsfunktion" - ende
    Until InetGetInfo($hDownload, 2)
    ;GUICtrlSetData($pLabel_Fortschritt, "100 %")
    ToolTip("100%")
    Sleep(5000)
    ToolTip("")
    InetClose($hDownload)

    [/autoit]

    ich habe dein Skript etwas abgeändert, da du die Gui nicht mitgepostet hast, obiges Skript läuft einwandfrei

    mfg (Auto)Bert

  • GUI Control auslagern?

    • autoBert
    • 13. Juli 2010 um 15:17
    Zitat von Milla

    Nein aus mir unerklärlichen Gründen sind die Buttons dann irgendwann nichtmehr ansprechbar

    Zitat von Milla

    Eher schlecht der Quellcode hat gut 2000 Zeilen ^^.
    Und normalerweiße ist es egal ob man nun Sleep hat oder nicht, die buttons müssten wenn dann auch reagieren obwohl der hauptcode im Sleep ist.

    Naja, bei deiner Berufsangabe (Beruf: Programmierer für Unternehmenssoftware) verständlich, dass du den Source nicht offen legen willst, aber deine Skriptbeispiele können (wie dir bereits erklärt wurde) nicht funktionieren. Da gibt es nur 2 Lösungsmöglichkeiten:

    • du beist in den sauren Apfel und postet dein komplettes Skript
    • du stellst dein Projekt ein, da du es ja nicht alleine lösen kannst


    Hier noch einige Links die vielleicht weiterhelfen:

    • Hilfe
    • http://wiki.autoit.de/wiki/index.php/Tutorial
    • Buch von peethebee
    • [ offen ] Tutorial: Wie man Script-Fehler erfolgreich sucht/findet bzw. richtig debuggt

    Schnitzel man kann durchaus MsgLoop-Modus und OnEvent-Modus in einem Skript (für verschiedene Teilaufgaben) verwenden, hier eines meiner unvollendeten frühen Werke :

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt('GUIOnEventMode', 1)

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

    Local $hMainGui = GUICreate("Testaufruf für EditBox", 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    Local $hlblZahl = GUICtrlCreateLabel("", 10, 10, 200, 25)
    GUICtrlCreateButton('&Zahl eingeben', 220, 10, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetOnEvent(-1, '_CallZahl')
    Local $hlblAdLib = GUICtrlCreateLabel("", 10, 100, 200, 25)
    GUICtrlSetFont(-1,20,400)
    GUISetState()
    AdlibRegister("JustCount",1000)

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

    While 1
    Sleep(120)
    WEnd

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

    func JustCount()
    GUICtrlSetData($hlblAdLib,GUICtrlRead($hlblAdLib)+1)
    EndFunc

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

    Func _End()
    GUIDelete($hMainGui)
    Exit
    EndFunc ;==>_End

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

    Func _CallZahl()
    ;Function Name..: _EditBox($sQuestion, [, $sTitle] [, $hParent] [, $sEditStyle] [, $iWidth] [, $iHeight] [, $iLeft] [, $iTop], $hCaller)
    Local $sAnswer = _EditBox('Bitte eine Zahl eingeben:', 'Test EditBox ', $hMainGui, $ES_NUMBER, 200, 100, -1, -1)
    GUICtrlSetData($hlblZahl, $sAnswer)
    EndFunc

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

    ;===============================================================================
    ;Function Name..: _EditBox($sQuestion, [, $sTitle] [, $hParent] [, $sEditStyle] [, $iWidth] [, $iHeight] [, $iLeft] [, $iTop], $hCaller)
    ;Description....: zeigt eine Gui mit einer Eingabeufforderung und einem EditFeld
    ;Parameter(s)...: $iQuestion = Eingabeaufforderung
    ; $sTitle = Fenstertitel (optional)
    ; $hParent = ID des aufrufenden Fensters (optional, Stabdard = 0)
    ; wenn dieser Parameter übergeben wird verhält wird das Anzeigefenster
    ; Modal angezeigt, d.h. es ist automatisch im Vordergrund
    ; vor dem aufrufenden Fenster (verliert aber leider den Focus, beim Wechsel
    ; zu anderer Anwendung und wieder zurück, d.h man muß einmal in das Fenster klicken)
    ; $sEditStyle = Edit-Style für EditCtrl (optional)
    ; $sGuiStyle = Gui-Style für Anzeigefenster (optional)
    ; $iWidth = Breite des Fensters (optional, Standard = 250 Pixel)
    ; $iHeight = Höhe des Fensters (optional, Standard = 200 Pixel)
    ; $iLeft = Abstand von links (optional, Standard = zentriert)
    ; $iTop = Abstand von oben (optional, Standard = zentriert)
    ; $hnFocused = Steuerelement, das nach (optional, Standard = 0) funktioniert nur zusammen mit $hParent
    ; beendigen von _EditBox, den Focus erhält
    ;Return Value...: $sAnswer
    ;Author.........: (Auto)Bert
    ; Vorlage GUI-Darstellung Oscar's (http://www.autoit.de) _StringDisplay
    ; in Anfängerfragen zur GUI(Checkbox,Inputbox und welches Gui Konzept) Beitrag #5
    ;===============================================================================
    Func _EditBox($sQuestion, $sTitle = 'Benutzereingabe nötig! ', $hParent = 0, $EditStyle = -1, $iWidth = 250, $iHeight = 200, $iLeft = -1, $iTop = -1, $hnFocused = 0)
    Local $hGui
    If Not IsDeclared('BS_DEFPUSHBUTTON') Then Local Const $BS_DEFPUSHBUTTON = 0x00000001
    If Not IsDeclared('GUI_EVENT_CLOSE') Then Local Const $GUI_EVENT_CLOSE = 0xFFFFFFFD
    If Not IsDeclared('WS_EX_COMPOSITED') Then Local Const $WS_EX_COMPOSITED = 0x02000000
    If Not IsDeclared('WS_MAXIMIZEBOX') Then Local Const $WS_MAXIMIZEBOX = 0x00010000
    If Not IsDeclared('WS_MINIMIZEBOX') Then Local Const $WS_MINIMIZEBOX = 0x00020000
    If Not IsDeclared('WS_SIZEBOX') Then Local Const $WS_SIZEBOX = 0x00040000
    Local $iEventMode = Opt('GUIOnEventMode', 0)
    If $hParent = 0 Then
    $hGui = GUICreate($sTitle, $iWidth, $iHeight, $iLeft, $iTop, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_COMPOSITED)
    Else ;damit sich das Fenster wie ein Toolwindow verhält
    $hGui = GUICreate($sTitle, $iWidth, $iHeight, $iLeft, $iTop, BitOR($DS_MODALFRAME + $DS_SETFOREGROUND, $WS_CAPTION + $WS_SYSMENU + $WS_SIZEBOX), $WS_EX_TOOLWINDOW, $hParent)
    GUISetState(@SW_DISABLE, $hParent)
    EndIf
    GUISwitch($hGui)
    GUISetState(@SW_HIDE, $hGui)
    Local $hedtAnswer = GUICtrlCreateInput("",5, 5, $iWidth - 10, $iHeight - 35, $EditStyle)
    Local $hClose = GUICtrlCreateButton('&Rückgabe', $iWidth / 2 - 35, $iHeight - 25, 70, 25);, $BS_DEFPUSHBUTTON)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)

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

    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKRIGHT)
    ;ControlFocus($hGui, '', $hClose)
    GUISetState(@SW_SHOW, $hGui)
    While True
    Switch GUIGetMsg()
    Case $hClose, $GUI_EVENT_CLOSE
    ExitLoop
    EndSwitch
    WEnd
    If $hParent <> 0 Then
    GUISetState(@SW_ENABLE, $hParent)
    GUISetState(@SW_SHOWNORMAL, $hParent)
    if $hnFocused <> 0 Then
    ControlFocus($hGui, '', $hnFocused)
    ConsoleWrite("Focus to: " & $hGui & " " & $hnFocused)
    EndIf
    EndIf
    Local $sAnswer = GUICtrlRead($hedtAnswer)
    GUIDelete($hGui)
    Opt('GUIOnEventMode', $iEventMode)
    Return $sAnswer
    EndFunc ;==>_EditBox

    [/autoit]

    Edit: eine Adlib-Funktion in das Skriptbeispiel eingebaut

    mfg (Auto)Bert

  • Ordner mit Bilder anzeigen und Auswahl

    • autoBert
    • 13. Juli 2010 um 00:01

    Hallo zero2q,

    schau dir [Beispiel] BMP-, GIF- & JPG-Viewer an,

    mfg (Auto)Bert

  • ID3-Skript Problem - "Error allocating memory."-Error

    • autoBert
    • 12. Juli 2010 um 23:53

    Hallo Antispeed,

    die von dir beschriebene Fehlermeldung kommt bei mir nicht, dafür aber folgende:

    Code
    >"C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Examples\Tests\ID3TagAntiSpeed.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams    
    +>23:39:55 Starting AutoIt3Wrapper v.2.0.1.24    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
    +>23:39:56 AU3Check ended.rc:0
    >Running:(3.3.6.1):C:\Programme\AutoIt3\autoit3.exe "C:\Programme\AutoIt3\Examples\Tests\ID3TagAntiSpeed.au3"    
    C:\Programme\AutoIt3\Examples\Tests\ID3TagAntiSpeed.au3 (28) : ==> Variable used without being declared.:
    If $CorTitle <> "" Then
    If ^ ERROR
    ->23:40:32 AutoIT3.exe ended.rc:1
    >Exit code: 1    Time: 37.980


    Ich gehe bei der von dir beschriebenen Fehlermeldung davon aus, dass der ausgewählte Ordner zu viele MP3 's enthält und deshalb nicht genügend HauptSpeicher zur Verfügung steht,

    mfg (Auto)Bert

  • Erkennung wenn Fenste schließt

    • autoBert
    • 12. Juli 2010 um 20:06

    Hallo raidking,

    Zitat von raidking

    Danke schonmal
    Ich komm gerade nicht so weit klar
    also ich habe jetzt ein script geschrieben womit das spiel geöffnet wird gepatcht wird und die daten eingegeben werden.
    Jetzt will ich, dass solange die Enter-Taste gedrückt wird, bis sich das Fenster schließt und anschließend das Script von vorne anfängt.
    Kann mir vielleicht jemand die befehle so schreiben, dass ich nur noch die namen ainfügen muss?

    Zitat von raidking

    Was ist das Problem, dass ist weder ein Bot noch ein Virus oder sonst etwas


    Was den dann :?:

    Zitat von Wikipedia

    Patch für Binärprogramme [Bearbeiten]

    Ein Patch für ein Binärprogramm ersetzt in der Regel eine oder mehrere Dateien mit einer neuen Version. Patches für Binärprogramme werden meist von Herstellern proprietärer Software für ihre eigenen Programme veröffentlicht. Verbreitet sind Patches für Binärprogramme auch unter Softwarepiraten. Hier wird mit einem Patch meist ein Kopierschutz umgangen. Auch in der Computerspieleszene sind Patches verbreitet, um Spiele zu modifizieren.

    dies ist in der Regel mit einem Durchlauf erledigt, poste also bitte dein bisheriges Skript, wenn du weiter auf der Definition Patch anstelle v on BOT bestehst,

    mfg (Auto)Bert

  • ControlSetText Problem (HILFE) !!!

    • autoBert
    • 12. Juli 2010 um 19:00
    Zitat von KingVegeta444

    du weisst noch nicht mal fuer was fuer ein zweck ich das brauch die geclosten beitraege waren noch die zeiten wo ich neu im forum war und nicht wusste was erlaubt und was tabu ist so zur klarstellung ja ich wollte mal ein spambot machen uiiii wie schlimm und das nur um zu ueben was jetzt darf man nicht lernen?

    ich brauche controlsettext fuer mein msn relogger 2.0
    so jetzt ist es drausen
    stolz?
    danke

    und wer sagt mir/uns dass du das Erlernte nicht entgegen den Forenregeln einsetzt :?: Die einzige Hilfe die man als BOTer in diesem Forum erwarten darf ist dises:

    • Hier kannst du dir die Hilfe herunterladen.
    • Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial
    • Sehr hilfreich ist auch das Buch von peethebee
    • Forenregeln

    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™