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

Beiträge von Schnitzel

  • String übernahme von einer Form auf die andere

    • Schnitzel
    • 14. August 2010 um 12:25

    das geht wie sonst auch immer, Guictrlread und Guictrlsetdata

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ;------------------------------------------------------------------------------------------------------------------
    $Form1 = GUICreate("Form1", 183, 139, 192, 124)
    $Input1 = GUICtrlCreateInput("", 32, 8, 121, 21)
    $Input2 = GUICtrlCreateInput("", 32, 40, 121, 21)
    $Button1 = GUICtrlCreateButton("Button1", 40, 80, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;------------------------------------------------------------------------------------------------------------------
    $Form2 = GUICreate("Form1", 405, 294, 352, 236)
    $Edit1 = GUICtrlCreateEdit("", 16, 16, 361, 241)
    GUICtrlSetData(-1, "")
    GUISetState(@SW_HIDE)
    ;######################################################################

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1] ; window-handle
    Case $Form1 ;hier kommt alles zur 1ten gui rein
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    GUISetState(@SW_HIDE, $Form1);frmMain->visible = false
    GUICtrlSetData($Edit1, guictrlread($Input1) & @CRLF & GUICtrlRead($Input2))
    GUISetState(@SW_SHOW, $Form2);frmInfo->visible = true
    EndSwitch

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

    Case $Form2 ; hier kommt alles zur 3ten gui rein
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $Form1) ;frmMain->visible = true
    GUISetState(@SW_HIDE, $Form2) ;frmInfo->visible = false
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]
  • String übernahme von einer Form auf die andere

    • Schnitzel
    • 14. August 2010 um 11:37

    Von wo nach wo willst dus haben?
    Von einem Input in gui1 zur Edit in gui2 ?

  • Tags vergleichen (Ähnlichkeit)

    • Schnitzel
    • 13. August 2010 um 20:02

    Schau dich hier mal um ;)

    https://autoit.de/index.php?page=Thread&amp;postID=111725

  • wxWindowClassNR

    • Schnitzel
    • 13. August 2010 um 17:07
    Zitat von Detroit49

    wo fehlt da ne klammer ????


    :pinch: Immer mitdenken was du ausführst. Sonst kriegste irgendwann n programm das dir Systemdateien löscht oder so nen Spaß.
    (Ja das hatten wir hier auch schon)

    Zitat von Detroit49

    aber aber button kann ich nicht ansprechen


    wie ich im anderen Thread schon sagte: Nicht alle Controls lassen sich von autoit ansprechen.

  • wxWindowClassNR

    • Schnitzel
    • 13. August 2010 um 16:52

    Könntest du auch noch sagen was für ein Error?
    Wenn du deine Sachen nicht beschreibst kann man dir echt nicht helfen...

    Und ich hoffe du hast selbst gemerkt dass da ne Klammer fehlte

  • Hilfe zu Combobox

    • Schnitzel
    • 13. August 2010 um 13:36

    Was enthält denn $hIBusWindow?
    Sind alle Angaben sicher richtig? (am besten mit msgbox überprüfen)
    evtl mal mit Controlsend versuchen
    ControlSend ($hIBusWindow,"Start","[CLASS:Button; INSTANCE:1]", "{ENTER}")
    Oder andere Controlfunktionen ausprobieren

    Es gibt aber auch Fenster/Controls die sich nicht von Autoit automatisieren lassen.

  • Hilfe zu Combobox

    • Schnitzel
    • 13. August 2010 um 13:02

    so erhälst du eine Combo mit allen Fensternamen die "Detroit" enthalten:

    Spoiler anzeigen
    [autoit]

    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    Opt("WinTitleMatchMode", 2)

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

    $gui = GUICreate("", 250, 80, 0, 0)
    $combo = GUICtrlCreateCombo("", 10, 10, 230, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    $button = GUICtrlCreateButton("Aktualisiere Liste", 10, 45, 230, 22)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    GUICtrlSetData($combo, "")
    $list = WinList("Detroit")
    For $i = 1 To $list[0][0]
    GUICtrlSetData($combo, $list[$i][0])
    Next
    EndSwitch
    WEnd

    [/autoit]
  • Hilfe zu Combobox

    • Schnitzel
    • 13. August 2010 um 12:52

    Achso öffnest du die Dokumente alle in einem Fenster?
    Ich dachte es sind mehrere Fenster.

  • Hilfe zu Combobox

    • Schnitzel
    • 13. August 2010 um 11:51

    wo liegt denn das problem?
    du brauchst ne gui mit combo, guictrlsetdata, winlist, und winactivate

    Erstmal versuchen wenns probleme gibt helfen wir dir gerne ;)

  • Hilfe zu Combobox

    • Schnitzel
    • 13. August 2010 um 11:40

    jup ist möglich

  • Kosmetik hilfe

    • Schnitzel
    • 13. August 2010 um 10:11

    Wann tritt das Problem denn auf? Wann kann es die Dateien nicht umbenennen?
    Bekommst du irgendwelche Fehlermeldungen?

  • Kosmetik hilfe

    • Schnitzel
    • 13. August 2010 um 08:21

    GUISetBkColor(0xFFFFFF)


    Ganzes script:

    Spoiler anzeigen
    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_Fileversion=0.1.0.3
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <File.au3>
    #include <Array.au3>
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <GuiMenu.au3>
    #include <ButtonConstants.au3>
    #include <GuiComboBox.au3>
    #include <StaticConstants.au3>

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

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: Gianni

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------
    HotKeySet("{ESC}", "_exit")
    Dim $szDrive, $szDir, $szFName, $szExt
    Global Const $AC_SRC_ALPHA = 1

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

    ; Script Start - Add your code below here

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

    ;------------------------------- extRename ---------------------------------------------
    _GDIPlus_Startup()
    $pngSrc = @ScriptDir & "\gui\gui.png"
    $hImage = _GDIPlus_ImageLoadFromFile($pngSrc)

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

    $width = _GDIPlus_ImageGetWidth($hImage)
    $height = _GDIPlus_ImageGetHeight($hImage)

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

    $GUI = GUICreate("Ascii-Hex-Converter", $width, $height, -1, -1, BitOR($WS_POPUP, $WS_SYSMENU), $WS_EX_LAYERED)

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

    SetBitmap($GUI, $hImage, 0)
    GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
    GUISetState()

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

    For $i = 0 To 255 Step 40
    Sleep(5)
    SetBitmap($GUI, $hImage, $i)
    Next
    SetBitmap($GUI, $hImage, 255)

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

    $WinPos = WinGetPos($GUI)

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

    $_X = GUICreate("", $width, $height, 0, 0, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_TOOLWINDOW, $WS_EX_LAYERED), $GUI)
    GUISetBkColor(0xFFFFFF)
    GUICtrlCreatePic(@ScriptDir & "\gui\grey.gif", 0, 0, $width, $height)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    $labelBeschreibung = GUICtrlCreateLabel("Bitte die Dateiendungen ohne Punkt ('.') angeben (z.B. zip, exe oder jpg)", 40, 40, 310, 35)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $btnDurchsuchen = GUICtrlCreateButton("Durchsuchen..", 260, 90, 91, 25, $BS_FLAT)
    GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
    $inputDirectory = GUICtrlCreateInput("", 40, 90, 201, 21)
    $ext = GUICtrlCreateInput("", 40, 130, 201, 21)
    $labelInputOldExt = GUICtrlCreateLabel("alte Dateiendung", 260, 130, 90, 17)
    GUICtrlSetFont(-1, 8, 500, 0, "MS Sans Serif")
    $newExt = GUICtrlCreateInput("", 40, 170, 201, 21)
    $labelInputNewExt = GUICtrlCreateLabel("neue Dateiendung", 260, 170, 90, 17)
    GUICtrlSetFont(-1, 8, 500, 0, "MS Sans Serif")
    $btnOK = GUICtrlCreateButton("OK", 40, 210, 70, 25, $BS_FLAT)
    GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
    $btnAbbrechen = GUICtrlCreateButton("Abbrechen", 170, 210, 70, 25, $BS_FLAT)
    GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")

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

    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $btnDurchsuchen
    $fileFolder = FileSelectFolder("Ordner angeben", "C:\", 5)
    GUICtrlSetData($inputDirectory, $fileFolder)

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

    Case $btnOK
    $readDirectory = GUICtrlRead($inputDirectory)
    $readExt = GUICtrlRead($ext)
    $readNewExt = GUICtrlRead($newExt)

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

    If $readDirectory <> "" Then
    If StringRight($readDirectory, 1) = "\" Then $readDirectory = StringTrimRight($readDirectory, 1)
    Else
    MsgBox(48, "Ordner", "Bitte einen Ordner angeben!")
    ContinueLoop
    EndIf

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

    If $readExt <> "" And $readNewExt <> "" Then
    If StringLen($readExt) == 3 And StringLen($readNewExt) == 3 Then
    $extRename = _extRename($readDirectory, $readExt, $readNewExt)
    If $extRename = 1 Then MsgBox(64, "Erfolgreich", "Datei(en) erfolgreich unbenannt!")
    Else
    MsgBox(48, "Dateiendung", "Bitte die Dateiendungen korrekt eingeben!")
    EndIf
    EndIf

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

    Case $btnAbbrechen
    Exit

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    For $i = 200 To 0 Step -40
    SetBitmap($GUI, $hImage, $i)
    Next

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

    _WinAPI_DeleteObject($hImage)
    _GDIPlus_Shutdown()

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

    ;------------------------------- Functions ---------------------------------------------
    Func _extRename($folder, $extension, $newExtension)
    $firstFile = FileFindFirstFile($folder & "\*." & $extension)

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

    If $firstFile = -1 Then
    MsgBox(0, "Fehler", "Keine Dateien gefunden")
    Exit
    EndIf

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

    While 1
    $file = FileFindNextFile($firstFile)
    If @error Then ExitLoop

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

    $fileExt = StringRight($firstFile, 3)
    $fileExt = $newExtension
    $fileSplit = _PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
    $fileMove = $szDrive & $szDir & $szFName & "." & $newExtension

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

    $success = FileMove($folder & "\" & $file, $folder & "\" & $fileMove)
    WEnd
    If $success = 1 Then Return 1
    EndFunc ;==>_extRename

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

    Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
    If ($hWnd = $GUI) And ($iMsg = $WM_NCHITTEST) Then Return $HTCAPTION
    EndFunc ;==>WM_NCHITTEST

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

    Func SetBitmap($hGUI, $hImage, $iOpacity)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend

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

    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
    DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA)
    _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
    EndFunc ;==>SetBitmap

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

    Func _exit()
    Exit
    EndFunc ;==>_exit

    [/autoit]
  • SecurityWin für kurze Büro-Pausen

    • Schnitzel
    • 13. August 2010 um 08:16

    also bis jetzt habe ich nur die Gui umgebaut (1 Endlosschleife reicht völlig^^ )
    Da hättest du dann das problem nichtmehr dass du die Schleife wechseln musst

    Spoiler anzeigen
    [autoit]

    $gui = GUICreate("Security", 1366, 768)
    GUISetBkColor(1)
    Global $Button[10] = [ 9, _
    GUICtrlCreateButton("1", 0, 0, 455, 256), _
    GUICtrlCreateButton("2", 455, 0, 455, 256), _
    GUICtrlCreateButton("3", 910, 0, 455, 256), _
    GUICtrlCreateButton("4", 0, 256, 455, 256), _
    GUICtrlCreateButton("5", 455, 256, 455, 256), _
    GUICtrlCreateButton("6", 910, 256, 455, 256), _
    GUICtrlCreateButton("7", 0, 512, 455, 256), _
    GUICtrlCreateButton("8", 455, 512, 455, 256), _
    GUICtrlCreateButton("9", 910, 512, 455, 256) ]

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

    ;~ For $i = 0 To 2 ; alternative statt den ganzen GuictrlcreateButton
    ;~ For $k = 0 To 2
    ;~ $Button[$i * $k + $i + 1] = GUICtrlCreateButton($i * $k + $i + 1, Mod($k, 3) * 455, Mod($i, 3) * 256, 455, 256)
    ;~ Next
    ;~ Next

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

    GUISetState(@SW_SHOW)
    WinSetTrans("", "", 20)

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

    $gui2 = GUICreate("Passwort generieren", 150, 100)
    $PasswortNeu = GUICtrlCreateInput("Neues Passwort", 5, 5, 100)
    $PasswortNeu2 = GUICtrlCreateInput("Neues Passwort bestätigen", 5, 30, 100)
    $OK = GUICtrlCreateButton("OK", 5, 50, 65, 40)
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 75, 50, 65, 40)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1]
    Case $gui
    Switch $msg[0] ; hier sind alle events für die erste gui enthalten
    Case -3
    Exit
    EndSwitch
    Case $gui2 ; hier sind alle events für die 2te gui enthalten
    Switch $msg[0]
    Case -3
    GUISetState(@SW_HIDE, $gui2)
    WinActivate($gui)
    Case $Abbrechen
    GUISetState(@SW_HIDE, $gui2)
    WinActivate($gui)
    Case $OK
    If GUICtrlRead($PasswortNeu) == GUICtrlRead($PasswortNeu2) Then
    GUISetState(@SW_HIDE, $gui2)
    WinActivate($gui)
    $sPasswort = GUICtrlRead($PasswortNeu)
    Else
    MsgBox(0,"Falsche Eingabe", "Die beiden Passwörter stimmen nicht überein")
    EndIf
    GUICtrlSetData($PasswortNeu, "")
    GUICtrlSetData($PasswortNeu2, "")
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]
  • Timer in Minuten:Sekunden anzeigen

    • Schnitzel
    • 13. August 2010 um 07:43

    Hier meine Lösung

    Spoiler anzeigen
    [autoit]

    $wait_time = 500; in sekunden angeben

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

    $Timer = TimerInit()
    Do
    Sleep(10)
    $iSecs = $wait_time - Round(TimerDiff($Timer) / 1000, 0)
    If $iSecs > 60 Then
    $min = Floor($iSecs / 60)
    $sec = ($iSecs - $min * 60)
    TrayTip("RESTZEIT", $min & " Minuten übrig" & @CRLF & $sec & " Sekunden übrig", 1)
    Else
    TrayTip("RESTZEIT", $iSecs & " Sekunden übrig", 1)
    EndIf
    Until $iSecs <= 0

    [/autoit]
  • Tab während Laufzeit erstellen oder Tab ausgrauen (GUI_disable)

    • Schnitzel
    • 12. August 2010 um 20:39

    Ich denke du suchst :

    [autoit]

    _GUICtrlTab_InsertItem

    [/autoit]
  • Endlosschleife

    • Schnitzel
    • 12. August 2010 um 20:07

    Für was ist das script gut?

  • SecurityWin für kurze Büro-Pausen

    • Schnitzel
    • 12. August 2010 um 15:38

    Es gibt da immernoch ein paar Dinge die mir noch nicht ganz klar sind:
    beide fenster werden geöffnet. Dann stellt der User sein passwort ein indem er es 2mal eingibt.
    Dannach wird die tastatur geblockt. Wie soll man nun die Tastatur wieder reaktivieren können?
    Soll man das passwort zum reaktiveren über die Buttons "eintippen"?
    Oder wie gibt man das zum reaktivieren ein? weil die tastatur ist ja gesperrt

  • Hilfe FileOpen($Filedir, 1) überschreibt Datei

    • Schnitzel
    • 12. August 2010 um 15:31

    ganzes skript bitte (oder so gekürtzt dass der fehler enthalten ist)
    Sonst kann man nicht erkennen was du falsch machst

  • Prozesse miteinander kommunizieren lassen?

    • Schnitzel
    • 12. August 2010 um 14:52

    Hättest ruhig die suche quälen können, da gibts wahrscheinlich 100 ergebnisse

    eines davon:
    [ offen ] 2 Skripte miteinander kommunizieren lassen ohne TCP

  • SecurityWin für kurze Büro-Pausen

    • Schnitzel
    • 12. August 2010 um 14:20

    ich glaube du machst in deinem script einiges viel zu kompliziert

    Zitat

    ein Problem hab ich noch wann muss ich die while Funktion wieder starten und wie geht das genau???

    könntest du der genau beschreiben was der Reihe nach passieren soll? ich blick glaub ich sonst nicht ganz durch

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™