Listview unterstützung

  • Hallo
    Ich habe seit einiger Zeit an einer Listview gearbeitet und bin soweit auch zufrieden.
    Zufrieden heißt nicht Perfekt. Meine Frage deshalb:
    Ist es möglich an hand meiner Listview die Spalten so einzufärben wie ich es hätte?
    1) Die Spalten (Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am) sollen
    wenn sie außerhalb des aktuellen Datums (abgelaufen) "ROT" gefärbt sein.
    2) Die Spalten (Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am) sollen
    wenn aktuelles Datum bis drei Monate (von Jetzt bis 90 Tage) noch Gültig "GELB" gefärbt sein
    3) Die Spalten (Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am) sollen
    wenn drei Monate und Später (in 90 Tagen und bis später) Gültig "GRÜN" gefärbt sein.

    Diese funktion gibt es bei Excel nur hätte ich sie auch gerne bei AUTOIT. Ist das möglich und wenn Ja, wer kann mir dabei helfen?
    Problem könnte sein für jede Spalte bzw. Reihe müsste das Prügrammiert werden, da in jeder Spalte und Zeile ein anderes
    Start-Datum stehen könnte.

    [autoit]

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

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

    Global $sHeader = "Kp.|Y-Nummer|Gerät|Ser.Nr.|Equipment|Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am"
    Global $sDBFile = @ScriptDir & "\datenbank.txt"
    Global $iEdit = -1

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

    #region Hauptfenster
    Global $hGui = GUICreate("Fahrzeuge", 1000, 480)
    GUISetBkColor(0xCCCCCC)
    Global $hListView = GUICtrlCreateListView($sHeader, 0, 0, 1000, 400, $LVS_SHOWSELALWAYS)
    Global $hLVHandle = GUICtrlGetHandle($hListView)
    _GUICtrlListView_SetColumn($hLVHandle, 0, "Kp.", 30, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 1, "Y-Nummer", 62, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 2, "Gerät", 72, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 3, "Ser.Nr.", 100, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 4, "Equipment", 30, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 5, "Letzte TMP", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 6, "BGV A3 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 7, "BGV D8 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 8, "BGV D36 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 9, "TDv 023/024 am", 95, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 10, "CO-Prüfung am", 90, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 11, "BGR 500 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 12, "Frist F3 am", 80, 0)

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

    Global $hSearchListView = GUICtrlCreateListView($sHeader, 0, 0, 1000, 400, $LVS_SHOWSELALWAYS)
    GUICtrlSetState(-1, $GUI_HIDE)
    Global $hSearchLVHandle = GUICtrlGetHandle($hSearchListView)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 0, "Kp.", 30, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 1, "Y-Nummer", 62, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 2, "Gerät", 72, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 3, "Ser.Nr.", 100, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 4, "Equipment", 30, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 5, "Letzte TMP", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 6, "BGV A3 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 7, "BGV D8 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 8, "BGV D36 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 9, "TDv 023/024 am", 95, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 10, "CO-Prüfung am", 95, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 11, "BGR 500 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 12, "Frist F3 am", 80, 0)

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

    GUICtrlCreateLabel("Suchbegriff:", 25, 412, 100, 20)
    GUICtrlSetFont(-1, 11)
    Global $hSearch = GUICtrlCreateInput("", 120, 410, 430, 20)
    GUICtrlSetFont(-1, 11)
    Global $hSearchStart = GUICtrlCreateButton("Suche...", 560, 410, 70, 20, $BS_DEFPUSHBUTTON)
    GUICtrlSetFont(-1, 9)
    Global $hSearchReset = GUICtrlCreateButton("<-", 640, 410, 20, 20)
    GUICtrlSetFont(-1, 8, 600, 0, "Verdana")
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    Global $hNew = GUICtrlCreateButton("Neuer Eintrag", 10, 440, 100, 35)
    Global $hEdit = GUICtrlCreateButton("Markierten Eintrag bearbeiten", 120, 440, 100, 35, $BS_MULTILINE)
    Global $hAendern = GUICtrlCreateButton("Prüfungen eintragen", 230, 440, 100, 35, $BS_MULTILINE)
    Global $hDel = GUICtrlCreateButton("Markierte Einträge löschen", 340, 440, 100, 35, $BS_MULTILINE)
    Global $hAnzeigen = GUICtrlCreateButton("Markierter Eintrag anzeigen", 450, 440, 100, 35, $BS_MULTILINE)
    Global $hSave = GUICtrlCreateButton("Speichern", 560, 440, 100, 35)
    Global $hLoad = GUICtrlCreateButton("Laden", 950, 402, 48, 20)

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

    Global $hCM = GUICtrlCreateContextMenu($hListView)
    Global $hCAnzeigen = GUICtrlCreateMenuItem("Markierter Eintrag anzeigen", $hCM)
    Global $hCMNew = GUICtrlCreateMenuItem("Neuer Eintrag", $hCM)
    Global $hCMEdit = GUICtrlCreateMenuItem("Eintrag bearbeiten", $hCM)
    Global $hCAendern = GUICtrlCreateMenuItem("Prüfungen eintragen", $hCM)
    Global $hCMDel = GUICtrlCreateMenuItem("Markierte Einträge löschen", $hCM)

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

    $Pic1 = GUICtrlCreatePic("\Der InstLer\Wappen.bmp", 800, 402, 80, 76)
    #endregion Hauptfenster

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

    #region Fenster für neuen Eintrag
    Global $hGuiNew = GUICreate("Neuer Eintrag", 770, 200, -1, -1, $WS_SYSMENU)
    Global $aHeader = StringSplit($sHeader, '|')
    Global $aNew[$aHeader[0]]
    Global $hoehe_beginn = 15
    Global $hoehe_tmp_versatz = 50
    Global $i_grenze = 6
    For $i = 1 To $aHeader[0]
    If $i <= $i_grenze Then
    $x_tmp = $i
    $hoehe_tmp = $hoehe_beginn
    Else
    $x_tmp = $i - $i_grenze
    $hoehe_tmp = $hoehe_beginn + $hoehe_tmp_versatz
    EndIf
    GUICtrlCreateLabel($aHeader[$i], 4 + ($x_tmp - 1) * 110, $hoehe_tmp, 100, 20)
    GUICtrlSetFont(-1, 8, 400, 0, 'Verdana')
    $aNew[$i - 1] = GUICtrlCreateInput("", 2 + ($x_tmp - 1) * 110, $hoehe_tmp + 15, 100, 20, Default, $WS_EX_STATICEDGE)
    GUICtrlSetFont(-1, 10, 600, 0, 'Verdana')
    GUICtrlSetState(-1, $GUI_DISABLE)
    Next
    Global $hCreate = GUICtrlCreateButton("Eintrag speichern", 320, 120, 120, 40, $BS_DEFPUSHBUTTON)
    #endregion Fenster für neuen Eintrag

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

    _GUICtrlListView_RegisterSortCallBack($hLVHandle)
    GUISetState(@SW_SHOW, $hGui)
    If FileExists($sDBFile) Then Load()

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

    While 1
    $nMsg = GUIGetMsg(1) ; Message-Event holen (1) = erweiterter Modus
    Switch $nMsg[0] ; anhand der Control-ID das entsprechende Case aufrufen
    Case $hListView ; User hat auf eine Spaltenüberschrift geklickt
    _GUICtrlListView_SortItems($hLVHandle, GUICtrlGetState($hListView)) ; Einträge entsprechend sortieren
    Case $hSearchStart
    GUICtrlSetState($hSearchStart, $GUI_DISABLE)
    _GUICtrlListView_DeleteAllItems($hSearchLVHandle)
    Dim $sSearch = GUICtrlRead($hSearch), $sItem
    For $i = 0 To _GUICtrlListView_GetItemCount($hLVHandle) - 1
    $sItem = _GUICtrlListView_GetItemTextString($hLVHandle, $i)
    If StringInStr($sItem, $sSearch) Then GUICtrlCreateListViewItem($sItem, $hSearchListView)
    Next
    GUICtrlSetState($hListView, $GUI_HIDE)
    GUICtrlSetState($hSearchListView, $GUI_SHOW)
    GUICtrlSetState($hSearchReset, $GUI_ENABLE)
    Case $hSearchReset
    GUICtrlSetData($hSearch, "")
    GUICtrlSetState($hSearchListView, $GUI_HIDE)
    GUICtrlSetState($hListView, $GUI_SHOW)
    GUICtrlSetState($hSearchStart, $GUI_ENABLE)
    GUICtrlSetState($hSearchReset, $GUI_DISABLE)
    Case $hAnzeigen, $hCAnzeigen
    WinSetTitle($hGuiNew, "", "Markierter Eintrag anzeigen")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    For $i = 5 To 11
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Edit()
    Case $hNew, $hCMNew
    WinSetTitle($hGuiNew, "", "Neuer Eintrag")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_ENABLE)
    Next
    For $i = 5 To 12
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Case $hEdit, $hCMEdit
    WinSetTitle($hGuiNew, "", "Eintrag bearbeiten")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_ENABLE)
    Next
    For $i = 5 To 12
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Edit()
    Case $hAendern, $hCAendern
    WinSetTitle($hGuiNew, "", "Prüfungen eintragen")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    For $i = 5 To 12
    GUICtrlSetState($aNew[$i], $GUI_ENABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Edit()
    Case $hLoad
    Load()
    Case $hSave
    Save()
    Case $hDel, $hCMDel
    If MsgBox(256 + 32 + 4, "Einträge löschen", "Wollen sie die markierten Einträge wirklich löschen?") = 6 Then _GUICtrlListView_DeleteItemsSelected($hLVHandle)
    Case $hCreate
    NewItem()
    Case $GUI_EVENT_CLOSE
    Switch $nMsg[1]
    Case $hGui
    Save()
    If MsgBox(32 + 4, "Beenden", "Wollen sie das Programm wirklich beenden?") = 6 Then End()
    Case $hGuiNew
    $iEdit = -1
    For $i = 0 To UBound($aNew) - 1
    GUICtrlSetData($aNew[$i], "")
    Next
    GUISetState(@SW_HIDE, $hGuiNew)
    GUISetState(@SW_ENABLE, $hGui)
    WinActivate($hGui)
    EndSwitch
    EndSwitch
    WEnd

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

    Func End()
    _GUICtrlListView_UnRegisterSortCallBack($hLVHandle)
    Exit
    EndFunc

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

    Func NewItem()
    Local $sItem = ""
    For $i = 0 To UBound($aNew) - 1
    If $iEdit > -1 Then
    _GUICtrlListView_SetItemText($hLVHandle, $iEdit, GUICtrlRead($aNew[$i]), $i)
    Else
    $sItem &= GUICtrlRead($aNew[$i]) & "|"
    EndIf
    GUICtrlSetData($aNew[$i], "")
    Next
    If $iEdit > -1 Then
    $iEdit = -1
    GUISetState(@SW_HIDE, $hGuiNew)
    GUISetState(@SW_ENABLE, $hGui)
    Sleep(300)
    WinActivate($hGui)
    Else
    GUICtrlSetState($aNew[0], $GUI_FOCUS)
    GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $hListView)
    EndIf
    EndFunc

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

    Func Edit()
    $iEdit = _GUICtrlListView_GetSelectionMark($hLVHandle)
    If $iEdit > -1 Then
    Local $aItem = _GUICtrlListView_GetItemTextArray($hLVHandle, $iEdit)
    For $i = 1 To $aItem[0]
    GUICtrlSetData($aNew[$i - 1], $aItem[$i])
    Next
    EndIf
    EndFunc

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

    Func Load()
    Local $hFile, $sContent, $aNewItems
    $hFile = FileOpen($sDBFile, 0)
    If $hFile <> -1 Then
    $sContent = FileRead($hFile)
    FileClose($hFile)
    $sContent = StringTrimRight($sContent, 2)
    $aNewItems = StringSplit($sContent, @CRLF, 1)
    If Not IsArray($aNewItems) Then Return
    _GUICtrlListView_BeginUpdate($hLVHandle)
    For $i = 1 To $aNewItems[0]
    GUICtrlCreateListViewItem($aNewItems[$i], $hListView)
    Next
    _GUICtrlListView_EndUpdate($hLVHandle)
    EndIf
    EndFunc

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

    Func Save()
    Local $sItem, $hFile, $iCount
    $iCount = _GUICtrlListView_GetItemCount($hLVHandle) - 1
    If $iCount = -1 Then Return FileDelete($sDBFile)
    $hFile = FileOpen($sDBFile, 2)
    If $hFile <> -1 Then
    For $i = 0 To $iCount
    $sItem = _GUICtrlListView_GetItemTextString($hLVHandle, $i)
    FileWriteLine($hFile, $sItem)
    Next
    FileClose($hFile)
    EndIf
    EndFunc

    [/autoit]


    Wie gesagt ich hoffe es kann mir einer weiterhelfen.


    Die Dateien in die Datenbank.txt kopieren sind nur ein paar bsp.

    PHP
    eins|123456|auto|123456||11.02.2013|11.02.2013|11.02.2013|11.02.2013|11.02.2013|11.02.2013|11.02.2013|11.02.2013
    zwei|234567|bahn|234567||22.03.2012|22.03.2012|22.03.2012|22.03.2012|22.03.2012|22.03.2012|22.03.2012|22.03.2012
    drei|345678|bus|345678||22.03.2012|23.03.2012|23.03.2012|23.03.2012|23.03.2012|23.03.2012|23.03.2012|23.03.2012
    vier|456789|rad|456789||28.07.2012|28.07.2012|28.07.2012|28.07.2012|28.07.2012|28.07.2012|28.07.2012|28.07.2012
    fünf|567890|flug|567890||01.06.2012|01.07.2012|01.08.2012|01.09.2012|01.10.2012|01.11.2012|01.12.2012|01.01.2013
    sechs|678901|fuß|678901|||||||||
    sieben|789012|bein|789012|||||||||
    acht|890123|arm|890123|||||||||
    neun|901234|kopf|901234|||||||||
    null|012345|hals|012345|||||||||

    Einmal editiert, zuletzt von Croco1984 (18. März 2013 um 17:55)

  • Ich habe mir den Bericht schon einmal durchgelesen und weiß das es mir vielleicht weiterhelfen kann,
    aber da ich noch nicht die erfahrung habe, habe ich gehofft das mir einer weiterhelfen könnte an meinem Beispiel.
    Gerade in hinblick auf das Problem mit dem Datum und das sich die Farben in der jeweiligen Zeile bzw. Spalte dann
    ändert.
    Ich hoffe es kann mir einer weiterhelfen, ich weiß nicht genau wie ich anfangen sollte.

    • Offizieller Beitrag

    1. Solltest du mal Beispieldaten posten, keine Lust mir selbst welche zu basteln.
    2. Du hast ja nicht mal eine fertige Überprüfungsroutine und willst das die Zeilen gefärbt werden.
    Mach dir erst mal Gedanken, wie du die Daten überprüfen willst und dann kann man dir beim einfärben helfen. ;)
    Kleiner Tipp, den Status der Zeile, also Rot,Grün ader Blau speicherst du als ItemParam im Listvieweintrag nach der Prüfung.
    Wichtig ist dabei ein Wert >1000 zu verwenden, weil das ItemParam sonst gegebenenfalls mit einem ControlID kollidiert.
    Setzen des Item Param geht mit _GUICtrlListView_SetItemParam.
    Zur Überprüfung des Datums kannt du _DateDiff benutzen.

  • Da ich auf Grund der Spaltenüberschriften einen gewerblichen Hintergrund sehe solltest du in http://www.autoit.de/index.php?page=Board&boardID=35 ein Thema erstellen, sollte ich mich irren geht auch http://www.autoit.de/index.php?page=Board&boardID=52 .
    In beiden Fällen solltest du eine umfangreiche Datensammlung in deiner Datenbank.txt beilegen.
    Solltest du es allerdings selbst lösen wollen (was nicht so schwer ist) aolltest du eine Funktion entwickeln der du das zu prüfende Datum übergibst und einen Wert (z.B. 0, 1, 2) zurück bekommst auf Grund dessen du dann das Subitem einfärbst. Für diese Funktion benötigst du _DateDiff:

    Spoiler anzeigen
    [autoit]

    #include <Date.au3>

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

    $iDateCalc = _DateDiff( 'm',"2012/12/18 00:00:00",_NowCalc())
    MsgBox( 4096, "", "Number of month since 2012/12/20: " & $iDateCalc )

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

    $iDateCalc = _DateDiff( 'd',"2012/12/18 00:00:00",_NowCalc())
    MsgBox( 4096, "", "Number of days since 2012/12/20: " & $iDateCalc )

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

    wobei ich die Tagesversion vorziehen würde.

    mfg autoBert

    • Offizieller Beitrag

    Btw, du solltest dir als 1. mal Gedanken machen, wie du eingegebene Daten auf Güligkeit prüfst. Damit mein ich das Richtige Datumsformat, damit fängt es schon an.
    Was bringt eine Datumsüberprüfung, wenn das Datum ggf. im falschen Format vorliegt. ;)

  • Über den Befehl ( _DateTimeFormat(_NowCalc(), 2) müsste ein abgleich mit der bestimmten Spalte und Zeile gemacht werden.

    ->Ist jetzt das eingegebene Datum z.B. in Zeile 3 und Spalte BGV A3 zwischen 0 und 275 Tage, soll die Hintergrundfarbe in der Zeile 3 und Spalte
    BGV A3 "GRÜN" gefärbt sein.
    ->Ist jetzt das eingegebene Datum z.B. in Zeile 3 und Spalte BGV A3 zwischen 276 und 364 Tage, soll die Hintergrundfarbe in der Zeile 3 und Spalte
    BGV A3 "GELB" gefärbt sein.
    ->Ist jetzt das eingegebene Datum z.B. in Zeile 3 und Spalte BGV A3 älter als 365 Tage, soll die Hintergrundfarbe in der Zeile 3 und Spalte
    BGV A3 "ROT" gefärbt sein.

    Wie ich schon mal schrieb bei Excel ist das eine sehr gute Funktion und ich hätte Sie auch gerne bei meiner Listview.


    Spoiler anzeigen

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


    Global $sHeader = "Kp.|Y-Nummer|Gerät|Ser.Nr.|Equipment|Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am"
    Global $sDBFile = @ScriptDir & "\datenbank.txt"
    Global $iEdit = -1


    #region Hauptfenster
    Global $hGui = GUICreate("Fahrzeuge", 1000, 480)
    GUISetBkColor(0xCCCCCC)
    Global $hListView = GUICtrlCreateListView($sHeader, 0, 0, 1000, 400, $LVS_SHOWSELALWAYS)
    Global $hLVHandle = GUICtrlGetHandle($hListView)
    _GUICtrlListView_SetColumn($hLVHandle, 0, "Kp.", 30, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 1, "Y-Nummer", 62, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 2, "Gerät", 72, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 3, "Ser.Nr.", 100, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 4, "Equipment", 30, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 5, "Letzte TMP", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 6, "BGV A3 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 7, "BGV D8 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 8, "BGV D36 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 9, "TDv 023/024 am", 95, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 10, "CO-Prüfung am", 90, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 11, "BGR 500 am", 80, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 12, "Frist F3 am", 80, 0)

    Global $hSearchListView = GUICtrlCreateListView($sHeader, 0, 0, 1000, 400, $LVS_SHOWSELALWAYS)
    GUICtrlSetState(-1, $GUI_HIDE)
    Global $hSearchLVHandle = GUICtrlGetHandle($hSearchListView)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 0, "Kp.", 30, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 1, "Y-Nummer", 62, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 2, "Gerät", 72, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 3, "Ser.Nr.", 100, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 4, "Equipment", 30, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 5, "Letzte TMP", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 6, "BGV A3 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 7, "BGV D8 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 8, "BGV D36 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 9, "TDv 023/024 am", 95, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 10, "CO-Prüfung am", 95, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 11, "BGR 500 am", 80, 0)
    _GUICtrlListView_SetColumn($hSearchLVHandle, 12, "Frist F3 am", 80, 0)

    GUICtrlCreateLabel("Suchbegriff:", 25, 412, 100, 20)
    GUICtrlSetFont(-1, 11)
    Global $hSearch = GUICtrlCreateInput("", 120, 410, 430, 20)
    GUICtrlSetFont(-1, 11)
    Global $hSearchStart = GUICtrlCreateButton("Suche...", 560, 410, 70, 20, $BS_DEFPUSHBUTTON)
    GUICtrlSetFont(-1, 9)
    Global $hSearchReset = GUICtrlCreateButton("<-", 640, 410, 20, 20)
    GUICtrlSetFont(-1, 8, 600, 0, "Verdana")
    GUICtrlSetState(-1, $GUI_DISABLE)

    Global $hNew = GUICtrlCreateButton("Neuer Eintrag", 10, 440, 100, 35)
    Global $hEdit = GUICtrlCreateButton("Markierten Eintrag bearbeiten", 120, 440, 100, 35, $BS_MULTILINE)
    Global $hAendern = GUICtrlCreateButton("Prüfungen eintragen", 230, 440, 100, 35, $BS_MULTILINE)
    Global $hDel = GUICtrlCreateButton("Markierte Einträge löschen", 340, 440, 100, 35, $BS_MULTILINE)
    Global $hAnzeigen = GUICtrlCreateButton("Markierter Eintrag anzeigen", 450, 440, 100, 35, $BS_MULTILINE)
    Global $hSave = GUICtrlCreateButton("Speichern", 560, 440, 100, 35)
    Global $hLoad = GUICtrlCreateButton("Laden", 950, 402, 48, 20)

    Global $hCM = GUICtrlCreateContextMenu($hListView)
    Global $hCAnzeigen = GUICtrlCreateMenuItem("Markierter Eintrag anzeigen", $hCM)
    Global $hCMNew = GUICtrlCreateMenuItem("Neuer Eintrag", $hCM)
    Global $hCMEdit = GUICtrlCreateMenuItem("Eintrag bearbeiten", $hCM)
    Global $hCAendern = GUICtrlCreateMenuItem("Prüfungen eintragen", $hCM)
    Global $hCMDel = GUICtrlCreateMenuItem("Markierte Einträge löschen", $hCM)

    $Pic1 = GUICtrlCreatePic("\Der InstLer\Wappen.bmp", 800, 402, 80, 76)

    $heutigesDatum = _DateTimeFormat(_NowCalc(), 2)
    $DatumInput = GUICtrlCreateInput($heutigesDatum, 940, 460, 60, 20)
    #endregion Hauptfenster

    #region Fenster für neuen Eintrag
    Global $hGuiNew = GUICreate("Neuer Eintrag", 770, 200, -1, -1, $WS_SYSMENU)
    Global $aHeader = StringSplit($sHeader, '|')
    Global $aNew[$aHeader[0]]
    Global $hoehe_beginn = 15
    Global $hoehe_tmp_versatz = 50
    Global $i_grenze = 6
    For $i = 1 To $aHeader[0]
    If $i <= $i_grenze Then
    $x_tmp = $i
    $hoehe_tmp = $hoehe_beginn
    Else
    $x_tmp = $i - $i_grenze
    $hoehe_tmp = $hoehe_beginn + $hoehe_tmp_versatz
    EndIf
    GUICtrlCreateLabel($aHeader[$i], 4 + ($x_tmp - 1) * 110, $hoehe_tmp, 100, 20)
    GUICtrlSetFont(-1, 8, 400, 0, 'Verdana')
    $aNew[$i - 1] = GUICtrlCreateInput("", 2 + ($x_tmp - 1) * 110, $hoehe_tmp + 15, 100, 20, Default, $WS_EX_STATICEDGE)
    GUICtrlSetFont(-1, 10, 600, 0, 'Verdana')
    GUICtrlSetState(-1, $GUI_DISABLE)
    Next
    Global $hCreate = GUICtrlCreateButton("Eintrag speichern", 320, 120, 120, 40, $BS_DEFPUSHBUTTON)
    #endregion Fenster für neuen Eintrag

    _GUICtrlListView_RegisterSortCallBack($hLVHandle)
    GUISetState(@SW_SHOW, $hGui)
    If FileExists($sDBFile) Then Load()

    While 1
    $nMsg = GUIGetMsg(1) ; Message-Event holen (1) = erweiterter Modus
    Switch $nMsg[0] ; anhand der Control-ID das entsprechende Case aufrufen
    Case $hListView ; User hat auf eine Spaltenüberschrift geklickt
    _GUICtrlListView_SortItems($hLVHandle, GUICtrlGetState($hListView)) ; Einträge entsprechend sortieren
    Case $hSearchStart
    GUICtrlSetState($hSearchStart, $GUI_DISABLE)
    _GUICtrlListView_DeleteAllItems($hSearchLVHandle)
    Dim $sSearch = GUICtrlRead($hSearch), $sItem
    For $i = 0 To _GUICtrlListView_GetItemCount($hLVHandle) - 1
    $sItem = _GUICtrlListView_GetItemTextString($hLVHandle, $i)
    If StringInStr($sItem, $sSearch) Then GUICtrlCreateListViewItem($sItem, $hSearchListView)
    Next
    GUICtrlSetState($hListView, $GUI_HIDE)
    GUICtrlSetState($hSearchListView, $GUI_SHOW)
    GUICtrlSetState($hSearchReset, $GUI_ENABLE)
    Case $hSearchReset
    GUICtrlSetData($hSearch, "")
    GUICtrlSetState($hSearchListView, $GUI_HIDE)
    GUICtrlSetState($hListView, $GUI_SHOW)
    GUICtrlSetState($hSearchStart, $GUI_ENABLE)
    GUICtrlSetState($hSearchReset, $GUI_DISABLE)
    Case $hAnzeigen, $hCAnzeigen
    WinSetTitle($hGuiNew, "", "Markierter Eintrag anzeigen")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    For $i = 5 To 11
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Edit()
    Case $hNew, $hCMNew
    WinSetTitle($hGuiNew, "", "Neuer Eintrag")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_ENABLE)
    Next
    For $i = 5 To 12
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Case $hEdit, $hCMEdit
    WinSetTitle($hGuiNew, "", "Eintrag bearbeiten")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_ENABLE)
    Next
    For $i = 5 To 12
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Edit()
    Case $hAendern, $hCAendern
    WinSetTitle($hGuiNew, "", "Prüfungen eintragen")
    For $i = 0 To 4
    GUICtrlSetState($aNew[$i], $GUI_DISABLE)
    Next
    For $i = 5 To 12
    GUICtrlSetState($aNew[$i], $GUI_ENABLE)
    Next
    GUISetState(@SW_SHOW, $hGuiNew)
    GUISetState(@SW_DISABLE, $hGui)
    Edit()
    Case $hLoad
    Load()
    Case $hSave
    Save()
    Case $hDel, $hCMDel
    If MsgBox(256 + 32 + 4, "Einträge löschen", "Wollen sie die markierten Einträge wirklich löschen?") = 6 Then _GUICtrlListView_DeleteItemsSelected($hLVHandle)
    Case $hCreate
    NewItem()
    Case $GUI_EVENT_CLOSE
    Switch $nMsg[1]
    Case $hGui
    Save()
    If MsgBox(32 + 4, "Beenden", "Wollen sie das Programm wirklich beenden?") = 6 Then End()
    Case $hGuiNew
    $iEdit = -1
    For $i = 0 To UBound($aNew) - 1
    GUICtrlSetData($aNew[$i], "")
    Next
    GUISetState(@SW_HIDE, $hGuiNew)
    GUISetState(@SW_ENABLE, $hGui)
    WinActivate($hGui)
    EndSwitch
    EndSwitch
    WEnd

    Func End()
    _GUICtrlListView_UnRegisterSortCallBack($hLVHandle)
    Exit
    EndFunc

    Func NewItem()
    Local $sItem = ""
    For $i = 0 To UBound($aNew) - 1
    If $iEdit > -1 Then
    _GUICtrlListView_SetItemText($hLVHandle, $iEdit, GUICtrlRead($aNew[$i]), $i)
    Else
    $sItem &= GUICtrlRead($aNew[$i]) & "|"
    EndIf
    GUICtrlSetData($aNew[$i], "")
    Next
    If $iEdit > -1 Then
    $iEdit = -1
    GUISetState(@SW_HIDE, $hGuiNew)
    GUISetState(@SW_ENABLE, $hGui)
    Sleep(300)
    WinActivate($hGui)
    Else
    GUICtrlSetState($aNew[0], $GUI_FOCUS)
    GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $hListView)
    EndIf
    EndFunc

    Func Edit()
    $iEdit = _GUICtrlListView_GetSelectionMark($hLVHandle)
    If $iEdit > -1 Then
    Local $aItem = _GUICtrlListView_GetItemTextArray($hLVHandle, $iEdit)
    For $i = 1 To $aItem[0]
    GUICtrlSetData($aNew[$i - 1], $aItem[$i])
    Next
    EndIf
    EndFunc

    Func Load()
    Local $hFile, $sContent, $aNewItems
    $hFile = FileOpen($sDBFile, 0)
    If $hFile <> -1 Then
    $sContent = FileRead($hFile)
    FileClose($hFile)
    $sContent = StringTrimRight($sContent, 2)
    $aNewItems = StringSplit($sContent, @CRLF, 1)
    If Not IsArray($aNewItems) Then Return
    _GUICtrlListView_BeginUpdate($hLVHandle)
    For $i = 1 To $aNewItems[0]
    GUICtrlCreateListViewItem($aNewItems[$i], $hListView)
    Next
    _GUICtrlListView_EndUpdate($hLVHandle)
    EndIf
    EndFunc

    Func Save()
    Local $sItem, $hFile, $iCount
    $iCount = _GUICtrlListView_GetItemCount($hLVHandle) - 1
    If $iCount = -1 Then Return FileDelete($sDBFile)
    $hFile = FileOpen($sDBFile, 2)
    If $hFile <> -1 Then
    For $i = 0 To $iCount
    $sItem = _GUICtrlListView_GetItemTextString($hLVHandle, $i)
    FileWriteLine($hFile, $sItem)
    Next
    FileClose($hFile)
    EndIf
    EndFunc

    • Offizieller Beitrag
    Zitat

    Über den Befehl ( _DateTimeFormat(_NowCalc(), 2) müsste ein abgleich mit der bestimmten Spalte und Zeile gemacht werden.

    ->Ist jetzt das eingegebene Datum z.B. in Zeile 3 und Spalte BGV A3 zwischen 0 und 275 Tage, soll die Hintergrundfarbe in der Zeile 3 und Spalte
    BGV A3 "GRÜN" gefärbt sein.
    ->Ist jetzt das eingegebene Datum z.B. in Zeile 3 und Spalte BGV A3 zwischen 276 und 364 Tage, soll die Hintergrundfarbe in der Zeile 3 und Spalte
    BGV A3 "GELB" gefärbt sein.
    ->Ist jetzt das eingegebene Datum z.B. in Zeile 3 und Spalte BGV A3 älter als 365 Tage, soll die Hintergrundfarbe in der Zeile 3 und Spalte
    BGV A3 "ROT" gefärbt sein.

    Wie ich schon mal schrieb bei Excel ist das eine sehr gute Funktion und ich hätte Sie auch gerne bei meiner Listview.

    Werd dir erst mal klar was du willst. Die Beschreibung hat mit deiner ursprünglichen nix zu tun. ;)

    Zitat

    1) Die Spalten (Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am) sollen
    wenn sie außerhalb des aktuellen Datums (abgelaufen) "ROT" gefärbt sein.
    2) Die Spalten (Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am) sollen
    wenn aktuelles Datum bis drei Monate (von Jetzt bis 90 Tage) noch Gültig "GELB" gefärbt sein
    3) Die Spalten (Letzte TMP|BGV A3 am|BGV D8 am|BGV D36 am|TDv 023/024 am|CO-Prüfung am|BGR 500 am|Frist F3 am) sollen
    wenn drei Monate und Später (in 90 Tagen und bis später) Gültig "GRÜN" gefärbt sein.


    Btw. du mußt mir nicht erkären wie es gehen müßte.... das würde ich schon hinbekommen. Aberes ist ja nicht mein Programm und ich schreib es dir auch nicht fertig.
    Ausser du läßt pro Stunde 60 € rüberwachsen :P

    [Blockierte Grafik: http://host-it.tk/uploads/514770f5ce8bb-Unbenannt.PNG]

  • Entschuldige bitte das ich ein Anfänger bei Auto IT bin und nicht sofort alles weiss. Aber ist das hier nicht ein Forum, indem man fragen und antworten erwarten kann. Ich weiss nicht wie ich das Problem anfassen kann und habe hier gehofft das man mir weiterhilft, anstatt hier runter gemacht zu werden und dafür auch noch Kohle zu zahlen. Entschuldige jetzt bitte mein ausdruck , aber das ist tiefstes niveau. Danke!!!

  • Wie autoBert schon gesagt hat, hier kannst du Tipps und Unterstüzung bekommen. Aber dein Skript für dich schreiben wird wohl niemand.

    Zitat von autoBert

    Da ich auf Grund der Spaltenüberschriften einen gewerblichen Hintergrund sehe solltest du in http://www.autoit.de/index.php?page=Board&boardID=35 ein Thema erstellen, sollte ich mich irren geht auch http://www.autoit.de/index.php?page=Board&boardID=52 .

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)

    Einmal editiert, zuletzt von Orion (19. März 2013 um 00:07)

    • Offizieller Beitrag

    2 Gegensätzliche Aussagen was du angezeigt bekommen willst, das hilft niemanden. Bis jetzt hast du nichts, rein garnichts versucht um dein Problem zu lösen oder daran gearbeitet.
    Zumindest sehe ich nichts. Egal was autobert und ich geschrieben haben, es ist deinerseits nichts passiert.

    Und mal so nebenbei. Kennst du Smileys? Das mit den 60€ war en Witz.
    Eigentlich wollte ich dir ein Script geben, hatte gerade nix besseres zu tun. Das kommt jetzt auf den Müll, bastel dir selbst was.
    Dumm anmachen kannst du jemanden anders.

    Viel Spaß beim wursteln.

  • Noch ein Tipp

    Aber ist das hier nicht ein Forum, indem man fragen und antworten erwarten kann.


    Du hast doch schon Tipps bekommen, hier noch zwei:

    Ich weiss nicht wie ich das Problem anfassen kann und habe hier gehofft das man mir weiterhilft, anstatt hier runter gemacht zu werden und dafür auch noch Kohle zu zahlen. Entschuldige jetzt bitte mein ausdruck , aber das ist tiefstes niveau. Danke!!!

    Findest du es also in Ordnung dass eine Firma sich ihre Programme kostenlos im Internet zusammen schnorrt. Sie hat durch den Einsatz sicher einen Vorteil und spart dadurch Kosten, will aber denjenigen der die Arbeit geleistet hat nicht entlohnen.
    Dies finde ich [Blockierte Grafik: http://www.lima-city.de/images/smilies/puke.gif]

    Wenn du jemanden suchst der dir dein Skript vollendet bist du je nach Sachlage in den beiden von mir genannten Foren:

    Da ich auf Grund der Spaltenüberschriften einen gewerblichen Hintergrund sehe solltest du in http://www.autoit.de/index.php?page=Board&boardID=35 ein Thema erstellen, sollte ich mich irren geht auch http://www.autoit.de/index.php?page=Board&boardID=52

    richtig.

    Entschuldige bitte das ich ein Anfänger bei Auto IT bin und nicht sofort alles weiss.


    Du bist jetzt 3 Monate dabei hast bisher nur selbst Hilfe gesucht aber noch keine geleistet, dies zeigt doch deine Einstellung. Selbst wenn du jetzt in http://www.autoit.de/index.php?page=Board&boardID=52 ein Thema erstellst bin ich nach deinem Benehmen in [ offen ] IE@Create Problem und der nach dessen Schliessen (da deine Antworten auf meine berechtigten Zwischenfragen noch weniger hilfreich waren als jede einzelne Antwort hier) in [ offen ] IE@Create Problem falschen Darstellung die ja schon von BugFix zurecht gerückt wurde bin ich nicht bereit dir dort das Skript zu schreiben. Denn wenn nicht gewerblich dann ist es wohl die Grundlage für einen BOT (Simulation einer Autowerkstatt, Spedition etc.). Bot's unterstütze ich nicht und meine Autowerkstatt hat auch saftige Stundenlöhne.

    Edit: natürlich habe ich auch getestet:
    autoit.de/wcf/attachment/19907/

    mfg autoBert

  • Zitat

    2 Gegensätzliche Aussagen was du angezeigt bekommen willst, das hilft niemanden. Bis jetzt hast du nichts, rein garnichts versucht um dein Problem zu lösen oder daran gearbeitet.
    Zumindest sehe ich nichts. Egal was autobert und ich geschrieben haben, es ist deinerseits nichts passiert.


    Vielleicht habe ich mich am Anfang meines Problems etwas undeutlich ausgedrückt, aber im Grunde habe ich das selbe Problem beschrieben bzw. was ich gerne hätte.
    Missverständnis! Das man nichts sieht was ich versucht oder Probiert habe, liegt vielleicht daran das ich es nicht gepostet habe. Was ich bis jetzt jedesmal hat ist das ich entweder alles in einer Farbe hatte (die komplette Listview) oder das es noch nicht einmal wieder starten ließ. Ich habe mit _DateDiff etwas herumprobiert, habe dann aber an einen Vergleich wie einer WENN-Funktion gedacht mit dem Befehl _DateTimeFormat(_NowCalc(), 2). Weil mir das mit dem _DateDiff nicht in die Birne kam, wie ich es weiter anwenden sollte.

    Zitat

    Mach dir erst mal Gedanken, wie du die Daten überprüfen willst und dann kann man dir beim einfärben helfen.
    Kleiner Tipp, den Status der Zeile, also Rot,Grün ader Blau speicherst du als ItemParam im Listvieweintrag nach der Prüfung.
    Wichtig ist dabei ein Wert >1000 zu verwenden, weil das ItemParam sonst gegebenenfalls mit einem ControlID kollidiert.
    Setzen des Item Param geht mit _GUICtrlListView_SetItemParam.


    Ich habe in keinster Textzeile geschrieben das mir einer das Programm fertig schreiben sollte, Ich weiß nur nicht wie ich anfangen soll.
    Ja ich habe mich erst vor etwas über Drei Monaten hier angemeldet und Versuche so viel wie möglich zu lernen und auszuprobieren. Insgesamt habe ich jetzt vier Monate (Ich nenne es mal) Erfahrung und soll anderen weiterhelfen? Ich habe selber bei ca. 80% der Themen Null ahnung und durch lesen und ausprobieren klappt vielleicht mal etwas. Toll dann hab ich mal ein aha-Erlebnis, aber es reicht absolut noch nicht aus jemanden mit Rat und Tat beizustehen, wie z.B. bei meinem Problem.
    Ich habe auch nicht gesagt das ich eine Firma habe und das ich es Gewerblich nutzen möchte. Weder BOT für eine Autowerkstatt oder noch irgendetwas. Schnorren will ich schon mal gar nicht. Ja es Stehen begriffen drin wie BGV und SerNr., die daraus schließen lassen. Bei meinem ersten Problem das ich mal ende Dezember gepostet habe, baut dieses auf, hat aber nichts damit zutun das ich es Verkaufen oder Benutzen würde in Gewerblicher hinsicht.

    Zitat

    Du bist jetzt 3 Monate dabei hast bisher nur selbst Hilfe gesucht aber noch keine geleistet, dies zeigt doch deine Einstellung. Selbst wenn du jetzt in http://www.autoit.de/index.php?page=Board&boardID=52 ein Thema erstellst bin ich nach deinem Benehmen in [ offen ] IE@Create Problem und der nach dessen Schliessen (da deine Antworten auf meine berechtigten Zwischenfragen noch weniger hilfreich waren als jede einzelne Antwort hier) in [ offen ] IE@Create Problem falschen Darstellung die ja schon von BugFix zurecht gerückt wurde bin ich nicht bereit dir dort das Skript zu schreiben. Denn wenn nicht gewerblich dann ist es wohl die Grundlage für einen BOT (Simulation einer Autowerkstatt, Spedition etc.). Bot's unterstütze ich nicht und meine Autowerkstatt hat auch saftige Stundenlöhne.


    Die Unterhaltung hatten wir schon bei [ offen ] IE@Create Problem. :D
    BugFix hatte mir nicht mal Zeit gegeben zum Antworten und direkt Dicht gemacht. Ja es war sehr allgemein meine Frage damals gestellt worden, absicht.
    Das mir sprichwortlich an die Karre gefahren wurde, habe ich dann auch gemerkt. Aber ich bin hier angemeldet um was zu lernen und das meine Fragen beantwortet werden können, bzw. wenn es dazu kommen sollte das ich einmal bei einfachen Problemen beistehen kann (das bin ich noch nicht). Einige von euch wie z.B BugFix, Raupi oder Du (autoBert) steht viel tiefer in der Materie und könnt doch unterstützen und anscheinend macht ihr das auch gerne.


    Zitat

    Und mal so nebenbei. Kennst du Smileys? Das mit den 60€ war en Witz.


    Ja, Ich weiß was ein Smiley ist und was die Aussage bezweckte.

    • Offizieller Beitrag

    Wenn du weist, was ein Smiley bedeutet und verstanden hast, das es ein Witz sein sollte.... warum dann dein beleidigter Post?

    Egal, hatte das komplette Script schon geschrieben, aber jetzt ist es zu spät. Von mir bekommst du auch keine Hilfe mehr.
    Hab dich auf der Blacklist, damit ich nix mehr von dir lesen brauche.

    Achso, brauchs nicht zu antworten, seh ich eh nicht mehr ;)

  • Das man nichts sieht was ich versucht oder Probiert habe, liegt vielleicht daran das ich es nicht gepostet habe.Was ich bis jetzt jedesmal hat ist das ich entweder alles in einer Farbe hatte (die komplette Listview) oder das es noch nicht einmal wieder starten ließ.


    Wie willst du etwas lernen wenn du deine missglückten Versuche nicht selbst bereinigen kannst aber auch nicht bereit bist sie hier einzustellen? Da passt dann nur

    Dumm anmachen kannst du jemanden anders.

    Viel Spaß beim wursteln.

    Ich habe mit _DateDiff etwas herumprobiert, habe dann aber an einen Vergleich wie einer WENN-Funktion gedacht mit dem Befehl _DateTimeFormat(_NowCalc(), 2). Weil mir das mit dem _DateDiff nicht in die Birne kam, wie ich es weiter anwenden sollte.

    Nach 4 Monaten sollte man in der Lage sein zu erkennen das _DateTimeFormat(_NowCalc(), 2) absolut unbrauchbar ist ein Blick in die Hilfe genügt:

    Oder liegt dir das Datum in diesem Format vor?Nein, warum willst du es dann in das (lt. Skript) bereits angezeigte Datum wandeln? wo doch _DateDiff das wie der Name schon sagt die Differenz zwischen 2 Daten ermittelt genau genau das gleiche Format verwendet wie _DateTimeFormat.Zum Umwandeln benutze ich die Stringfunktionen

    [autoit]

    StringLeft
    StringMid
    StringRight

    [/autoit]

    und den Verkettungsoperator "&". Das verwenden von

    [autoit]

    _Date_Time_SystemTimeToDateStr
    StringReplace

    [/autoit]

    führt aber auch zum Ziel.

    Ich habe auch nicht gesagt das ich eine Firma habe und das ich es Gewerblich nutzen möchte. Weder BOT für eine Autowerkstatt oder noch irgendetwas. Schnorren will ich schon mal gar nicht.


    Dann erkläre bitte den Einsatzzweck sinnvoll :!: Mittlerweile komme ich zum Schluss BOT denn ein Gewerbetreibender ist im Normalfall so schlau das er lieber etwas zahlt als seine Zeit zu verschwenden.

    Die Unterhaltung hatten wir schon bei [ offen ] IE@Create Problem. :D
    BugFix hatte mir nicht mal Zeit gegeben zum Antworten und direkt Dicht gemacht. Ja es war sehr allgemein meine Frage damals gestellt worden, absicht.

    Du hast deinen damaligen Fehler immer noch nicht eingesehen, du hattest mehr als 1 Chance auf meine Frage nach der/den URL's eine klare eindeutige Antwort zu geben. Die Reaktion von BugFix war das Resultat deiner Ignoranz hier noch einmal die Klarstellung dazu:

    Zitat von »Croco1984«Nachdem man mir einfach das Problem geschlossen hat, ohne auf eine reaktion meinerseits zu wartenHalte dich mal bitte an die Fakten:- Erste Antwort von autoBert war: "Da Anmeldeprozeduren sich von Site zu Site unterscheiden müsstest du schon die URL nennen bei der du Probleme hast."- Deine Reaktion: "Es ist vollkommen egal welche URL ich da nehme."- Darauf hast du die einzig nun mögliche Antwort von autoBert erhalten: "für eine so allgemein gehaltene Anforderung eine genauso allgemeine Antwort: mit den _IE...-Funkionen, speziell _IEFormElementSetValue"- Aber auch das konnte dich nicht dazu veranlassen eine für uns reproduzierbare Problemsituation zu posten. Stattdessen wieder allgemeines Rumgeeiere: "nach der erfolgreichen anmeldung auf der Seite-X, wird eine Seite-Y neu generiert mit mehr informationen und vielleicht buttons für den Member. Auf dieser neuen Seite Y möchte ich in ein Feld einen schon festgelegten Text automatisch einfügen und bestätigen lassen. das das über die ie-funktionen läuft ist mir schon bewusst, aber über welche genau, den bei jeder anmeldung wird über die X-seite der Bezug genommen und wenn ich auf der Y-Seite eine erneute eingabe machen will findet er den Bezug einfach nicht mehr."Wenn du kein Interesse hast dein Problem nachvollziehbar zu schildern, haben wir kein Interesse unsere Zeit zu verschwenden indem wir Glaskugeln reiben um zu Erahnen, was dein Problem sein könnte.Niemals wird ein Thread einfach so geschlosssen. Es war dein Verhalten, dass diese Reaktion initiiert hat. Also bitte schön den Ball flach halten.

    Einige von euch wie z.B BugFix, Raupi oder Du (autoBert) steht viel tiefer in der Materie und könnt doch unterstützen und anscheinend macht ihr das auch gerne.

    Ich und auch Raupi haben dir bereits Tipps gegeben und mein 2. Link auf ein Beispiel von BugFix ist Gold wert, er hat dir also auch schon geholfen. Ich behaupte dass ein halbwegs logisch denkender Mensch nach 4 Tagen AutoIterfahrung (in denen er jeweils 4 Stunden Hilfebeispiele nach vollzogen hat) mit den Tipps und dem Link von mir in der Lage ist das Problem in <1/2 Stunde zu lösen. Mein Fazit daher: du bist lern resistent und erwartest das dir Leute helfen deren Tipps du nicht befolgst, dies ist meine (hoffentlich) letzte Antwort zu diesem Thema, meine nächste wäre: Vote for Close.

    mfg autoBert