Listview-Itemfärben

  • Hallo,
    ich habe mal ein Skript gemacht,wo man Name Ort etc. einfügt ..klappt auch alles.
    Aber
    ich möchte eine suchfunktion in den skript einfügen und bei erfolg soll der das item in der listview färben. (oder falls das geht rausfiltern)
    Code:

    [autoit]

    #include
    #include
    #include
    #include
    #include
    #include
    #include

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

    $frmMain = GUICreate("Datenbank", 738, 383, 494, 302)
    $Label1 = GUICtrlCreateLabel("Suchen:", 16, 16, 51, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $txtSuchen = GUICtrlCreateInput("", 88, 16, 553, 21)
    GUICtrlSetBkColor(-1, 0x9DB9EB)
    GUICtrlSetCursor (-1, 2)
    $ListView1 = GUICtrlCreateListView("Vorname:|Nachname:|Straße:|Hausnumer:|Plz:|Ort:|Telefon:", 16, 48, 705, 297)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 6, 100)
    $cmdSuchen = GUICtrlCreateButton("Suchen", 648, 16, 75, 25, $WS_GROUP)
    $cmdHinzu = GUICtrlCreateButton("Hinzufügen", 24, 352, 123, 25, $WS_GROUP)
    $cmdEdit= GUICtrlCreateButton("Editieren", 176, 352, 123, 25, $WS_GROUP)
    $cmdSave = GUICtrlCreateButton("Speichern", 328, 352, 123, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    $frmAdd = GUICreate("Hinzufügen", 449, 160, 596, 326)
    $Label1 = GUICtrlCreateLabel("Vorname:", 8, 8, 49, 17)
    $txtVorname = GUICtrlCreateInput("", 64, 8, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label2 = GUICtrlCreateLabel("Nachname:", 224, 8, 59, 17)
    $txtNachname = GUICtrlCreateInput("", 304, 8, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label3 = GUICtrlCreateLabel("Straße:", 16, 48, 38, 17)
    $txtStrasse = GUICtrlCreateInput("", 64, 48, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label4 = GUICtrlCreateLabel("Hausnummer:", 216, 48, 69, 17)
    $txtHausnummer = GUICtrlCreateInput("", 304, 48, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label5 = GUICtrlCreateLabel("PLZ:", 24, 88, 27, 17)
    $txtPLZ = GUICtrlCreateInput("", 64, 88, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label6 = GUICtrlCreateLabel("Ort:", 264, 88, 21, 17)
    $txtOrt = GUICtrlCreateInput("", 304, 88, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label7 = GUICtrlCreateLabel("Tele.:", 24, 128, 31, 17)
    $txtTele = GUICtrlCreateInput("", 64, 128, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $cmdHinzu2 = GUICtrlCreateButton("Hinzufügen", 352, 128, 75, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)

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

    $irs = IniReadSection("Datenbank.ini","Datenbank")
    If Not @error Then
    For $i = 0 To $irs[0][0]-1
    $read = IniRead("Datenbank.ini","Datenbank",$i,'')
    If $read <> '' Then GUICtrlCreateListViewItem($read,$ListView1)
    Next
    EndIf

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdHinzu
    GUISetState(@SW_SHOW,$frmAdd)
    Case $cmdHinzu2
    $lvtext = GUICtrlRead($txtVorname) & "|" & GUICtrlRead($txtNachname) & "|" & GUICtrlRead($txtStrasse) & "|" & GUICtrlRead($txtHausnummer) & "|" & GUICtrlRead($txtPLZ)& "|" &GUICtrlRead($txtOrt)& "|" & GUICtrlRead($txtTele)
    GUICtrlCreateListViewItem($lvtext, $ListView1)
    GUISetState(@SW_HIDE,$frmAdd)
    Case $cmdSave
    $irs = IniReadSection("Datenbank.ini","Datenbank")
    If @error Then
    Dim $irs[1][1]
    $irs[0][0] = 0
    EndIf
    IniWrite("Datenbank.ini","Datenbank",$irs[0][0],$lvtext)
    Case $cmdSuchen

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

    Case $txtOrt
    EndSwitch
    WEnd

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

    Einmal editiert, zuletzt von MysticSun (20. Mai 2010 um 14:04)

  • Meinst du so?

    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

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

    $frmMain = GUICreate("Datenbank", 738, 383, 494, 302)
    $Label1 = GUICtrlCreateLabel("Suchen:", 16, 16, 51, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $txtSuchen = GUICtrlCreateInput("", 88, 16, 553, 21)
    GUICtrlSetBkColor(-1, 0x9DB9EB)
    GUICtrlSetCursor(-1, 2)
    $ListView1 = GUICtrlCreateListView("Vorname:|Nachname:|Straße:|Hausnumer:|Plz:|Ort:|Telefon:", 16, 48, 705, 297)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 6, 100)
    $cmdSuchen = GUICtrlCreateButton("Suchen", 648, 16, 75, 25, $WS_GROUP)
    $cmdHinzu = GUICtrlCreateButton("Hinzufügen", 24, 352, 123, 25, $WS_GROUP)
    $cmdEdit = GUICtrlCreateButton("Editieren", 176, 352, 123, 25, $WS_GROUP)
    $cmdSave = GUICtrlCreateButton("Speichern", 328, 352, 123, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    $frmAdd = GUICreate("Hinzufügen", 449, 160, 596, 326)
    $Label1 = GUICtrlCreateLabel("Vorname:", 8, 8, 49, 17)
    $txtVorname = GUICtrlCreateInput("", 64, 8, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label2 = GUICtrlCreateLabel("Nachname:", 224, 8, 59, 17)
    $txtNachname = GUICtrlCreateInput("", 304, 8, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label3 = GUICtrlCreateLabel("Straße:", 16, 48, 38, 17)
    $txtStrasse = GUICtrlCreateInput("", 64, 48, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label4 = GUICtrlCreateLabel("Hausnummer:", 216, 48, 69, 17)
    $txtHausnummer = GUICtrlCreateInput("", 304, 48, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label5 = GUICtrlCreateLabel("PLZ:", 24, 88, 27, 17)
    $txtPLZ = GUICtrlCreateInput("", 64, 88, 121, 21, BitOR($ES_AUTOHSCROLL, $ES_NUMBER))
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label6 = GUICtrlCreateLabel("Ort:", 264, 88, 21, 17)
    $txtOrt = GUICtrlCreateInput("", 304, 88, 121, 21)
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $Label7 = GUICtrlCreateLabel("Tele.:", 24, 128, 31, 17)
    $txtTele = GUICtrlCreateInput("", 64, 128, 121, 21, BitOR($ES_AUTOHSCROLL, $ES_NUMBER))
    GUICtrlSetBkColor(-1, 0xA6CAF0)
    $cmdHinzu2 = GUICtrlCreateButton("Hinzufügen", 352, 128, 75, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)

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

    $irs = IniReadSection("Datenbank.ini", "Datenbank")
    If Not @error Then
    For $i = 0 To $irs[0][0] - 1
    $read = IniRead("Datenbank.ini", "Datenbank", $i, '')
    If $read <> '' Then GUICtrlCreateListViewItem($read, $ListView1)
    Next
    EndIf

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdHinzu
    GUISetState(@SW_SHOW, $frmAdd)
    Case $cmdHinzu2
    $lvtext = GUICtrlRead($txtVorname) & "|" & GUICtrlRead($txtNachname) & "|" & GUICtrlRead($txtStrasse) & "|" & GUICtrlRead($txtHausnummer) & "|" & GUICtrlRead($txtPLZ) & "|" & GUICtrlRead($txtOrt) & "|" & GUICtrlRead($txtTele)
    GUICtrlCreateListViewItem($lvtext, $ListView1)
    GUISetState(@SW_HIDE, $frmAdd)
    Case $cmdSave
    $irs = IniReadSection("Datenbank.ini", "Datenbank")
    If @error Then
    Dim $irs[1][1]
    $irs[0][0] = 0
    EndIf
    IniWrite("Datenbank.ini", "Datenbank", $irs[0][0], $lvtext)
    Case $cmdSuchen
    $suchterm = GUICtrlRead($txtSuchen)
    $gefunden = _GUICtrlListView_FindInText($ListView1, $suchterm)
    _GUICtrlListView_ClickItem($ListView1, $gefunden)
    Case $txtOrt
    EndSwitch
    WEnd

    [/autoit]


    hab nur die 3zeilen nach case $cmdSuchen eingefügt.

  • du hast auch eine speichern funktion (funktioniert nicht)
    dann könntest du die suchen funktion gleich aus der ini raus lesen
    kannst dir ja mal mein script anschauen LINK
    lg christian