Listview-Darstellungsproblem

  • Hallo,


    ich habe gerade probiert den Inhalt dieser Seite zu laden.


    http://projektx.pytalhost.at/files/Admin/id.php


    So wie es auf der Seite ausgegeben wird,soll es mir Autoit auch ausgeben,jedoch bekomme ich nur den ganzen Quelltext ausgegeben.


    Hier mein Anfangscode:


    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <inet.au3>
    #include <file.au3>

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

    $URL = _INetGetSource("http://projektx.pytalhost.at/files/Admin/id.php",1)

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

    $Form1 = GUICreate("Test", 827, 364, 588, 314)
    $MenuItem1 = GUICtrlCreateMenu("Menue")
    $MenuItem2 = GUICtrlCreateMenuItem("Get Data from Database", $MenuItem1)
    $ListView1 = GUICtrlCreateListView("ID", 0, -1, 826, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 80)
    $Label1 = GUICtrlCreateLabel("", 37, 197, 4, 4)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $MenuItem2
    GUICtrlCreateListViewItem($URL, $ListView1)

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

    EndSwitch
    WEnd

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

    Ich möchte das die Zahlen alle untereinander stehen.


    Danke

    5 Mal editiert, zuletzt von MysticSun (18. Dezember 2012 um 22:49)

  • Hi,

    die Zahlen musst du aus dem Quelltext noch herausfiltern.
    Dazu eignen sich String-Funktionen wie

    [autoit]


    StringInStr
    _StringBetween
    StringSplit
    StringRegExp

    [/autoit]


    und noch ein paar andere (einfach mal in der Richtung suchen oder STRG+Leertaste in Scrite betätigen).


    Hier sollte allerdings das hier funktionieren:

    [autoit]


    #include <Array.au3>
    $aResult = StringRegExp($URL, "(\d{3})<br>", 3)
    If Not isArray($aResult) Then Exit
    _ArrayDisplay($aResult)

    [/autoit]

    Gruß stay

  • das ist schonmal ein guter ansatz :)


    jedoch kann man das nicht so in der listview darstellen wie in dem arraydisplay... habs mal probiert aber klappt nicht


    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <inet.au3>
    #include <file.au3>
    #include <Array.au3>

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

    $URL = _INetGetSource("http://projektx.pytalhost.at/files/Admin/id.php",1)

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

    $Form1 = GUICreate("test", 827, 364, 588, 314)
    $MenuItem1 = GUICtrlCreateMenu("Menue")
    $MenuItem2 = GUICtrlCreateMenuItem("Get Data from Database", $MenuItem1)
    $ListView1 = GUICtrlCreateListView("ID", 0, -1, 826, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 30)
    $Label1 = GUICtrlCreateLabel("", 37, 197, 4, 4)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $MenuItem2
    GUICtrlCreateListViewItem(_2(), $ListView1)

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

    EndSwitch
    WEnd

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

    Func _2()
    $array = StringSplit($URL, '<br>', 1)
    _ArrayDisplay($array)
    EndFunc

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

    Func _1()
    $aResult = StringRegExp($URL, "(\d{3})<br>", 3)
    If Not isArray($aResult) Then Exit
    _ArrayDisplay($aResult)
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von MysticSun (19. Dezember 2012 um 00:10)

  • jedoch kann man das nicht so in der listview darstellen wie in dem arraydisplay...


    natüroch kann man, du musst nur in einer Schleife für jedes Arrayeement ein Listieweintrg erstellen. Schau dir also in der Hilfe

    [autoit]

    For ... Next
    GUICtrlCreateListViewItem
    UBound

    [/autoit]

    an

    mfg autoBert

  • So was geht daran nicht ?


    (hab nicht so viel ahnung davon :S)


    [autoit]

    For $I = 1 To UBound($array) - 1

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

    $iLVItem = GUICtrlCreateListViewItem($array, $ListView1)

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

    Next

    [/autoit]

    2 Mal editiert, zuletzt von MysticSun (19. Dezember 2012 um 00:36)

  • So was geht daran nicht ?

    Du hst wohl noch nie mit Array's gerbeitet?

    [autoit]

    For $I = 1 To UBound($array) - 1
    $iLVItem = GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next

    [/autoit]

    oder warst du nur übermütet dass du $i vergessen hasst?

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (19. Dezember 2012 um 05:23)