Beiträge von NewProgger

    autoBert, Dich mögen bestimmt ganz viele Menschen oder ? kleiner Stinkstiefel ! wie ich bereits schrieb möchte ich keine Radiobutton. Wenn es Dir nicht passt was ich möchte ja dann lies doch meinen Post nicht geschweige denn schreib hier rein!


    Oder hast DU meine Posts nicht gelesen ?

    was wäre denn die bessere Lösung?


    die Var 1-21 stammen aus abfragen ob Checkboxen gechecked sind oder nicht.
    das heisst eine Var enthält entweder "ok" oder "Fehler: zum Thema xy wurden keine Angaben gemacht"


    wenn nun PflichtCheckboxen nicht ausgefüllt worden sind sollen diese aufgelistet werden welche es sind und dann Return zur GUI
    wenn alle auf OK stehen soll eine weiter Funktion ausgeführt werden. ( die beinhaltet den Datenimport in Excel etc.)


    es ist halt eine Fehlerabfrage.

    leider doch noch nicht fertig :thumbdown:


    Auch wenn keine Fehler mehr da sind geht er unten nicht in den else zweig...
    ich habe es schon mit isArray versucht und mit in einer schleife prüfen ob leere Felder da sind und dann mit arraydelet löschen lassen, hat alles nichts gebracht.


    kann mir das jemand erklären ?

    Habe es selber hin bekommen :thumbup: so funktioniert es wie ich will.


    Danke für die Tipps, ohne die hätte es noch länger gedauert.


    Damit bekomme ich zumindest schon mal die angezeigt das Felder nicht ausgefüllt wurden, aber die Ausgabe ist logischweise "fe" da Stringleft...
    wie bekomme ich das denn nun hin das der ganze Text aus der Variable angezeigt wird ? auch an der richtigen pos. im array ? (nicht das Apfel fehlt und Banane angezeigt wird :D )

    kappiert. Ich würd es einfach so machen


    Ich hoffe mal ich hab es jetzt kappiert. Ich würd es einfach so machen :thumbsup::rolleyes:


    AutoIt
    $sUnchecked = "Es sind folgende Fehler aufgetreten:"
    For $i = 1 To 21
    If Eval($i) = "fehler" Then
    $sUnchecked &= @CRLF & "Fehler in $" & $i & ","
    EndIf
    Next
    If $sUnchecked <> "Es sind folgende Fehler aufgetreten:" Then
    MsgBox(0, "Fehler aufgetreten", StringTrimRight($sUnchecked, 1) & ".")
    EndIf


    also das funktioniert schon mal :thumbsup:


    Fragen: (Verständnis Probleme)
    warum wird hier nicht der Inhalt von $i ausgegeben sondern die Nummer der Variable ?


    Code
    $sUnchecked &= @CRLF & "Fehler in $" & $i & ","

    angenommen $1 würde so aussehen $1 = "Fehler, es wurde bei Feld 5 kein Wert gesetzt"


    wie kann ich in dem Array trotzdem nach dem Wort Fehler sortieren und den Teil nach dem "," ausgeben ?


    geht das iwie mit StringLeft ?

    Code
    If StringLeft($i,6) = "fehler" Then # so scheinbar nicht

    Sorry das ich mich nicht so klar ausdrücken konnte,


    viel einfacher:
    Das Ganze läuft schon, die GUI nebst Checkboxen etc. ist bereits erstellt, alles was ich brauche ist der weg wie ich aus den 21 Variablen nach dem wort fehler suchen kann und diese entsprechend ausgeben kann.


    in $1 steht das Ergebnis zu der folgenden Abfrage


    Code
    Case GUICtrlRead(44) = 1
    _check1("ok")
    Case Else
    _check1("fehler")

    ich will die 21 Variablen nur ausgewertet haben.


    - Array auswerten
    - msgbox ausgabe "es sind die folgenden Fehler aufgetreten


    msgbox
    - Fehler aus zum Beispiel $3
    - Fehler aus zum Beispiel $8
    - Fehler aus zum Beispiel $15


    etc.


    ich hoffe das bringt klarheit ?


    Danke und Gruß


    Flo

    Das sind abfragen aus einem Formular (GUI) ob Checkboxen aktiviert sind. (Pflichtfelder) und die die nicht gewählt worden sind sollen später angezeigt werden.
    Nach dem Motto Sie haben zu X, Y, Z keine Angaben gemacht...


    Der Quellcode enthält teils brisante Daten, deshalb möchte ich den hier nicht Posten.


    kurzfassung ist:


    Hallo zusammen,


    könnte mir bitte jemand helfen ?
    folgendes habe ich vor:


    Ich habe an eine Funktion 21 Parameter übergeben die entweder "ok" oder "fehler" beinhalten.
    jetzt möchte ich die, die "fehler" enthalten rausfiltern und in eine msgbox mit @CRLF ausgeben. Das Filtern habe ich schon per _Arrayfindall versucht, das hat auch geklappt aber eben nur über arraydisplay.


    Ich bin mit Array's nicht so gut habe meist die komplexere variante genommen aber jetzt hört der Spaß langsam auf. ;(
    Der Weg ist mir halbwegs klar Array erstellen, sortieren, etc.. aber an der Ausführung hapert es.


    Code
    local $array[] = [$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21]


    Danke im voraus
    Flo

    Scheiß auf das Layout, die Funktionalität zählt und mit deinem (für dich) Superlayout kommen nur dumme Fragen, denn

    Checkbox=Mehfachauswahl möglich, Radio=nur eine Antwort möglich. Man sollte Windowscontrols so verwenden wie sie vorgesehen sind, alles andere verunsichert nur den Anwender.

    ???




    Tweaky's antwort hat genau das Problem gelöst. Es geht jetzt lediglich um "Fine tuning" die "Funktionalität" ist auf jeden Fall gegeben.

    Danke erstmal für Deine Hilfe, dass hat mir SEHR geholfen :)


    Das ganze gedöns soll nachher in Excel exportiert werden, das vorgehen ist auch soweit klar.


    Im folgenden schreibe ich die ControlID die gechecked ist in eine Variable damit ich nicht jede Checkbox abfragen muss.
    Nun ist es aber so, dass wenn ich die Box checke und wieder unchecke bleibt in der $status die ID von der zuvor gecheckten.


    Code
    Func _Status_din()
    For $i = 1 To UBound($din) - 1
    If $din[$i] <> @GUI_CtrlId Then GUICtrlSetState($din[$i], $GUI_UNCHECKED)
    if $din[$i] == @GUI_CtrlId Then $status = $din[$i]
    Next
    EndFunc

    hast Du evtl. dafür eine Lösung ?

    ist ist super, da ich aber mehrere Kategorien habe, wäre das hier eine gute Lösung oder wäre das zu cpu lastig ?



    das nächste wäre dann halt cCheckox usw.

    Ich erkläre mal kurz was ich vor habe damit es verständlicher wird.
    Ich bilde ein Formular ab (eine Art Fragebogen) d.h. eine GUI mit inputs edit Feldern und vielen Checkboxen.


    Bei einigen Themen ist es möglich eine Mehrfachauswahl zu treffen, bei anderen nicht. Damit das Layout gleich bleibt will ich nicht Radio und Checkboxen vermischen. Deshalb die Frage wie ich ein Radiobutton verhalten mit Checkboxen hin bekomme.
    Am Ende wird das ganze dann nach Excel exportiert.

    Hallo zusammen,


    das ist bestimmt mal wieder ganz simpel zu lösen aber ich habe derzeit leider keine Idee und finde auch im Netz nicht das richtige...


    Also ich habe 9 Checkboxen und es darf immer nur eine aktiv sein. Sobald man eine Box klickt muss der Haken aus der anderen verschwinden.
    Hier mein erster Ansatz, der ist aber nicht sehr schön da man nur von unten nach oben frei wählen kann. Andersrum sind alle Boxen gesperrt und man muss erst die oberste "frei" klicken.



    da hat doch bestimmt jemand eine bessere Lösung oder ?


    vielen Dank im voraus


    Flo

    Hallo,


    ich habe das Problem das in einer Function mit WinWaitActiv der timeout ja error 0 ausgeben soll wenn er in diesen läuft.
    nun habe ich danach ein Return eingebaut wenn der timeout greift, aber das Funktioniert nicht weil error immer auf 0 steht...


    selbst wenn ich am anfang der Function seterror auf 1 oder was auch immer stelle geht er in der nächsten zeile gleich wieder auf 0


    Warum ? wie kann ich das Problem lösen ? nehme ich die if @error abfrage raus dann läuft es durch.




    Func close()
    SetError(1)


    ConsoleWrite("Errorcode1 " & @error & @CRLF) <----- error 1


    _au3recordsetup()
    _ffconnect()
    If _ffisconnected() Then
    $url = _fftabgetselected("label")
    $ff = $url & " - Mozilla Firefox"
    EndIf
    WinSetState($ff, "", @SW_MAXIMIZE)
    Send("{HOME}")


    ConsoleWrite("Errorcode2 " & @error & @CRLF) <---- error 0


    WinWaitActive($ff, "", 3)


    ConsoleWrite("Errorcode3 " & @error & @CRLF) <---- error 0


    if @error = 0 then Return


    ConsoleWrite("Errorcode4 " & @error & @CRLF) <---- error 0


    $ff1 = StringLeft($url, 16)
    MouseClick("left", 1173, 289, 1)
    WinWaitActive($ff1 & " - Schließen - Ticket - OTRS ITSM 3.2.9 - Mozilla Firefox", "", 3)
    if @error=0 then Return
    MouseClick("left", 309, 300, 1)
    Send(".")
    MouseClick("left", 321, 472, 1)
    MouseClick("left", 305, 525, 1)
    MouseClick("left", 519, 568, 1)
    EndFunc