BitAnd Problem - ich verstehs nicht..

  • Hey@all
    Also ich habe mir viele bsps. für den BitAnd angeguckt habe aber immer noch nicht herausgefunden wo hier der Fehler liegt:

    Spoiler anzeigen
    [autoit]


    $win="Unbenannt - Paint"
    $temp=WinGetState($win)
    If @error Then
    MsgBox(0,$titel&" - Status","Das Fenster wurde nicht gefunden.")
    Else
    $status=""
    If BitAnd($status, 1) Then
    $status&=@CRLF&"Fenster existiert."
    MsgBox(0,$titel&" - Status","Das Fenster wurde nicht gefunden.")
    Else
    If BitAND($status,2) Then
    $status&=@CRLF&"Fenster ist sichtbar."
    MsgBox(0,0,2)
    ElseIf BitAND($status,4) Then
    $status&=@CRLF&"Fenster ist freigegeben."
    MsgBox(0,0,4)
    ElseIf BitAND($status,8) Then
    $status&=@CRLF&"Fenster ist aktiv."
    MsgBox(0,0,8)
    ElseIf BitAnd($status, 16) Then
    $status&=@CRLF&"Fenster ist minimiert."
    MsgBox(0,0,16)
    ElseIf BitAnd($status, 32) Then
    $status&=@CRLF&"Fenster ist maximiert."
    MsgBox(0,0,32)
    EndIf
    MsgBox(0,$titel&" - Status","Folgende Eigenschaften treffen auf das Fenster zu:"&$status)

    [/autoit]


    Mir wird follgendes ausgegeben:"Folgende Eigenschaften treffen auf das Fenster zu:" (dh. ohne @crlf; $status="")
    Thx4Help

    Nur keine Hektik - das Leben ist stressig genug

    Einmal editiert, zuletzt von Antispeed (16. Juli 2010 um 16:01)

    • Offizieller Beitrag

    Und die ganzen If-Abfragen sind falsch. So passt es schon eher:

    Spoiler anzeigen
    [autoit]


    $titel = ''
    $win = "Unbenannt - Paint"
    $temp = WinGetState($win)
    If @error Then
    MsgBox(0, $titel & " - Status", "Das Fenster wurde nicht gefunden.")
    Else
    $status = ""
    If BitAND($temp, 1) Then $status &= @CRLF & "Fenster existiert."
    If BitAND($temp, 2) Then $status &= @CRLF & "Fenster ist sichtbar."
    If BitAND($temp, 4) Then $status &= @CRLF & "Fenster ist freigegeben."
    If BitAND($temp, 8) Then $status &= @CRLF & "Fenster ist aktiv."
    If BitAND($temp, 16) Then $status &= @CRLF & "Fenster ist minimiert."
    If BitAND($temp, 32) Then $status &= @CRLF & "Fenster ist maximiert."
    EndIf
    MsgBox(0, $titel & " - Status", "Folgende Eigenschaften treffen auf das Fenster zu:" & $status)

    [/autoit]