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

  • anfänger am start

    • autoBert
    • 20. September 2010 um 09:24

    ja, KODA(Formdesigner) ist im Scite-Paket enthalten. Aufruf über Tools|Koda evtl. msst du dir dafür Scite neu herunterladen, siehe Download-Bereich auf der linken Seite,

    mfg autoBert

  • GUICtrlCreatePic - Beispiel3

    • autoBert
    • 20. September 2010 um 09:09

    @m-obi,

    ich hatte es in Nacht gesehen, dass er gelöst hat, seinen Edit habe ich (da ich alle 5 Posts eine neue Seite aufmache) übersehen, sorry

    Goldy hier die Lösung bis auf die Überschrift und der Variable $hGui sollte alles wie in deinem Orihinal sein:

    Spoiler anzeigen
    [autoit]

    ;----- Beispiel 3 wie das ganze auch mit PNG funktioniert (von Zedna)
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    #include <WinAPI.au3>

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

    Global $hGUI, $hImage, $hGraphic, $hImage1

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

    ; GUI erstellen
    $hGUI = GUICreate("PNG zeigen", 387, 242, 192, 124, -1)

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

    ; PNG Bild laden
    _GDIPlus_Startup()
    $hImage = _GDIPlus_ImageLoadFromFile("..\GUI\Torus.png")
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)

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

    $Button1 = GUICtrlCreateButton("KalOnline", 24, 80, 153, 33)
    $Button3 = GUICtrlCreateButton("Cooming soon!", 208, 80, 153, 33)
    $Button2 = GUICtrlCreateButton("Cooming soon!", 208, 136, 153, 33)
    $Button4 = GUICtrlCreateButton("Cooming soon!", 24, 136, 153, 33)
    $Button5 = GUICtrlCreateButton("Credits", 24, 192, 153, 33)
    $Exit = GUICtrlCreateButton("Exit", 208, 192, 153, 33)

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

    GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
    GUISetState(@SW_SHOW)
    ;die folgenden Zeilen sind notwendig damit die Controls von Anfang an über dem PNG liegen
    ControlFocus($hGUI, "", $Button1)
    ControlFocus($hGUI, "", $Button2)
    ControlFocus($hGUI, "", $Button3)
    ControlFocus($hGUI, "", $Button4)
    ControlFocus($hGUI, "", $Button5)
    ControlFocus($hGUI, "", $Exit)

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

    While 3
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Exit
    Exit
    Case $Button5
    ;_credits()

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

    EndSwitch
    WEnd

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

    ; Ressourcen aufräumen
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_Shutdown()

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

    ; PNG Bild zeichnen
    Func MY_WM_PAINT($hWnd, $msg, $wParam, $lParam)
    _WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_UPDATENOW)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
    _WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_VALIDATE)
    Return $GUI_RUNDEFMSG
    EndFunc ;==>MY_WM_PAINT

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

    mfg autoBert

  • GUICtrlCreatePic - Beispiel3

    • autoBert
    • 20. September 2010 um 08:20

    @HellBoy,

    wenn es damit funktionieren würde, hätte ich es ihm vorgeschlagen, da ich diese func von SEuBo kenne. Sie ist wnderbar um ein Bild in einem Bereich anzuzeigen, in der sich keine Controls befinden. Sobald aber ein Control, das PNG (im Beispiel Basketball) überlappt verschwindet der überlappende Teil des Controls hinter dem Bild.
    Ausserdem hat Goldy mittlerweile gelöst (was mich zwar wundert, da es auch ein paar Falltüren hat), alle Achtung

    mfg autoBert

  • GUICtrlCreatePic - Beispiel3

    • autoBert
    • 20. September 2010 um 01:09
    Zitat von Goldy

    Und wie mache ich das?

    z.B. eintippen, oder hineinkopieren.

    mfg autoBert

  • GUICtrlCreatePic - Beispiel3

    • autoBert
    • 20. September 2010 um 00:51
    Zitat von Goldy

    Nun möchte ich das Bild (fals der code oben nicht falsch ist)

    hier einbinden :


    dann tu es und du wirst sehen ob es klappt,

    mfg autoBert

  • In schon existierende Fenster Text ausgeben

    • autoBert
    • 20. September 2010 um 00:23
    Zitat von Dr. Blei

    Nabend die Herren ^^
    Nein ich hatte nicht vor ein Bot zu schreiben


    Na dass liest man gerne (vorsichtshalber trotzdem die Forenregeln lesen) und sagt herzlich willkommen im Forum und viel Spass mit AutoIt.

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

    GDI+ dürfte noch mehr Resourcenfressender sein, als eine transparente GUI,

    mfg autoBert

  • Checkbox speichern

    • autoBert
    • 19. September 2010 um 23:48

    Hallo Goldy,

    dir ging es doch nur um das speichern, laden. Den Skriptteil mit den MsgBoxen brauchst du doch dazu gar nicht. Du Kannst aber die ControlIds auch in einem Array speichern und dann in einer Schleife (am besten For ... Next) alle durchgehen,

    mfg autoBert

  • In schon existierende Fenster Text ausgeben

    • autoBert
    • 19. September 2010 um 23:26

    Hallo Dr. Blei,

    wird das ein neuer Anlauf für eiinen BOT, sowie erst vor kurzem Text in Grafikfenster zeigen?
    Ansonsten erst einmal GDI+ studieren,

    mfg autoBert

  • Checkbox speichern

    • autoBert
    • 19. September 2010 um 20:52

    Hallo Goldy,

    so z.B.:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <Constants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>

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

    ;Global $Checkbox1, $Checkbox2, $Checkbox3, $Checkbox4, $chk1, $chk2, $chk3, $chk4
    Global $ini = @ScriptDir & "\CheckBox.Test"

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

    $chk1 = IniRead($ini, "Checks", "1", False)
    $chk2 = IniRead($ini, "Checks", "2", False)
    $chk3 = IniRead($ini, "Checks", "3", False)
    $chk4 = IniRead($ini, "Checks", "4", False)
    GUICreate("Ckeckbox-Demo MSG-LOOP-Modus", 300, 300)

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

    $Checkbox1 = GUICtrlCreateCheckbox("1. Checkbox", 20, 40, 1250)
    GUICtrlSetState(-1, $chk1)
    $Checkbox2 = GUICtrlCreateCheckbox("2. Checkbox", 20, 70, 1250)
    GUICtrlSetState(-1, $chk2)
    $Checkbox3 = GUICtrlCreateCheckbox("3. Checkbox", 20, 100, 1250)
    GUICtrlSetState(-1, $chk3)
    $Checkbox4 = GUICtrlCreateCheckbox("4. Checkbox", 20, 130, 1250)
    GUICtrlSetState(-1, $chk4)
    $DL = GUICtrlCreateButton("Download", 50, 250, 80)

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

    GUISetState(@SW_SHOW)
    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case $GUI_EVENT_CLOSE
    IniWrite($ini, "Checks", "1", GUICtrlRead($Checkbox1))
    IniWrite($ini, "Checks", "2", GUICtrlRead($Checkbox2))
    IniWrite($ini, "Checks", "3", GUICtrlRead($Checkbox3))
    IniWrite($ini, "Checks", "4", GUICtrlRead($Checkbox4))
    Exit
    Case $DL
    If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
    MsgBox(0, "1. Checkbox", "ist angeCHECKED")
    ;InetGet verwenden zum downloaden
    Else
    MsgBox(0, "1. Checkbox", "ist nicht angeCHECKED")
    EndIf
    If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED Then
    MsgBox(0, "2. Checkbox", "ist angeCHECKED")
    Else
    MsgBox(0, "2. Checkbox", "ist nicht angeCHECKED")
    EndIf
    If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED Then
    MsgBox(0, "3. Checkbox", "ist angeCHECKED")
    ;InetGet verwenden zum downloaden
    Else
    MsgBox(0, "3. Checkbox", "ist nicht angeCHECKED")
    EndIf
    If BitAND(GUICtrlRead($Checkbox4), $GUI_CHECKED) = $GUI_CHECKED Then
    MsgBox(0, "4. Checkbox", "ist angeCHECKED")
    Else
    MsgBox(0, "4. Checkbox", "ist nicht angeCHECKED")
    EndIf
    EndSwitch
    WEnd

    [/autoit]
    Zitat von Goldy

    Mhmm...könntes du mir dafür ein beispiel code geben ?
    In der Hilfe habe ich nichts dazu gefunden :/

    du solltest lernen mit dem wichtigsten Werkzeug der Hilfe umzugehen, und dir vor allem einmal die Stanadard-Funktionen (ohne UDFs) durchlesen, notfalls mehrmals.

    mfg autoBert

  • Mit GUICtrlRead mehrere input felder auslesen

    • autoBert
    • 19. September 2010 um 20:16

    Dann warst du bei der Suche nicht sehr erfolgreich bzw.:

    • du hast vergessen etwas zu kopieren
    • nachträglich etwas aus versehen gelöscht

    ,
    denn das Skript kann so nicht laufen. Suche hier im Forum da gibt es schon fertige Lösungen z.B.

    • schau in @Schnuffels Signatur
    • nono hat hier auf der selben UDF-Basis afair eine lauffähige Version hinbekommen

    einfach die boardeigene SuFu benutzen,

    mfg autoBert

  • Obfuscator Error

    • autoBert
    • 19. September 2010 um 19:50

    Hallo Sora White Dragon,

    du solltest andere Einstellungen testen auch Obfuskatoren haben ihre Grenzen/Schwächen. Ich bin eh der Meinung, dass es überflüssig ist mach Open-Source Project daraus,

    mfg autoBert

  • Mit GUICtrlRead mehrere input felder auslesen

    • autoBert
    • 19. September 2010 um 19:31

    dann musst du für jedes auszulesende Input eine Variable erstellen und mit GuiCtrlRead auslesen bzw. die Rückgaben mit & in einer Variablen verknüpfen, wo ist das Problem,

    Edit: auf Verknüpfun abgeändertes Beispiel von i2c angehängt:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>
    Global $aInput[4]
    $Form1 = GUICreate("Form1", 500, 500, -1, -1)
    $aInput[0] = GUICtrlCreateInput("", 20, 20)
    $aInput[1] = GUICtrlCreateInput("", 20, 40)
    $aInput[2] = GUICtrlCreateInput("", 20, 60)
    $aInput[3] = GUICtrlCreateInput("", 20, 80)
    $Button1 = GUICtrlCreateButton("start", 260, 50)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $Out = ""
    For $i = 0 To UBound($aInput)-1
    $Out &= GUICtrlRead($aInput[$i])
    Next
    MsgBox(0,"",""$Out)
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • [Beispiel] Icons von System-DLLs in LV darstellen

    • autoBert
    • 19. September 2010 um 19:25

    @simon, @progandy ja das ist gena was ich suche

    danke autoBert

  • array, inhalt & minuten

    • autoBert
    • 19. September 2010 um 19:22

    Hallo anna.assaoui,

    ich bringe dieses ansich harmlose Thema in Zusammenhang mit:
    [ offen ] zwei fragen zu fenstern
    dieses von dir Reaktiosnspiel, von mir Scherzprogramm bzw. BOT bezeichnete Skript hat mich veranlasst dieses Thema zu deaktivieren,

    @Admin/Mod bitte prüfen evtl. closen,oder OK geben

    mfg autoBert

  • Button im GUI bewegen

    • autoBert
    • 19. September 2010 um 18:39

    Hallo MilkOfUlquiorra,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

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

    und jetzt zu deinem Problem: erklären kann es sicher niemand besser als die Hilfe

    Zitat

    GUICtrlSetPos

    Verändert die Position eines Controls innerhalb des GUI-Fensters.

    GUICtrlSetPos ( controlID, left, top [, width [, height]] )


    Parameter

    ControlID Die Identifikationsnummer des Controls (Control-ID), wie von einer GUICtrlCreate... Funktion zurückgegeben.
    left Die linke Kante des Controls.
    top Die Oberkante des Controls.
    width [optional] Die Breite des Controls.
    height [optional] Die Höhe des Controls.

    Alles anzeigen

    und hier ein Beispiel wie ein Btton mit Hilfe der rechten Maustaste innerhalb der GUI verschoben werden kann:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #Include <Misc.au3>

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

    $dll = DllOpen("user32.dll")
    Global $btn_width = 150
    Global $btn_height = 50

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

    $gui = GUICreate("Bild", 475, 337, $btn_width, $btn_height)
    $Button = GUICtrlCreateButton("Mit der rechten Taste kann ich verschoben werden",10,10,150,50,$BS_MULTILINE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $gui_EVENT_CLOSE
    DllClose($dll)
    Exit
    Case $Button
    MsgBox(0,"Message","The movable Button was clicked")
    Case $GUI_EVENT_SecondaryDOWN
    $mPos = GUIGetCursorInfo($gui)
    If $mPos[4] = $Button Then
    While _IsPressed("02", $dll)
    $mPos = GUIGetCursorInfo($gui)
    $pPos = ControlGetPos($gui, '', $Button)
    ControlMove($gui, '', $Button, $mPos[0] - ($btn_width / 2), $mPos[1] - ($btn_height / 2))
    WEnd
    EndIf

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

    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • Ein GUI schließen ohne die anderen zus schließen

    • autoBert
    • 19. September 2010 um 13:27

    Hallo Goldy,

    warum liest du dir die nict die Hilfe (speziell GUIGetMsg für Fortgeschrittene und mehrere Fenster) durch.

    • GUI's werden am Anfang definiert, die nicht benötigten mit GuiSetState[@SW_HIDE) versteckt und danach wenn aufgerufen mit GuiSetState(@SW_SHOW) wieder angezeigt.
    • Im Msg-Loop-Modus sollte grundsätzlich nur eine Endlosschleife (meist while 1...Wend, geht aber auch Do ... Until) vorkommen.
    • Innerhalb dieser Endlosschleife wird GuiGetMsg nur ein mal verwendet, da sich sonst die beiden gegenseitig die Nachrichten wegholen könnten.


    Arbeite also die Hilfe zumindest im GUI-Referenz - MessageLoop Modus durch, damit du hier die Grndlagen beherschst.

    Zitat von Goldy

    Wusste jetzt nicht das dass so wichtig ist xD


    ist es nicht da man wenn man das Schema meines Beispiel-Skriptes ohne Probleme auf mehr Fenster erweitern kann, zudem habe ich es auskommentiert so dass es auch Anfänger (was du ja nach einem halben Jahr nicht mehr bist) verstehen können.

    mfg autoBert

  • Run mit working dir

    • autoBert
    • 19. September 2010 um 12:54

    Hallo Onigafuchi,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

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

    Versuch run mit dem Parameter Workingdir aufzurufen:

    Zitat von Hilfe

    Run ( "program" [, "workingdir" [, show_flag[, opt_flag ]]] )

    mfg autoBert

  • Edit Box neue Zeile

    • autoBert
    • 19. September 2010 um 12:01

    Hallo baam,

    ich konnte gerade testen, habe aber Erklärungsbedarf. Das sind die ScreenShots des 3. Testlaufs: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    jetzt stellt sich die Frage, wass soll überhaupt in der Editbox $hUser angezeigt werden bzw. warum ist sie überhaupt vorhanden? Der Nick des Sendenden ist wohl unsinnig, der von dem die Nachricht kommt aber auch unnötig, da vor jeder Nachricht ja der Nick desSendenden erscheint.

    Edit: wäre nur sinn voll für eine History, wer alles gesendet hat dann so:

    [autoit]

    $aParameter[4] = StringTrimLeft(BinaryToString($aParameter[4]),5)
    if not StringInStr(GUICtrlRead($hUser),$aParameter[4]) Then _
    GuiCtrlSetData($hUser,StringStripWS(GuiCtrlRead($hUser) & @crlf & $aParameter[4],1))

    [/autoit]

    ich hatte in meinem vorhergehenden Post übersehen wieder zu String zu wandeln und "Nick=" wegzuTrimmen

    mfg autoBert

    Dateien

    111_Chatserver.jpg 85,74 kB – 0 Downloads
  • Brauche dringend hilfe !

    • autoBert
    • 19. September 2010 um 11:07

    Dann erstelle dir im Editor deiner Wahl oder mit AutoIt eine Textdatei die die Felder enthält z.B.:

    Code
    <Adresse1>
    <Adresse2>
    <Strasse>
    
    
    <Ort>
    
    
    weiterer Brieftext

    dann liest du mit

    [autoit]

    $aFormular= _FileReadToArray

    [/autoit]

    diese 1 mal gespeicherte Datei ein. Durchläufst mit

    [autoit]

    For $i = 1 to $aFormular[0]
    ;Ersetzungsfunktionen
    next

    [/autoit]

    alle Zeilen. In der Schleife ersetzt du alle Feldnamen unter Nutzung von

    [autoit]

    StringReplace

    [/autoit]

    mit den Werten deiner Inputs. Jetzt noch mit

    [autoit]

    _ArrayToString

    [/autoit]

    alles in eine neue Datei schreiben und du bist fertig.

    PS.: Hilfe lesen bildet,

    mfg autoBert

  • Edit Box neue Zeile

    • autoBert
    • 19. September 2010 um 08:28

    Hallo Baaam,

    kann es sein dass du diese Lösung suchst:

    [autoit]

    if not StringInStr(GUICtrlRead($hUser),GUICtrlRead($hNick) & @crlf) Then _
    GuiCtrlSetData($hUser,StringStripWS(GuiCtrlRead($hUser) & @crlf & GUICtrlRead($hNick),1))

    [/autoit]

    dass heisst den Nick nur eintragen, wenn er nicht bereits in der EditBox $hUser ist.

    Edit: wobei dies

    [autoit]

    if not StringInStr(GUICtrlRead($hUser),$aParameter[4] & @crlf) Then _
    GuiCtrlSetData($hUser,StringStripWS(GuiCtrlRead($hUser) & @crlf & $aParameter[4],1))

    [/autoit]

    Nick wird aus dem empfangenen Datenpaket genommen, mehr Sinn macht.

    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™