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

Beiträge von Photon

  • Variableninhalt als Teil von einem Befehl

    • Photon
    • 6. März 2015 um 19:32

    So vielleicht?

    [autoit]


    Local $ANTWORT_BYTE12 = DllStructGetData($struct, 1,2)

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

    Local $Return = Call( $ANTWORT_BYTE12 )

    [/autoit]
  • GUIScrollBars_Ex Massenproduktions Problem (Bug?)

    • Photon
    • 6. März 2015 um 18:00

    Das Teilproblem das sich die Slider mit verschieben habe ich mit untenstehendem Code gelöst. Dafür habe ich die Schleife aus der Funktion EQAddFreq() in eine eigene Funktion ausgelagert.
    Kann sein das die Teillösung für die Komplettlösung des Problems nicht passt. Vielleicht hilft dir das hier aber schon weiter. Ich suche dann mal weiter.

    Die Lösung des Problems:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <custom/GUIScrollbars_Ex.au3>
    #include <Array.au3>

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

    Opt("GUIOnEventMode", True)

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

    Global $hGUIEQItemInput[0], $hGUIEQItemSlider[0], $MainGui_Width = @DesktopWidth, $MainGui_Height = @DesktopHeight

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

    $hGUIEQ = GUICreate("EQTest", GUIx(105), GUIy(660))
    $hGUIEQContext = GUICtrlCreateContextMenu()
    $hGUIEQContextAdd = GUICtrlCreateMenuItem("Add Frequency", $hGUIEQContext)

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

    GUICtrlSetOnEvent(-1, "EQAddFreq")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    _GUIScrollBars_Generate($hGUIEQ, 0, GUIy(5))

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

    For $i = 0 To 99 Step +1
    EQAddFreq()
    Next

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

    PosItems( ); ########### Photon ##################

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

    ; GUISetState habe ich hier hin verlegt damit das Programm schneller
    ; startet und es nicht so komisch aussieht wenn die ganzen Steuerelemente erzeugt werden.
    GUISetState(); ########### Photon ##################

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

    While 1
    ; Das Sleep habe ich eingefügt damit die CPU nicht so ausgelastet wird.
    ; Mein Lüfter dankt es mir.
    Sleep( 3000 ); ########### Photon ##################
    ;ConsoleWrite(_GUIScrollBars_Locate_Ctrl($hGUIEQ, 0, 0)[1]&@CRLF)
    WEnd

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

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

    Func EQAddFreq()
    _ArrayAdd($hGUIEQItemInput, GUICtrlCreateInput("0", GUIx( 5 ), GUIy( 5 ) + UBound( $hGUIEQItemInput ) * GUIy( 50 ), GUIx( 30 ), GUIy( 40 ) ) )
    _ArrayAdd($hGUIEQItemSlider, GUICtrlCreateSlider( GUIx( 5 + 30 ), GUIy( 5 ) + UBound( $hGUIEQItemInput ) * GUIy( 50 ), GUIx( 60 ), GUIy( 40 ), $TBS_HORZ) )

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

    $ScrollHeight = GUIy(5 + UBound($hGUIEQItemInput) * 50)

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

    _GUIScrollBars_Generate($hGUIEQ, 0, $ScrollHeight)

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

    ;For $i = 0 To UBound($hGUIEQItemInput) - 1 Step +1
    ; GUICtrlSetPos($hGUIEQItemInput[$i], GUIx(5), _GUIScrollBars_Locate_Ctrl($hGUIEQ, 0, 0)[1] + GUIy(5 + $i * 50), GUIx(30), GUIy(40))
    ; GUICtrlSetPos($hGUIEQItemSlider[$i], GUIx(5 + 30 + 5), _GUIScrollBars_Locate_Ctrl($hGUIEQ, 0, 0)[1] + GUIy(5 + $i * 50), GUIx(60), GUIy(40))
    ;Next
    EndFunc ;==>EQAddFreq

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

    Func PosItems( ); ########### Photon ##################
    For $i = 0 To UBound($hGUIEQItemInput) - 1 Step +1
    GUICtrlSetPos($hGUIEQItemInput[$i], GUIx(5), _GUIScrollBars_Locate_Ctrl($hGUIEQ, 0, 0)[1] + GUIy(5 + $i * 50), GUIx(30), GUIy(40))
    GUICtrlSetPos($hGUIEQItemSlider[$i], GUIx(5 + 30 + 5), _GUIScrollBars_Locate_Ctrl($hGUIEQ, 0, 0)[1] + GUIy(5 + $i * 50), GUIx(60), GUIy(40))
    Next
    EndFunc

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

    #cs
    Func EQSortFreqs()
    Local $aHelpList [UBound($hGUIEQItemInput)][2]
    for $i = 0 to UBound($hGUIEQItemInput)-1 step +1
    $aHelpList[$i] = $hGUIEQItemInput[$i]
    EndFunc
    #ce
    Func GUIx($Number)
    Return $MainGui_Width / 1000 * $Number
    EndFunc ;==>GUIx

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

    Func GUIy($Number)
    Return $MainGui_Height / 1000 * $Number
    EndFunc ;==>GUIy

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

    Ich hätte schwören können das die Inputboxen noch die falsche Größe hatten.
    Da war ich wohl eingenickt und hatte nen schlechten Traum.
    Ein Glück bin ich wieder wach.

  • Inline-Hilfe

    • Photon
    • 6. März 2015 um 16:20

    Hatte vor einiger Zeit das selbe Problem.
    Rechtsklick auf die Hilfe.chm > Eigenschaften > Im Tabreiter "Allgemein" ist dann, wenn ich mich recht erinner, ein "Zulassen" Knopf. Den drücken und es sollte funktionieren.
    Ist wohl ein ein Rechteproblem.

    Eine Googlesuche nach "chm leer" bestätigt nochmals meine Lösung.
    Im ersten Ergebnis nach "Inhalt von Hilfeseiten wird nicht angezeigt" suchen.

  • Forum-Umstellung Problemsammlung

    • Photon
    • 17. Oktober 2014 um 19:05

    Hallo,

    mir ist gerade beim Stöbern in den Signaturen aufgefallen das jeder Link, der auf einen Post/Thread auf Autoit.de zeigt, mich auf die autoit.de Startseite weiterleitet.

    Zitat

    Bitte erst die bereits bekannten Probleme lesen. Es macht keine Sinn die selben Fehler doppelt und dreifach zu melden:

    Bekannte Probleme

    Asche auf mein Haupt.
    Habe nur den ersten Teilsatz gelesen und bin dann weiter gesprungen.
    Entschuldigt.

    Gruß
    Photon

  • _FileWriteToLine leert Datei

    • Photon
    • 26. November 2013 um 15:33

    Probier doch mal das Beisipiel in der Hilfe zu _FileWriteToLine aus.
    Ich hab dein Script mal getestet und bei mir funktioniert es.

  • Bildschirm aufnehmen

    • Photon
    • 22. November 2013 um 23:39

    Kann dir nicht direkt helfen aber hier ein paar Tipps:

    In der Hilfe gibt es eine UDF namens ScreenCapture Management.
    Ist zwar nur für einzelne Bilder aber ist ein Anfang.

    Für eine weitere Suche kannst du die Forensuche(im Borwserfenster oben rechts) oder eine Suchmaschine deiner Wahl nutzen.
    Schlagwörter dafür wären sicherlich: AutoIt ScreenCapture, AutoIt ScreenCapture Video, AutoIt Video, ...

    Um zum Beispiel mit Google effektiver suchen zu können informier dich über "Google Hacks". Diese "Hacks" funktionieren evtl. auch bei anderen Suchmaschinen.

  • Probleme mit dem Snippet Holder

    • Photon
    • 22. November 2013 um 00:21

    Ist dieser "Snippet Holder" nur in der 3.2.0?
    Weil in der 3.3.0 hab ich diesen noch nicht gefunden.
    Frag mich aber nicht woher ich den SCITE her hab. Ist schon ne Weile her als ich mir den angeschafft habe.

  • Pflichtfelder (Radio Button, Edit Feld) vor dem Absenden des Formulars auf Inhalt prüfen

    • Photon
    • 22. November 2013 um 00:01

    Entschuldige. Die Antwort hat etwas gedauert.
    Ich hab dir den Quelltext mal für die RadioButtons abgeändert. Jetzt kannst du mit den Werten weiterarbeiten.
    Versuch das mit den Editboxen nochmal selber.
    Dabei kannst du dich an der Lösung für die Radiobuttons orientieren.
    Um zu sehen was geändert wurde kannst du z.B. ein Programm wie Winmerge nutzen.

    Viel Erfolg.

    Spoiler anzeigen
    [autoit]


    #include <Excel.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Dim $x, $wert_edit, $radio_x1, $radio_x2, $radio_x3, $radio_x4,$radio_x5,$radio_x6
    Local $avArray[1]

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

    GUICreate("",@DesktopWidth,@DesktopHeight,0,0, $WS_OVERLAPPEDWINDOW) ; will create a dialog box that when displayed is centered
    $TL_Combo = GUICtrlCreateCombo("",600, 100,100,20) ; create first item
    $Label_1 = GUICtrlCreateLabel("Feedback an die Teamleitung und das Qualitätsmanagement",260,30,@DesktopWidth,50)
    GUICtrlSetFont($Label_1,22,120, 0, "Arial")
    GUICtrlSetData($TL_Combo, "Teamleiter1|Teamleiter2|Teamleiter3|Teamleiter4|Teamleiter5", "Teamleiter1") ; add other item snd set a new default
    ;----------erste spalte ----------------------------------------------
    $top_1 = 190
    $top_2 = 420
    $top_3 = 640
    $left_s1 = 100
    $left_s2 = 510
    $left_s3 = 920
    $group_w = 350
    $group_h = 200
    $group_ht = 150

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

    Global $RadioButtonGroups[7][6]

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

    GUICtrlCreateGroup("1. Objektivität / Fairness ", 70, 150, $group_w, $group_h)
    $RadioButtonGroups[0][0] = GUICtrlCreateRadio( "1", $left_s1 + 00,$top_1, 30, 20, $WS_GROUP)
    $RadioButtonGroups[0][1] = GUICtrlCreateRadio( "2", $left_s1 + 30,$top_1, 30, 20)
    $RadioButtonGroups[0][2] = GUICtrlCreateRadio( "3", $left_s1 + 60,$top_1, 30, 20)
    $RadioButtonGroups[0][3] = GUICtrlCreateRadio( "4", $left_s1 + 90,$top_1, 30, 20)
    $RadioButtonGroups[0][4] = GUICtrlCreateRadio( "5", $left_s1 + 120,$top_1, 30, 20)
    $RadioButtonGroups[0][5] = GUICtrlCreateRadio( "6", $left_s1 + 150,$top_1, 30, 20)
    $edit1 = GUICtrlCreateEdit("", 90, 235, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("2. Kompetenz in seiner Aufgabe ", 70, 380, $group_w, $group_h)
    $RadioButtonGroups[1][0] = GUICtrlCreateRadio("1",$left_s1 + 00, $top_2, 30, 20, $WS_GROUP)
    $RadioButtonGroups[1][1] = GUICtrlCreateRadio("2",$left_s1 + 30, $top_2, 30, 20)
    $RadioButtonGroups[1][2] = GUICtrlCreateRadio("3",$left_s1 + 60, $top_2, 30, 20)
    $RadioButtonGroups[1][3] = GUICtrlCreateRadio("4",$left_s1 + 90, $top_2, 30, 20)
    $RadioButtonGroups[1][4] = GUICtrlCreateRadio("5",$left_s1 + 120, $top_2, 30, 20)
    $RadioButtonGroups[1][5] = GUICtrlCreateRadio("6",$left_s1 + 150, $top_2, 30, 20)
    $edit2 = GUICtrlCreateEdit("", 90, 465, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("3. Verständnis für Anliegen/Probleme ", 70, 610, $group_w, $group_h)
    $RadioButtonGroups[2][0] = GUICtrlCreateRadio("1",$left_s1 + 00, $top_3, 30, 20, $WS_GROUP)
    $RadioButtonGroups[2][1] = GUICtrlCreateRadio("2",$left_s1 + 30, $top_3, 30, 20)
    $RadioButtonGroups[2][2] = GUICtrlCreateRadio("3",$left_s1 + 60, $top_3, 30, 20)
    $RadioButtonGroups[2][3] = GUICtrlCreateRadio("4",$left_s1 + 90, $top_3, 30, 20)
    $RadioButtonGroups[2][4] = GUICtrlCreateRadio("5",$left_s1 + 120, $top_3, 30, 20)
    $RadioButtonGroups[2][5] = GUICtrlCreateRadio("6",$left_s1 + 150, $top_3, 30, 20)
    $edit3 = GUICtrlCreateEdit("", 90, 690, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    ;----------zweite spalte ----------------------------------------------
    GUICtrlCreateGroup("4. Hilfsbereitschaft ", 475, 150, $group_w, $group_h)
    $RadioButtonGroups[3][0] = GUICtrlCreateRadio("1", $left_s2 + 00, $top_1, 30, 20, $WS_GROUP)
    $RadioButtonGroups[3][1] = GUICtrlCreateRadio("2", $left_s2 + 30, $top_1, 30, 20)
    $RadioButtonGroups[3][2] = GUICtrlCreateRadio("3", $left_s2 + 60, $top_1, 30, 20)
    $RadioButtonGroups[3][3] = GUICtrlCreateRadio("4", $left_s2 + 90, $top_1, 30, 20)
    $RadioButtonGroups[3][4] = GUICtrlCreateRadio("5", $left_s2 + 120, $top_1, 30, 20)
    $RadioButtonGroups[3][5] = GUICtrlCreateRadio("6", $left_s2 + 150, $top_1, 30, 20)
    $edit4 = GUICtrlCreateEdit("", 495, 235, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("5. Loyalität ", 475, 380, $group_w, $group_h)
    $RadioButtonGroups[4][0] = GUICtrlCreateRadio("1", $left_s2 + 00, $top_2, 30, 20, $WS_GROUP)
    $RadioButtonGroups[4][1] = GUICtrlCreateRadio("2", $left_s2 + 30, $top_2, 30, 20)
    $RadioButtonGroups[4][2] = GUICtrlCreateRadio("3", $left_s2 + 60, $top_2, 30, 20)
    $RadioButtonGroups[4][3] = GUICtrlCreateRadio("4", $left_s2 + 90, $top_2, 30, 20)
    $RadioButtonGroups[4][4] = GUICtrlCreateRadio("5", $left_s2 + 120,$top_2, 30, 20)
    $RadioButtonGroups[4][5] = GUICtrlCreateRadio("6", $left_s2 + 150,$top_2, 30, 20)
    $edit5 = GUICtrlCreateEdit("", 495, 465, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("6. Fähigkeit zum Vermitteln von Zusammenhängen ", 475, 610, $group_w, $group_h)
    $RadioButtonGroups[5][0] = GUICtrlCreateRadio("1", $left_s2 + 00, $top_3, 30, 20, $WS_GROUP)
    $RadioButtonGroups[5][1] = GUICtrlCreateRadio("2", $left_s2 + 30, $top_3, 30, 20)
    $RadioButtonGroups[5][2] = GUICtrlCreateRadio("3", $left_s2 + 60, $top_3, 30, 20)
    $RadioButtonGroups[5][3] = GUICtrlCreateRadio("4", $left_s2 + 90, $top_3, 30, 20)
    $RadioButtonGroups[5][4] = GUICtrlCreateRadio("5", $left_s2 + 120,$top_3, 30, 20)
    $RadioButtonGroups[5][5] = GUICtrlCreateRadio("6", $left_s2 + 150,$top_3, 30, 20)
    $edit6 = GUICtrlCreateEdit("", 495, 690, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    ;----------dritte spalte ----------------------------------------------
    GUICtrlCreateGroup("7. Motivation ", 880, 150, $group_w, $group_h)
    $RadioButtonGroups[6][0] = GUICtrlCreateRadio("1", $left_s3 + 00, $top_1, 30, 20, $WS_GROUP)
    $RadioButtonGroups[6][1] = GUICtrlCreateRadio("2", $left_s3 + 30, $top_1, 30, 20)
    $RadioButtonGroups[6][2] = GUICtrlCreateRadio("3", $left_s3 + 60, $top_1, 30, 20)
    $RadioButtonGroups[6][3] = GUICtrlCreateRadio("4", $left_s3 + 90, $top_1, 30, 20)
    $RadioButtonGroups[6][4] = GUICtrlCreateRadio("5", $left_s3 + 120, $top_1, 30, 20)
    $RadioButtonGroups[6][5] = GUICtrlCreateRadio("6", $left_s3 + 150, $top_1, 30, 20)
    $edit7 = GUICtrlCreateEdit("", 900, 235, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    Global $CheckedRadioButtonsNum[7] ; Hinzugefügt

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

    GUICtrlCreateGroup("8. Was ist aus deiner Sicht besonders positiv? ", 880, 380, $group_w, $group_ht)
    $edit8 = GUICtrlCreateEdit("", 900, 410, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("9. Was ist aus deiner Sicht besonders negativ? ", 880, 560, $group_w, $group_ht)
    $edit9 = GUICtrlCreateEdit("", 900, 590, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("10. weitere Anmerkungen! ", 880, 740, $group_w, $group_ht)
    $edit10 = GUICtrlCreateEdit("", 900, 770, 310, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    $Button_1 = GUICtrlCreateButton( "Formular Absenden",@DesktopWidth * (50 /100) -50,900,130,30, 0x0C00 )

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

    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $TL_Combo

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

    Case $Button_1
    ;$wert_edit = ""
    Local $avArray[1] ;wenn nicht alle Felder gefüllt sind erstelle leeres Array ...
    ; Wozu ein leeres Array? In Zeile 7 hast verwendest du den Namen bereits für ein Array.

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

    If _pruefen( $RadioButtonGroups, $CheckedRadioButtonsNum ) = True Then
    MsgBox(0,"1 alles ok", ":)" )
    $wert_TL = GUICtrlRead($TL_Combo)
    _ArrayDisplay( $CheckedRadioButtonsNum, "Gesetzte Radio Button Nummern Liste" )
    ;_ArrayAdd($avArray, $wert_TL) ; Wie du siehst braucht man nicht unbedingt _ArrayAdd um die Werte in einem Array zu speichern
    ;_ArrayDisplay($avArray)
    Exit
    Else
    MsgBox(0,"Info","Bitte alle Felder ausfüllen")
    EndIf

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

    EndSwitch
    WEnd

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

    ;
    ; Hier musst du natürlich noch die Überprüfung der Editboxen rein machen.
    ;
    Func _pruefen( $RadBtnGrps, ByRef $ChckdRadBtnsNums )

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

    Local $AllNeededDataFound = False

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

    If _get_all_Radio_Buttons_Group_State( $RadBtnGrps, $ChckdRadBtnsNums ) = True Then
    $AllNeededDataFound = True
    Else
    $AllNeededDataFound = False
    Return $AllNeededDataFound
    EndIf

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

    Return $AllNeededDataFound
    EndFunc

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

    ;
    ; Prüft >>> alle <<< Radio Button Gruppen ob ein RadioButton gesetzt ist.
    ;
    Func _get_all_Radio_Buttons_Group_State( $RadBtnGrps, ByRef $ChckdRadBtnsNums )
    Local $SizeOfRadBtnArr = UBound( $RadBtnGrps )
    Local $RadioButtonChecked = False

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

    Local $TempRes = -1

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

    For $GroupNr = 0 To $SizeOfRadBtnArr - 1
    $TempRes = _get_Radio_Button_Of_Group_Checked( $RadBtnGrps, $GroupNr, $ChckdRadBtnsNums )

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

    If $TempRes > -1 Then
    $ChckdRadBtnsNums[$GroupNr] = $TempRes
    $RadioButtonChecked = True
    Else
    $RadioButtonChecked = False
    ExitLoop
    EndIf
    Next
    Return $RadioButtonChecked
    EndFunc

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

    ;
    ; Prüft in einer Gruppe von Radio Buttons ob einer gesetzt ist und gibt die Nummer des gesetzten zurück.
    ;
    Func _get_Radio_Button_Of_Group_Checked( $RadioButtonArray, $GroupNr, ByRef $CheckedButtons )
    Local $SizeOfArray = UBound( $RadioButtonArray, 2 )
    Local $NumOfCheckedRadBtn = -1

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

    For $BtnNr = 0 To $SizeOfArray - 1
    If GUICtrlRead( $RadioButtonArray[$GroupNr][$BtnNr] ) = $GUI_CHECKED Then
    $NumOfCheckedRadBtn = $BtnNr ; Wenn du hier $BtnNr + 1 machst erhältst du die Nummer des Buttons wie sie in der GUI angezeigt wird.
    ; Also nicht 0,1,2,3,4,5 sonder 1,2,3,4,5,6. Probiers einfach aus.
    ExitLoop
    EndIf
    Next

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

    Return $NumOfCheckedRadBtn
    EndFunc

    [/autoit]
  • Funktionsweise der Timer Funktionen

    • Photon
    • 21. November 2013 um 22:52

    Ist die Timer Funktion nicht vll. einfach ein Wrapper der QueryPerformanceCounter oder einer ähnlichen WinApi Funtkion?
    http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx

  • Mehrere Ereignisse überwachen

    • Photon
    • 21. November 2013 um 22:46

    Also ich hab dein Script mit dem Windows Taschenrechner und Notepad getestet. Bei mir funktioniert es.
    Vll. falscher Fenstertitel?

    [autoit]


    While ProcessExists("calc.exe") <> 0 ; Du hattest hier kein String übergeben.
    if WinExists ("Unbenannt - Editor") = 1 then
    Msgbox (0,"Hinweis","Fenster geöffnet")
    exit
    EndIf
    WEnd
    Msgbox (0,"Hinweis","Prozess beendet")

    [/autoit]
  • Send Key Probleme

    • Photon
    • 18. November 2013 um 08:35

    Schau dir mal das Programm Au3Info.exe(wird in der AutoIt Installation mitgeliefert) an.
    Dann probiers nochmal mit WinExists. Wenn es damit nicht klappt kannst du es auch mit WinWaitActive versuchen.

    Um Enter zu ersetzen kannst du dir mal ControlClick anschauen.

  • FSK im Internet (Info)

    • Photon
    • 7. November 2013 um 11:36

    Die Beiträge zu löschen ist die einfachste Lösung.


    Zitat von x0r


    Du wirst von der NSA überwacht und machst dir um deine Ausweisnummer gedanken?


    Nur weil die NSA alles überwacht soll man jetzt den Datenschutz vernachlässigen? :rolleyes:

  • Backup Lösung - LastBackup anzeigen

    • Photon
    • 7. November 2013 um 11:28

    Uhrzeit ausgegraut als TrayItem:

    [autoit]


    Global $Test = TrayCreateItem( "" & @HOUR & ":" & @MIN & ":" & @SEC )
    TrayItemSetState( $Test, $TRAY_DISABLE )

    [/autoit]

    Ich hab ein bischen rumprobiert. Hab aber noch keine Möglichkeit gefunden eine Funktion auf ein deaktiviertes TrayItem zu legen.
    Was ich ehrlich gesagt auch für unschön halte. Denn welcher Nutzer ahnt schon das ein ausgegrauter Menupunkt eine Funktion hat.
    Mach lieber ein Untermenu unter dem Hauptmenupunkt "Kürzliche Backups" oder so ähnlich. Z.B kannst du in dem Untermenu zu jedem Backup ein TrayItem anlegen. Man sollte die Anzahl an Untermenupunkten allerdings begrenzen.

    Du solltest in Z. 15 vor FileGetTime noch prüfen ob der Ordner U:\Backup überhaupt existiert. Andernfalls kann es dir passieren das dieser Fehler auftaucht

    Code
    (16) : ==> Subscript used with non-Array variable.:
    Local $BackupZeit = $Zeit[2] & "." & $Zeit[1] & "." & $Zeit[0] & "   " & $Zeit[3] & ":" & $Zeit[4]
    Local $BackupZeit = $Zeit^ ERROR

    Noch eine Frage. Warum rufst du deine ganzen Funktionen mit Call auf?

  • Pflichtfelder (Radio Button, Edit Feld) vor dem Absenden des Formulars auf Inhalt prüfen

    • Photon
    • 6. November 2013 um 19:54

    Hallo gmmg,

    ich würde es wie im Spoiler unten lösen. Habe aber noch nicht alles von jetzt überflüssigen Variablen gesäubert. Mach ich vielleicht noch in einem Edit.
    Noch ein, zwei Tipps.
    Du solltes so wenig wie möglich globale Variablen nutzen.
    Desweiteren sollte man für die Variablendeklaration DIM nicht mehr nutzen.

    Spoiler anzeigen
    [autoit]


    #include <Excel.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Dim $x, $wert_edit, $radio_x1, $radio_x2, $radio_x3, $radio_x4,$radio_x5,$radio_x6
    Local $avArray[1]

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

    GUICreate("",@DesktopWidth,@DesktopHeight,0,0, $WS_OVERLAPPEDWINDOW) ; will create a dialog box that when displayed is centered
    $TL_Combo = GUICtrlCreateCombo("",600, 100,100,20) ; create first item
    $Label_1 = GUICtrlCreateLabel("Feedback an die Teamleitung und das Qualitätsmanagement",260,30,@DesktopWidth,50)
    GUICtrlSetFont($Label_1,22,120, 0, "Arial")
    GUICtrlSetData($TL_Combo, "Teamleiter1|Teamleiter2|Teamleiter3|Teamleiter4|Teamleiter5", "Teamleiter1") ; add other item snd set a new default
    ;----------erste spalte ----------------------------------------------
    $top_1 = 190
    $top_2 = 420
    $top_3 = 640
    $left_s1 = 110
    $left_s2 = 530

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

    Global $RadioButtonGroups[6][6]

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

    GUICtrlCreateGroup("1. Objektivität / Fairness 1 ", 90, 150, 400, 200)

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

    $RadioButtonGroups[0][0] = GUICtrlCreateRadio( "1", $left_s1 + 00,$top_1, 30, 20, $WS_GROUP)
    $RadioButtonGroups[0][1] = GUICtrlCreateRadio( "2", $left_s1 + 30,$top_1, 30, 20)
    $RadioButtonGroups[0][2] = GUICtrlCreateRadio( "3", $left_s1 + 60,$top_1, 30, 20)
    $RadioButtonGroups[0][3] = GUICtrlCreateRadio( "4", $left_s1 + 90,$top_1, 30, 20)
    $RadioButtonGroups[0][4] = GUICtrlCreateRadio( "5", $left_s1 + 120,$top_1, 30, 20)
    $RadioButtonGroups[0][5] = GUICtrlCreateRadio( "6", $left_s1 + 150,$top_1, 30, 20)
    $edit11 = GUICtrlCreateEdit("", 110, 235, 360, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("2. Objektivität / Fairness 2 ", 90, 380, 400, 200)
    $RadioButtonGroups[1][0] = GUICtrlCreateRadio("1",$left_s1 + 00, $top_2, 30, 20, $WS_GROUP)
    $RadioButtonGroups[1][1] = GUICtrlCreateRadio("2",$left_s1 + 30, $top_2, 30, 20)
    $RadioButtonGroups[1][2] = GUICtrlCreateRadio("3",$left_s1 + 60, $top_2, 30, 20)
    $RadioButtonGroups[1][3] = GUICtrlCreateRadio("4",$left_s1 + 90, $top_2, 30, 20)
    $RadioButtonGroups[1][4] = GUICtrlCreateRadio("5",$left_s1 + 120, $top_2, 30, 20)
    $RadioButtonGroups[1][5] = GUICtrlCreateRadio("6",$left_s1 + 150, $top_2, 30, 20)
    $edit21 = GUICtrlCreateEdit("", 110, 465, 360, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("3. Objektivität / Fairness 3 ", 90, 610, 400, 200)
    $RadioButtonGroups[2][0] = GUICtrlCreateRadio("1",$left_s1 + 00, $top_3, 30, 20, $WS_GROUP)
    $RadioButtonGroups[2][1] = GUICtrlCreateRadio("2",$left_s1 + 30, $top_3, 30, 20)
    $RadioButtonGroups[2][2] = GUICtrlCreateRadio("3",$left_s1 + 60, $top_3, 30, 20)
    $RadioButtonGroups[2][3] = GUICtrlCreateRadio("4",$left_s1 + 90, $top_3, 30, 20)
    $RadioButtonGroups[2][4] = GUICtrlCreateRadio("5",$left_s1 + 120, $top_3, 30, 20)
    $RadioButtonGroups[2][5] = GUICtrlCreateRadio("6",$left_s1 + 150, $top_3, 30, 20)
    $edit31 = GUICtrlCreateEdit("", 110, 690, 360, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    ;----------zweite spalte ----------------------------------------------
    GUICtrlCreateGroup("4. Objektivität / Fairness 4 ", 510, 150, 400, 200)
    $RadioButtonGroups[3][0] = GUICtrlCreateRadio("1", $left_s2 + 00, $top_1, 30, 20, $WS_GROUP)
    $RadioButtonGroups[3][1] = GUICtrlCreateRadio("2", $left_s2 + 30, $top_1, 30, 20)
    $RadioButtonGroups[3][2] = GUICtrlCreateRadio("3", $left_s2 + 60, $top_1, 30, 20)
    $RadioButtonGroups[3][3] = GUICtrlCreateRadio("4", $left_s2 + 90, $top_1, 30, 20)
    $RadioButtonGroups[3][4] = GUICtrlCreateRadio("5", $left_s2 + 120, $top_1, 30, 20)
    $RadioButtonGroups[3][5] = GUICtrlCreateRadio("6", $left_s2 + 150, $top_1, 30, 20)
    $edit41 = GUICtrlCreateEdit("", 530, 235, 360, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("5. Objektivität / Fairness 5 ", 510, 380, 400, 200)
    $RadioButtonGroups[4][0] = GUICtrlCreateRadio("1", $left_s2 + 00, $top_2, 30, 20, $WS_GROUP)
    $RadioButtonGroups[4][1] = GUICtrlCreateRadio("2", $left_s2 + 30, $top_2, 30, 20)
    $RadioButtonGroups[4][2] = GUICtrlCreateRadio("3", $left_s2 + 60, $top_2, 30, 20)
    $RadioButtonGroups[4][3] = GUICtrlCreateRadio("4", $left_s2 + 90, $top_2, 30, 20)
    $RadioButtonGroups[4][4] = GUICtrlCreateRadio("5", $left_s2 + 120,$top_2, 30, 20)
    $RadioButtonGroups[4][5] = GUICtrlCreateRadio("6", $left_s2 + 150,$top_2, 30, 20)
    $edit51 = GUICtrlCreateEdit("", 530, 465, 360, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlCreateGroup("6. Objektivität / Fairness 6 ", 510, 610, 400, 200)
    $RadioButtonGroups[5][0] = GUICtrlCreateRadio("1", $left_s2 + 00, $top_3, 30, 20, $WS_GROUP)
    $RadioButtonGroups[5][1] = GUICtrlCreateRadio("2", $left_s2 + 30, $top_3, 30, 20)
    $RadioButtonGroups[5][2] = GUICtrlCreateRadio("3", $left_s2 + 60, $top_3, 30, 20)
    $RadioButtonGroups[5][3] = GUICtrlCreateRadio("4", $left_s2 + 90, $top_3, 30, 20)
    $RadioButtonGroups[5][4] = GUICtrlCreateRadio("5", $left_s2 + 120,$top_3, 30, 20)
    $RadioButtonGroups[5][5] = GUICtrlCreateRadio("6", $left_s2 + 150,$top_3, 30, 20)
    $edit61 = GUICtrlCreateEdit("", 530, 690, 360, 97)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    $Button_1 = GUICtrlCreateButton( "Formular Absenden",@DesktopWidth * (50 /100) -50,200,130,30, 0x0C00 )

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

    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $TL_Combo

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

    Case $Button_1
    If _pruefen( $RadioButtonGroups ) = True Then
    MsgBox(0,"1 alles ok", ":)" )
    Exit
    Else
    MsgBox(0,"Info","Bitte alle Felder ausfüllen")
    EndIf

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

    EndSwitch
    WEnd

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

    ;
    ; Hier musst du natürlich noch die Überprüfung der Editboxen rein machen.
    ;
    Func _pruefen( $RadBtnGrps )

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

    Local $AllNeededDataFound = False

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

    If _check_all_Radio_Buttons_State( $RadBtnGrps ) = True Then
    $AllNeededDataFound = True
    Else
    $AllNeededDataFound = False
    Return $AllNeededDataFound
    EndIf

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

    Return $AllNeededDataFound
    EndFunc

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

    ;
    ; Prüft >>> alle <<< Radio Button Gruppen ob ein RadioButton gesetzt ist.
    ;
    Func _check_all_Radio_Buttons_State( $RadBtnGrps )
    Local $SizeOfRadBtnArr = UBound( $RadBtnGrps )
    Local $RadioButtonChecked = False

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

    For $Lc = 0 To $SizeOfRadBtnArr - 1
    If _is_Radio_Button_Of_Group_Checked( $RadBtnGrps, $Lc ) = True Then
    $RadioButtonChecked = True
    Else
    $RadioButtonChecked = False
    ExitLoop
    EndIf
    Next

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

    Return $RadioButtonChecked
    EndFunc

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

    ;
    ; Prüft ob innerhalb einer RadioButton Gruppe ein Radio Button gestzt ist.
    ;
    Func _is_Radio_Button_Of_Group_Checked( $RadioButtonArray, $GroupNr )
    Local $SizeOfArray = UBound( $RadioButtonArray, 2 )
    Local $RadioButtonChecked = False

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

    For $Lc = 0 To $SizeOfArray - 1
    If GUICtrlRead( $RadioButtonArray[$GroupNr][$Lc] ) = $GUI_CHECKED Then
    $RadioButtonChecked = True
    ExitLoop
    EndIf
    Next

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

    Return $RadioButtonChecked
    EndFunc

    [/autoit]
  • Gui State / Flackernde Controls

    • Photon
    • 6. November 2013 um 12:38

    Ein Problem könnte sein, dass du annimmst das die PID immer gleich 1 ist.
    Die PID allerdings ändert sich mit jedem Start des Programms. In der Regel.

  • Pflichtfelder (Radio Button, Edit Feld) vor dem Absenden des Formulars auf Inhalt prüfen

    • Photon
    • 6. November 2013 um 12:25

    Schau dir mal GUICtrlRead an und für eine Tabelle mit Variablen für den Status eines Controls GUICtrlSetState.
    Du musst wohl jedes Control einzeln prüfen wie dessen Status ist.
    Für die RadioButtons würde ich am besten pro Gruppe deren Handle/Identifizierer in ein Array speichern. Somit kannst du mittels einer
    Schleife den Status prüfen und musst nicht für jeden Radio Button eine If-Abfrage erstellen.

    Und bei den Editboxen einfach den Inhalt prüfen ob leer oder/und ob min. Anz. an Zeichen erreicht. Auch wieder denkbar mit einem Array.

    Edit:
    Was ich noch erwähnen wollte, wenn ich dein Programm starte dann geht die GUI über meinen unteren Bildschirmrand. Ich sehe nur noch den Pfeil nach unten des Scrollbalkens von den letzten beiden Editboxen (3,6).
    Den Knopf "Formular Absenden" sehe ich somit nichtmehr.
    Meine Auflösung ist 1366x768.

  • Backup Lösung mit AutoIt

    • Photon
    • 4. November 2013 um 14:57

    Aus der Hilfe zu Run:

    After running the requested program the script continues. To pause execution of
    the script until the spawned program has finished use the RunWait function
    instead.

    Solltest dir also mal RunWait anschauen.

  • Multithreading in autoit

    • Photon
    • 1. November 2013 um 15:38

    AutoIt - echtes Multithreading!

  • Laustärke einzelner Audiogeräte

    • Photon
    • 1. November 2013 um 14:58
    Zitat von Moldevort

    mit "setsysvolume 0 Lautsprecher" wird trotzdem der Line1 geregelt.
    mit "setsubunitvolumedb Lautsprecher Wave 0" passiert nichts


    Aus der Hilfe von NirCmd:

    setdefaultsounddevice "Line In"
    setdefaultsounddevice "Microphone" 2

    setsubunitvolumedb "Speakers" "Line In" -25
    setsubunitvolumedb "Speakers" "Microphone" -10

    Jetzt noch das nircmd davor setzten und nochmal probieren.
    Also z.B.:
    nircmd setsubunitvolumedb "Speakers" "Microphone" -10

  • Laustärke einzelner Audiogeräte

    • Photon
    • 31. Oktober 2013 um 19:57

    Du könntest das Control, in dem Fall die Schieberegler deren Wert du ändern möchtest, über ControlSend ansprechen. Das Problem ist aber das richtige Control erst mal zu finden.
    Denn man muss davon ausgehen das z.B. der Lautstärkeregler(Control) der Klinke nicht immer die selbe Instanznummer hat. [CLASS:msctls_trackbar32; INSTANCE:1] (Instanznummer) (Ausgelesen mit dem Au3Info Tool)
    Auslesen der aktuellen Werte der Lautstärkeregler kannst du mit folgendem Codeschnipsel von Bugfix:
    http://pastebin.com/PXTdVg2A

    Beachten musst du das die Ausgabe des Codeschnipsels genau das Gegenteil ist was der Regler anzeigt. Will heißen, steht der Lautstärkeregler in Windows auf 60 gibt der Codeschnipsel 40 zurück.

    Eine weitere Möglichkeit wäre noch mittels der Winapi die Lautstärkeeinstellung zu manipulieren.
    Ich vermute mal das hier etwas dabei sein könnte: http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx
    Befasst habe ich mich damit noch nicht.

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™