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

Beiträge von nuts

  • While , IF Problem

    • nuts
    • 30. Juli 2009 um 14:41

    Dann mach nach jeder folgenden Codezeile eine Msgbox rein. 8)

  • Was mach ich falsch? (IniRead)

    • nuts
    • 30. Juli 2009 um 14:33

    Hehe ja der Pfad zu deiner .ini muss natürlich stimmen. :D

  • Was mach ich falsch? (IniRead)

    • nuts
    • 30. Juli 2009 um 14:18
    Zitat von Charlie
    Spoiler anzeigen
    [autoit]

    $Zufall = Random(1,3,1)
    $Frage1 = IniRead("C:\Dokumente und Einstellungen\Charlie\Desktop\Fragen\" & $Zufall & ".ini", "Frage","Frage", "ng")

    [/autoit]


    So müsste es gehen.

  • While , IF Problem

    • nuts
    • 30. Juli 2009 um 13:56

    Vielleicht dauert das auch nur sehr lange?
    _Reg() wird ja erst aufgerufen wenn alle angepingt wurden (_Pingall() )?

  • While , IF Problem

    • nuts
    • 30. Juli 2009 um 13:38

    Dann "springt" die Funktion auch an. Nur das Ergebnis ist wohl anders als erwartet.
    Bau einfach in jeder Abzweigung eine msgbox (mit eindeutiger Bezeichnung) ein, somit lässt sich schnell herausfinden wo du in der Funktion gelandet bist.

  • Listview-Datenbank-Beispiel

    • nuts
    • 30. Juli 2009 um 11:42

    Am besten du machst einen Thread auf und postest mal dein umgebautes Listview Skript.

  • Listview-Datenbank-Beispiel

    • nuts
    • 30. Juli 2009 um 00:24

    Ist eigentlich kein Problem fürs Listviewdatenbank-Beispiel.
    Hilft dir

    [autoit]

    _StringAddThousandsSep

    [/autoit]

    ?
    Ansonsten müsste man das wohl selbst nachbauen.

  • WM_Command - Message beim Verlieren des Fokus abfangen.

    • nuts
    • 30. Juli 2009 um 00:17

    Aha jetzt kommt Licht ins Dunkel. :thumbup:

    In Zeile 32 & 33 wird dann das Doppelwort getrennt. Die ersten 16 Bits sind das Lowword und die letzten das Highword.
    Naja Zeile 32 ist noch unklar :D aber das muss ich morgen nochmal genauer untersuchen.

  • Weiß nicht wie ich Anfangen soll.

    • nuts
    • 29. Juli 2009 um 23:42

    Suche mal nach Oscars Listviewdatenbank Beispiel. Ist super für das grundlegende Verständnis.

  • WM_Command - Message beim Verlieren des Fokus abfangen.

    • nuts
    • 29. Juli 2009 um 23:38

    Super, danke!

    Zum besseren Verständnis, sonst wirds bei der nächsten Abwandlung wieder nichts.

    Was passiert in Zeile 32 & 33? Dabei wird die abgefeuerte Message in die richtige Form gebracht - nur nach welcher Vorgabe?
    Die verwendbaren Messages EN_KILLFOCUS usw. muss man sich dann fürs entsprechende Control ergoogeln (bzw. man schaut sich die includes an)?

  • Weiß nicht wie ich Anfangen soll.

    • nuts
    • 29. Juli 2009 um 23:23

    Oder einfach ein Listview mit verschiedenen Spalten?
    z.B. Produkt|Einkaufspreis|Nebenkosten|Verkaufspreis

  • WM_Command - Message beim Verlieren des Fokus abfangen.

    • nuts
    • 29. Juli 2009 um 23:14

    Hey,

    hab ein Problem :(

    In einer Eingabemaske, bestehend aus mehreren Input's, soll der Inhalt geprüft werden (Beispiel: Input2 darf nur Zahlen enthalten oder ähnliches).
    Am sinnvollsten wäre es (denke ich mal :S ) sobald der Fokus vom Input genommen wird gleich den Inhalt zu prüfen.

    Laut googel ist die Windows Message WM_Command dafür geeignet, es wird auch eine Message ausgegeben sobald der Fokus geändert wird!
    Leider werden ich aus der Dokumentation nicht schlau, was genau ist die Message für einen Fokus wechsel? Wie kann ich diese Message den einzelen Controls zuweisen?

    Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <EditConstants.au3>
    #include <StructureConstants.au3>
    #include <WinAPI.au3>

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

    $sHeader = "Input1|Input2|Input3"
    Global $hGui = GUICreate("", 400, 400, -1, -1)
    Global $aHeader = StringSplit($sHeader, '|') ; Überschriften-Array
    Global $aNew[$aHeader[0]] ; Array für die Input-IDs
    Global $aInputWidth[$aHeader[0]] = [100, 100, 100] ; hier die Länge (in Pixel) der Inputfelder eintragen
    Global $xPos = 20
    For $i = 1 To $aHeader[0]
    GUICtrlCreateLabel($aHeader[$i], $xPos + 2,200, 110, 20) ; Überschriften-Label erstellen
    GUICtrlSetFont(-1, 8, 400, 0, 'Verdana') ; Schriftgröße und -art der Überschriften festlegen
    $aNew[$i - 1] = GUICtrlCreateInput("", $xPos, 220, $aInputWidth[$i - 1], 20, Default, $WS_EX_STATICEDGE) ; Eingabefelder erstellen
    GUICtrlSetFont(-1, 10, 600, 0, 'Verdana') ; Schriftgröße und -art der Eingabefelder festlegen
    $xPos += $aInputWidth[$i - 1] + 5
    Next

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

    GUISetState(@SW_SHOW, $hGui)
    GUIRegisterMsg($WM_Command ,"WM_COMMAND")

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

    While 1
    $nMsg = GUIGetMsg(1) ; Message-Event holen (1) = erweiterter Modus

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

    Switch $nMsg[0] ; anhand der Control-ID das entsprechende Case aufrufen

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

    #Region Schließen
    Case $GUI_EVENT_CLOSE ; User hat auf das Schließen-Symbol geklickt (bzw. die ESC-Taste gedrückt)
    Switch $nMsg[1] ; erweiterte Abfrage für welches Fenster
    Case $hGui ; User will das Hauptfenster schließen
    exit

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

    EndSwitch

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

    #EndRegion Schließen
    EndSwitch

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

    WEnd

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    MsgBox(1, "", $iwParam)
    EndFunc ;==>WM_COMMAND

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

    ;jedes Input soll, sobald es den Fokus verliert mit einer anderen Funktion überprüft werden.
    Func _Checkinput1()
    ;
    Endfunc
    Func _Checkinput2()
    ;
    Endfunc
    Func _Checkinput3()
    ;
    Endfunc

    [/autoit]

    Wäre super wenn mir dazu auch jemand erklären könnte wo man selbst nachlesen kann wie die verschiedenen Messagecodes zu behandeln sind.

    Gruß nuts

  • Farbige zeilen in ListView

    • nuts
    • 29. Juli 2009 um 14:19

    Was spricht denn gegen GUICtrlCreateListViewItem?

    Irgendwie ist das mit dem Beispiel zur UDF blöd (ist ja auch im Prinzip schon ein Beispiel).
    Wenn ich alles bis auf das Färben der Zeilen rauslösche ists auch nicht viel verständlicher.
    Vielleicht postest du dein Skript und wir versuchen die UDF einzubauen?

  • Farbige zeilen in ListView

    • nuts
    • 29. Juli 2009 um 11:45

    Reicht dir ein Beispiel mit der UDF von Bugfix?

    Spoiler anzeigen
    [autoit]


    #Include <Array.au3>
    #include <FontConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    #region - required declarations for coloring and font
    Global $hFont, $defColLV = 0x000000, $defBkColLV = 0xFFFFFF
    ; Font long = $nHeight, $nWidth[, $nEscape = 0[, $nOrientn = 0[, $fnWeight = $FW_NORMAL[,
    ; $bItalic = False[, $bUnderline = False[, $bStrikeout = False[, $nCharset = $DEFAULT_CHARSET[,
    ; $nOutputPrec = $OUT_DEFAULT_PRECIS[, $nClipPrec = $CLIP_DEFAULT_PRECIS[, $nQuality = $DEFAULT_QUALITY[,
    ; $nPitch = 0[, $szFace = 'Arial']]]]]]]]]]]])]
    ; zur Unterscheidung:
    ; $nHeight mit vorangestelltem '-' bei Font long !!
    ; Font short = $nHeight, $fnWeight, $szFace

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

    Global $aSubItemSet[1][5] = [[-1]] ; [$i][$iItem, $iSubItem, $iBkCol, $iCol, $sFont]
    ;~ wenn [0][0] = -1
    ;~ $aSubItemSet[0][1] = Zeilen abwechselnd, -2 Spalten abwechselnd, -3 Einzelzeile, -4 Einzelspalte
    ;~ $aSubItemSet[0][2] = ungerade Zeile/Spalte Bk-Color oder Bk-Color Einzelzeile/-spalte
    ;~ $aSubItemSet[0][3] = gerade Zeile/Spalte Bk-Color oder Text-Color Einzelzeile/-spalte
    ;~ $aSubItemSet[0][4] = Zeile od. Spalte (bei [0][1]= -3 / -4)
    #endregion

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

    Global $setIndex, $setSubIndex

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

    $GUI = GUICreate("Listview Custom Draw", 400, 440)
    $cListView = GUICtrlCreateListView("", 2, 2, 394, 268, -1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    $hListView = GUICtrlGetHandle($cListView)
    _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
    _GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)
    For $i = 1 To 30
    _GUICtrlListView_AddItem($hListView, "Row" & $i & ": Col 1", $i-1)
    For $j = 1 To 2
    _GUICtrlListView_AddSubItem ($hListView, $i-1, "Row" & $i & ": Col " & $j+1, $j)
    Next
    Next
    GUICtrlCreateLabel('Item', 2, 278, 50, 17)
    GUICtrlCreateLabel('or Row', 2, 290, 50, 17)
    $inItem = GUICtrlCreateInput('10', 50, 280, 25, 20)
    GUICtrlCreateLabel('SubItem', 86, 278, 45, 17)
    GUICtrlCreateLabel('or Column', 86, 290, 50, 17)
    $inSubItem = GUICtrlCreateInput('1', 145, 280, 25, 20)
    GUICtrlCreateLabel('( 0-Index )', 185, 283, 50, 17)
    $btSet = GUICtrlCreateButton('Set', 260, 280, 50, 20)
    $btOff = GUICtrlCreateButton('Off', 340, 280, 50, 20)
    GUICtrlCreateLabel('Bk-Color', 2, 308, 40, 17)
    GUICtrlCreateLabel('or odd', 2, 320, 40, 17)
    $inBkCol = GUICtrlCreateInput('0x3DF8FF', 50, 310, 60, 20)
    GUICtrlCreateLabel('Color', 130, 308, 40, 17)
    GUICtrlCreateLabel('or even', 130, 320, 40, 17)
    $inCol = GUICtrlCreateInput('0xFF0000', 170, 310, 60, 20)
    GUICtrlCreateLabel('Font', 2, 343, 40, 17)
    $inFont = GUICtrlCreateInput('14,700,Courier New', 50, 340, 180, 20)
    GUICtrlCreateGroup(' Spalten od. Zeilen', 240, 315, 150, 120)
    $rRows = GUICtrlCreateRadio('Zeilen wechselnd', 245, 330, 130)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $rCols = GUICtrlCreateRadio('Spalten wechselnd', 245, 350, 130)
    $rOneRow = GUICtrlCreateRadio('Einzelzeile', 245, 370, 130)
    $rOneCol = GUICtrlCreateRadio('Einzelspalte', 245, 390, 130)
    $btSet2 = GUICtrlCreateButton('Set', 250, 412, 50, 18)
    $btOff2 = GUICtrlCreateButton('Off', 330, 412, 50, 18)
    GUICtrlCreateGroup('', -99, -99, 1, 1)
    $lbActiv = GUICtrlCreateLabel('Zeilen-/ Spaltenmodus aktiv', 40, 415, 200)
    GUICtrlSetFont(-1, 10, 400, -1, 'Comic Sans MS')
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState(-1, $GUI_HIDE)

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUISetState()

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

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    ExitLoop
    Case $btSet
    $setIndex = GUICtrlRead($inItem)
    $setSubIndex = GUICtrlRead($inSubItem)
    If ($setIndex <> '' And $setSubIndex <> '') Then _
    _SubItemColSet($setIndex, $setSubIndex, GUICtrlRead($inBkCol), GUICtrlRead($inCol), GUICtrlRead($inFont))
    Case $btOff
    $setIndex = GUICtrlRead($inItem)
    $setSubIndex = GUICtrlRead($inSubItem)
    If ($setIndex <> '' And $setSubIndex <> '') Then _
    _SubItemColOff($setIndex, $setSubIndex)
    Case $btSet2
    If BitAND(GUICtrlRead($rRows), $GUI_CHECKED) Then
    _RowsSetCol(GUICtrlRead($inBkCol), GUICtrlRead($inCol))
    ElseIf BitAND(GUICtrlRead($rCols), $GUI_CHECKED) Then
    _ColumnsSetCol(GUICtrlRead($inBkCol), GUICtrlRead($inCol))
    ElseIf BitAND(GUICtrlRead($rOneRow), $GUI_CHECKED) Then
    _OneRowSetCol(GUICtrlRead($inItem), GUICtrlRead($inBkCol), GUICtrlRead($inCol)) ;die brauch ich
    Else
    _OneColumnSetCol(GUICtrlRead($inSubItem), GUICtrlRead($inBkCol), GUICtrlRead($inCol))
    EndIf
    Case $btOff2
    _ColRowOff()
    EndSwitch
    WEnd
    _WinAPI_DeleteObject($hFont)
    Exit

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

    #region - functions for setting color and font
    Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR
    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView
    Switch $iCode
    Case $NM_CUSTOMDRAW
    If Not _GUICtrlListView_GetViewDetails($hWndFrom) Then Return $GUI_RUNDEFMSG
    Local $tCustDraw = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam)
    Local $iDrawStage, $iItem, $iSubitem, $hDC, $tRect
    $iDrawStage = DllStructGetData($tCustDraw, 'dwDrawStage')
    Switch $iDrawStage
    Case $CDDS_ITEMPREPAINT
    Return $CDRF_NOTIFYSUBITEMDRAW
    Case BitOR($CDDS_ITEMPREPAINT, $CDDS_SUBITEM)
    $iItem = DllStructGetData($tCustDraw, 'dwItemSpec')
    $iSubitem = DllStructGetData($tCustDraw, 'iSubItem')
    _SetItemCol($hDC, $tCustDraw, $iItem, $iSubitem)
    Return $CDRF_NEWFONT
    EndSwitch
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

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

    Func _SetItemCol(ByRef $hDC, ByRef $tCustDraw, $iItem, $iSubitem)
    If $aSubItemSet[0][0] = -1 Then
    If $aSubItemSet[0][1] < 0 Then
    Switch $aSubItemSet[0][1]
    Case -1 ; Zeilen abwechselnd färben
    If Mod($iItem, 2) Then ; ungerade
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aSubItemSet[0][2]))
    Else
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aSubItemSet[0][3]))
    EndIf
    Case -2 ; Spalten abwechselnd färben
    If Mod($iSubItem, 2) Then ; ungerade
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aSubItemSet[0][2]))
    Else
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aSubItemSet[0][3]))
    EndIf
    Case -3 ; einzelne Zeile färben
    If $iItem = $aSubItemSet[0][4] Then
    DllStructSetData($tCustDraw, 'clrText', RGB2BGR($aSubItemSet[0][3]))
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aSubItemSet[0][2]))
    Else
    DllStructSetData($tCustDraw, 'clrText', RGB2BGR($defColLV))
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($defBkColLV))
    EndIf
    Case -4 ; einzelne Spalte färben
    If $iSubItem = $aSubItemSet[0][4] Then
    DllStructSetData($tCustDraw, 'clrText', RGB2BGR($aSubItemSet[0][3]))
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aSubItemSet[0][2]))
    Else
    DllStructSetData($tCustDraw, 'clrText', RGB2BGR($defColLV))
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($defBkColLV))
    EndIf
    Case Else
    Return
    EndSwitch
    $hDC = DllStructGetData($tCustDraw, 'hdc')
    $hFont = _WinAPI_CreateFont(14,0,0,0,$FW_NORMAL,False,False,False,$DEFAULT_CHARSET,$OUT_DEFAULT_PRECIS, _
    $CLIP_DEFAULT_PRECIS,$DEFAULT_QUALITY,0,'Arial')
    _WinAPI_SelectObject($hDC, $hFont)
    EndIf
    Else
    Local $indx, $aIndex = _ArrayFindAll($aSubItemSet, $iItem)
    If @error Then Return
    For $i = 0 To UBound($aIndex) -1
    If $aSubItemSet[$aIndex[$i]][1] = $iSubitem Then
    $indx = $aIndex[$i]
    ExitLoop
    EndIf
    Next
    Local $aDefFont[14] = [14,0,0,0,$FW_NORMAL,False,False,False, _
    $DEFAULT_CHARSET,$OUT_DEFAULT_PRECIS,$CLIP_DEFAULT_PRECIS,$DEFAULT_QUALITY,0,'Arial']
    Local $splitFont = StringSplit($aSubItemSet[$indx][4], ',')
    If StringLeft($splitFont[1], 1) <> '-' Then ; alternativer FontString?
    $aDefFont[0] = $splitFont[1]
    $aDefFont[4] = $splitFont[2]
    $aDefFont[13] = $splitFont[3]
    Else
    For $i = 1 To UBound($splitFont) -1
    If $i = 1 Then
    $aDefFont[0] = StringTrimLeft($splitFont[1], 1)
    Else
    $aDefFont[$i-1] = $splitFont[$i]
    EndIf
    Next
    EndIf
    If ($aSubItemSet[$indx][0] = $iItem) And ($aSubItemSet[$indx][1] = $iSubitem) Then
    $hDC = DllStructGetData($tCustDraw, 'hdc')
    DllStructSetData($tCustDraw, 'clrText', RGB2BGR($aSubItemSet[$indx][3]))
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aSubItemSet[$indx][2]))
    $hFont = _WinAPI_CreateFont($aDefFont[0],$aDefFont[1],$aDefFont[2],$aDefFont[3],$aDefFont[4],$aDefFont[5],$aDefFont[6], _
    $aDefFont[7],$aDefFont[8],$aDefFont[9],$aDefFont[10],$aDefFont[11],$aDefFont[12],$aDefFont[13])
    _WinAPI_SelectObject($hDC, $hFont)
    Else
    $hDC = DllStructGetData($tCustDraw, 'hdc')
    DllStructSetData($tCustDraw, 'clrText', RGB2BGR($defColLV))
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($defBkColLV))
    $hFont = _WinAPI_CreateFont(14,0,0,0,$FW_NORMAL,False,False,False,$DEFAULT_CHARSET,$OUT_DEFAULT_PRECIS, _
    $CLIP_DEFAULT_PRECIS,$DEFAULT_QUALITY,0,'Arial')
    _WinAPI_SelectObject($hDC, $hFont)
    EndIf
    EndIf
    EndFunc ;==>_SetItemCol

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

    Func RGB2BGR($iColor)
    Local $sH = Hex($iColor,6)
    Return '0x' & StringRight($sH, 2) & StringMid($sH,3,2) & StringLeft($sH, 2)
    EndFunc

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

    Func _SubItemColSet($iItem, $iSubItem, $iBkCol=-1, $iCol=-1, $sFont='-14,0,0,0,400,False,False,False,1,0,0,0,0,Arial')
    Local $Bk, $Col
    If $iBkCol = -1 Then $iBkCol = $defBkColLV
    If $iCol = -1 Then $iCol = $defColLV
    If $aSubItemSet[0][0] <> -1 Then ReDim $aSubItemSet[UBound($aSubItemSet)+1][5]
    $aSubItemSet[UBound($aSubItemSet)-1][0] = $iItem
    $aSubItemSet[UBound($aSubItemSet)-1][1] = $iSubItem
    $aSubItemSet[UBound($aSubItemSet)-1][2] = $iBkCol
    $aSubItemSet[UBound($aSubItemSet)-1][3] = $iCol
    $aSubItemSet[UBound($aSubItemSet)-1][4] = $sFont
    _WinAPI_InvalidateRect($hListView)
    EndFunc ;==>_SubItemColSet

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

    Func _SubItemColOff($iItem, $iSubItem)
    Local $indx, $aIndex = _ArrayFindAll($aSubItemSet, $iItem)
    If @error Then Return
    For $i = 0 To UBound($aIndex) -1
    If $aSubItemSet[$aIndex[$i]][1] = $iSubitem Then
    $indx = $aIndex[$i]
    ExitLoop
    EndIf
    Next
    If UBound($aSubItemSet) > 1 Then
    _ArrayDelete($aSubItemSet, $indx)
    Else
    $aSubItemSet[0][0] = -1
    $aSubItemSet[0][1] = 0
    $aSubItemSet[0][2] = 0
    $aSubItemSet[0][3] = 0
    $aSubItemSet[0][4] = 0
    EndIf
    _WinAPI_InvalidateRect($hListView)
    EndFunc ;==>_SubItemColOff

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

    Func _OneColumnSetCol($iIndex, $iBkCol=-1, $iCol=-1)
    If $iBkCol = -1 Then $iBkCol = $defBkColLV
    If $iCol = -1 Then $iCol = $defColLV
    $aSubItemSet[0][0] = -1
    $aSubItemSet[0][1] = -4
    $aSubItemSet[0][2] = $iBkCol
    $aSubItemSet[0][3] = $iCol
    $aSubItemSet[0][4] = $iIndex
    _WinAPI_InvalidateRect($hListView)
    EndFunc

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

    Func _OneRowSetCol($iIndex, $iBkCol=-1, $iCol=-1) ;die brauch ich
    If $iBkCol = -1 Then $iBkCol = $defBkColLV
    If $iCol = -1 Then $iCol = $defColLV
    $aSubItemSet[0][0] = -1
    $aSubItemSet[0][1] = -3
    $aSubItemSet[0][2] = $iBkCol
    $aSubItemSet[0][3] = $iCol
    $aSubItemSet[0][4] = $iIndex
    _WinAPI_InvalidateRect($hListView)
    EndFunc

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

    Func _ColumnsSetCol($iOddCol=-1, $iEvenCol=-1)
    If $iOddCol = -1 Then $iOddCol = $defBkColLV
    If $iEvenCol = -1 Then $iEvenCol = $defColLV
    $aSubItemSet[0][0] = -1
    $aSubItemSet[0][1] = -2
    $aSubItemSet[0][2] = $iOddCol
    $aSubItemSet[0][3] = $iEvenCol
    _WinAPI_InvalidateRect($hListView)
    EndFunc

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

    Func _RowsSetCol($iOddCol=-1, $iEvenCol=-1)
    If $iOddCol = -1 Then $iOddCol = $defBkColLV
    If $iEvenCol = -1 Then $iEvenCol = $defColLV
    $aSubItemSet[0][0] = -1
    $aSubItemSet[0][1] = -1
    $aSubItemSet[0][2] = $iOddCol
    $aSubItemSet[0][3] = $iEvenCol
    _WinAPI_InvalidateRect($hListView)
    EndFunc

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

    Func _ColRowOff()
    $aSubItemSet[0][0] = -1
    $aSubItemSet[0][1] = 0
    $aSubItemSet[0][2] = 0
    $aSubItemSet[0][3] = 0
    $aSubItemSet[0][4] = 0
    _WinAPI_InvalidateRect($hListView)
    EndFunc
    #endregion

    [/autoit]


    Diese hier meinst du oder? Vielleicht könnten wir das Problem noch etwas eingrenzen?

  • StdoutRead Problem

    • nuts
    • 29. Juli 2009 um 11:14

    In Zeile 7 wird ja auch nur "is alive" abgefragt.
    Nach diesem Beispiel können aber auch die anderen Meldungen abgefangen werden.

  • StdoutRead Problem

    • nuts
    • 29. Juli 2009 um 10:59

    Funktioniert bei mir, liegt vielleicht an der Pfadangabe der Run Funktion?

  • Anpinnen von variablen Seitenleisten

    • nuts
    • 28. Juli 2009 um 21:16

    Ist echt cool.

    Hab die _Show() Funktion etwas angepasst:

    Spoiler anzeigen
    [autoit]


    Func _show()
    Local $ID = @GUI_CtrlId

    For $i = 0 To UBound($aChild) -1
    If ($aLbl[$i] <> $ID) And (WinGetState($aChild[$i]) > 5) Then
    $closehWnd = WinGetHandle($aChild[$i])
    _hide()
    EndIf
    Next
    For $i = 0 To UBound($aChild) -1
    If ($aLbl[$i] = $ID) And (WinGetState($aChild[$i]) > 5) Then
    $closehWnd = WinGetHandle($aChild[$i])
    Return _hide()
    EndIf
    Next
    For $i = 0 To UBound($aLbl) -1
    If $aLbl[$i] = $ID Then _slideIn(WinGetHandle($aChild[$i]))
    Next

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

    EndFunc

    [/autoit]
  • sleep local

    • nuts
    • 28. Juli 2009 um 16:21
    [autoit]

    AdlibEnable

    [/autoit]

    lässt sich je nachdem verwenden.
    Habs leider immernoch nicht verstanden. ?(

  • sleep local

    • nuts
    • 28. Juli 2009 um 16:03

    Mehrere Sachen gleichzeitig zu machen ist mit Autoit eigentlich nicht möglich.
    Mit AdlibEnable lässt sich vielleicht aber etwas vergleichbares erreichen? Sorry hab das Problem noch nicht verstanden, das Skript wird einfach Zeile für Zeile ausgeführt.

    Spoiler anzeigen
    [autoit]


    #include <Sound.au3>
    WinWaitActive ("Unbenannt - Editor")
    Local $sleepy = Sleep (10000) ;hier schläft das skript
    While 1 ;hier gehts in eine endlosschleife
    _testfunc1() ;funktion1 wird aufgerufen
    _testfunc2() ;nachdem funktion1 beendet ist wird funktion2 ausgerufen
    Sleep(100)
    WEnd
    ; die erste func
    Func _testfunc1()
    $1=1
    $2=1
    $3=1
    $test=1
    $test2=1
    $test3=0
    If $1 =$test AND ($2 = $test2 or $3 = $test3) then
    Send ("Ich bin nicht da")
    Sleep(10000) ; jetzt schläft es wieder
    EndIf
    EndFunc ;erst jetzt geht es wieder in die while wend schleife ud somit in funktion2

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

    Func _testfunc2()
    $1=1
    $2=1
    $3=1
    $test=1
    $test2=1
    $test3=0
    If $1 =$test AND ($2 = $test2 or $3 = $test3) then
    Send ("doch bist du")
    Sleep(5000) ; hier soll es aber weiterlaufen auch wenn oben 10sekunden sleep vorhanden ist
    EndIf
    EndFunc ;zurück zur while wend schleife

    [/autoit]
  • sleep local

    • nuts
    • 28. Juli 2009 um 15:44
    Zitat von Mc.Neal
    [autoit]


    #include <Sound.au3>
    WinWaitActive ("Unbenannt - Editor")
    Local $sleepy = Sleep (10000) ; ???
    While 1
    _testfunc()
    _testfunc2()
    Sleep(100)
    WEnd
    Func _testfunc2()
    $1=1
    $2=1
    $3=1
    $test=1
    $test2=1
    $test3=0
    If $1 =$test AND ($2 = $test2 or $3 = $test3) then
    Send ("Test men")
    EndIf

    Func _testfunc()
    While Hex(PixelGetColor(242,97),6) = "9CD2DF"
    $sound = _SoundOpen("bla.wav")
    _SoundPlay($sound)
    While _SoundStatus($sound) = "playing"
    sleep($sleepy) ;Was soll das? :D
    ;Wieviele Sekunden soll das Skript an dieser Stelle pausieren?
    WEnd
    WEnd
    EndFunc

    [/autoit]
    Alles anzeigen

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™