Hi !
Habe paar kleine änderungen vorgenommen u. dein problem gelöst vieleicht hast du dardurch ein paar anregungen!
Spoiler anzeigen
#include <GuiListView.au3>
#include <IE.au3>
#include <String.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <StructureConstants.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $ListView_Kino, $hStatus, $SiteCount = 0, $MoreSites = 0, $SiteCount_2 = 0, $SiteCounter = 0
Local $aEnd, $CityName, $i, $j, $url, $sHTML, $oIE, $temp_array
Local $Array_Cinema[100][100]
Dim $Version = "Beta 5.5"
Dim $Date = "25.02.2010"
$MainForm = GUICreate("Kino Programm by nefas", 980, 370, -1, -1)
GUISetOnEvent(-3, '_ExitC')
GUICtrlCreateLabel("Stadt:", 8, 13, 55, 17)
$txtCity = GUICtrlCreateInput("", 40, 8, 120, 21)
$cmdGo = GUICtrlCreateButton("Go", 162, 8, 27, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, 'Start')
GUICtrlCreateLabel("Tag:: ", 200, 13, 40, 17)
$radio_Heute = GUICtrlCreateRadio("Heute", 235, 13, 50, 17)
GUICtrlSetOnEvent(-1, 'Start')
$radio_Morgen = GUICtrlCreateRadio("", 335, 13, 80, 17)
GUICtrlSetOnEvent(-1, 'Start')
$radio_UeberMorgen = GUICtrlCreateRadio("", 435, 13, 80, 17)
GUICtrlSetOnEvent(-1, 'Start')
$radio_UeberUeberMorgen = GUICtrlCreateRadio("", 535, 13, 80, 17)
GUICtrlSetOnEvent(-1, 'Start')
$chk_Genauigkeit = GUICtrlCreateCheckbox("Genau", 8, 35)
GUICtrlCreateLabel("Adresse: ", 162, 40, 40, 17)
$lbl_Adresse = GUICtrlCreateLabel("", 210, 40, 350, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("Tel.: ", 560, 40, 20, 17)
$lbl_TelNum = GUICtrlCreateLabel("", 590, 40, 100, 17)
GUICtrlSetColor(-1, 0x0000FF)
$ListView_Kino = GUICtrlCreateListView('', 8, 56, 153, 300)
_GUICtrlListView_AddColumn($ListView_Kino, 'Kino-Name', 149, 0)
_GUICtrlListView_SetExtendedListViewStyle($ListView_Kino, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_ONECLICKACTIVATE))
$ListView_Film = GUICtrlCreateListView('', 160, 56, 810, 300)
_GUICtrlListView_AddColumn($ListView_Film, 'Titel', 200, 2)
_GUICtrlListView_AddColumn($ListView_Film, 'Laufzeit', 75, 2)
_GUICtrlListView_AddColumn($ListView_Film, 'FSK', 200, 2)
_GUICtrlListView_AddColumn($ListView_Film, 'Genre', 150, 2)
_GUICtrlListView_AddColumn($ListView_Film, 'Start Zeit', 180, 2)
_GUICtrlListView_SetExtendedListViewStyle($ListView_Film, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_ONECLICKACTIVATE))
GUICtrlSetState($radio_Heute, $GUI_CHECKED)
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]Func Start()
If GUICtrlRead($txtCity) = "" Then Return MsgBox(0, "Warnung", "Bitte geben Sie einen Stadtnamen oder ein Plz. ein!")
GUISetState(@SW_DISABLE, $MainForm)
SplashTextOn('Suche gestartet', ' Bitte warten.....', 150, 40, -1, -1, 20, "", 13)
$MoreSites = 0
$SiteCount_2 = 0
$SiteCounter = 0
getSource()
SplashOff()
GUISetState(@SW_ENABLE, $MainForm)
EndFunc ;==>Start
Func getSource($ii = -1)
$i = 0
$j = 0
$CityName = StringReplace(StringReplace(StringReplace(StringReplace(GUICtrlRead($txtCity), 'ß', 'ss'), 'ö', 'oe'), 'ä', 'ae'), 'ü', 'ue')
$url = 'http://www.google.de/movies?hl=de&near=' & $CityName & '&date=0&start=' & $SiteCount_2
If (GUICtrlRead($radio_Morgen) = $GUI_CHECKED) Then $url = 'http://www.google.de/movies?hl=de&near=' & $CityName & '&date=1&start=' & $SiteCount_2
If (GUICtrlRead($radio_UeberMorgen) = $GUI_CHECKED) Then $url = 'http://www.google.de/movies?hl=de&near=' & $CityName & '&date=2&start=' & $SiteCount_2
If (GUICtrlRead($radio_UeberUeberMorgen) = $GUI_CHECKED) Then $url = 'http://www.google.de/movies?hl=de&near=' & $CityName & '&date=3&start=' & $SiteCount_2
$oIE = _IECreate($url, 0, 0)
$sHTML = _IEBodyReadHTML($oIE)
_IEQuit($oIE)
If $MoreSites = 0 Then
For $i = 0 To UBound($Array_Cinema, 1) - 1
For $jj = 0 To UBound($Array_Cinema, 2) - 1
$Array_Cinema[$i][$jj] = ''
Next
Next
EndIf
$aArray = StringSplit($sHTML, @CRLF, 1)
For $i = 0 To UBound($aArray) - 1
Select
Case $aArray[$i] = "<DIV class=theater>"
$j = 0
$i += 2
$ii += 1
$temp_array = _StringBetween($aArray[$i], "<SPAN dir=ltr>", "</SPAN>")
If @error = 0 Then $Array_Cinema[$ii][$j] = $temp_array[0]
$i += 1
$j += 1
$temp_array = _StringBetween($aArray[$i], "<DIV class=info>", "<A class=")
If @error = 0 Then $Array_Cinema[$ii][$j] = $temp_array[0]
Case $aArray[$i] = "<DIV class=movie>"
$i += 1
$j += 1
$temp_array = _StringBetween($aArray[$i], "<SPAN dir=ltr>", "</SPAN>")
If @error = 0 Then $Array_Cinema[$ii][$j] = $temp_array[0]
$j += 1
$temp_array = _StringBetween($aArray[$i], "</NOBR>", "</SPAN>")
If @error = 0 Then $Array_Cinema[$ii][$j] = $temp_array[0]
$i += 1
$j += 1
$temp_array = _StringBetween($aArray[$i], "<DIV class=times>", "</DIV>")
If @error = 0 Then $Array_Cinema[$ii][$j] = $temp_array[0]
Case StringInStr($aArray[$i], 'date=1">')
$temp_array = _StringBetween($aArray[$i], 'date=1">', "</A></DIV>")
If @error = 0 Then GUICtrlSetData($radio_Morgen, $temp_array[0])
Case StringInStr($aArray[$i], 'date=2">')
$temp_array = _StringBetween($aArray[$i], 'date=2">', "</A></DIV>")
If @error = 0 Then GUICtrlSetData($radio_UeberMorgen, $temp_array[0])
Case StringInStr($aArray[$i], 'date=3">')
$temp_array = _StringBetween($aArray[$i], 'date=3">', "</A></DIV>")
If @error = 0 Then GUICtrlSetData($radio_UeberUeberMorgen, $temp_array[0])
Case StringInStr($aArray[$i], '<TD noWrap><A href')
If $MoreSites = 0 Then $SiteCount += 1
EndSelect
Next
If ($MoreSites = 0) Then
$MoreSites = 1
While $SiteCounter < $SiteCount
$SiteCounter += 1
$SiteCount_2 += 10
getSource($ii)
WEnd
Find_Cinema()
EndIf
EndFunc ;==>getSource
Func GetFilmList()
Dim $i_ListView = 0
$Index = _GUICtrlListView_GetHotItem($ListView_Kino)
If ($Index = -1) Then Return
_GUICtrlListView_BeginUpdate(GUICtrlGetHandle($ListView_Film))
$String_Seperated = StringSplit($Array_Cinema[$Index][1], " - ", 1)
If ($String_Seperated[0] = 2) Then GUICtrlSetData($lbl_TelNum, $String_Seperated[2])
GUICtrlSetData($lbl_Adresse, $String_Seperated[1])
For $j = 2 To UBound($Array_Cinema, 2) - 1
If ($Array_Cinema[$Index][$j] <> '') Then
_GUICtrlListView_AddItem($ListView_Film, $Array_Cinema[$Index][$j])
$j += 1
$Temp = StringTrimLeft($Array_Cinema[$Index][$j], 10)
If ($Temp <> '') Then
$TempArray = StringSplit($Temp, '- ', 1)
Switch $TempArray[0]
Case 1
_GUICtrlListView_AddSubItem($ListView_Film, $i_ListView, StringTrimRight($TempArray[1], 3), 1)
Case 2
_GUICtrlListView_AddSubItem($ListView_Film, $i_ListView, StringTrimRight($TempArray[1], 3), 1)
_GUICtrlListView_AddSubItem($ListView_Film, $i_ListView, StringTrimLeft(StringTrimRight($TempArray[2], 3), 5), 2)
Case 3
_GUICtrlListView_AddSubItem($ListView_Film, $i_ListView, StringTrimRight($TempArray[1], 3), 1)
_GUICtrlListView_AddSubItem($ListView_Film, $i_ListView, StringTrimRight(StringTrimRight($TempArray[2], 3), 3), 2)
_GUICtrlListView_AddSubItem($ListView_Film, $i_ListView, StringTrimRight($TempArray[3], 1), 3)
EndSwitch
EndIf
$j += 1
_GUICtrlListView_AddSubItem($ListView_Film, $i_ListView, StringReplace($Array_Cinema[$Index][$j], ' ', ';'), 4)
$i_ListView += 1
EndIf
Next
_GUICtrlListView_EndUpdate(GUICtrlGetHandle($ListView_Film))
EndFunc ;==>GetFilmList
Func Find_Cinema()
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView_Kino))
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView_Film))
_GUICtrlListView_BeginUpdate(GUICtrlGetHandle($ListView_Kino))
$aEnd = UBound($Array_Cinema, 1) - 1
If (GUICtrlRead($chk_Genauigkeit) = $GUI_CHECKED) Then
For $i = 0 To $aEnd Step +1
If (StringInStr($Array_Cinema[$i][1], GUICtrlRead($txtCity)) <> 0) Then _GUICtrlListView_AddItem($ListView_Kino, $Array_Cinema[$i][0])
Next
Else
For $i = 0 To $aEnd
If ($Array_Cinema[$i][0] <> '') Then _GUICtrlListView_AddItem($ListView_Kino, $Array_Cinema[$i][0])
Next
EndIf
_GUICtrlListView_EndUpdate(GUICtrlGetHandle($ListView_Kino))
EndFunc ;==>Find_Cinema
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
$hWndListView = $ListView_Kino
If Not IsHWnd($ListView_Kino) Then $hWndListView = GUICtrlGetHandle($ListView_Kino)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, 'hWndFrom'))
$iIDFrom = DllStructGetData($tNMHDR, 'IDFrom')
$iCode = DllStructGetData($tNMHDR, 'Code')
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_CLICK
$tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView_Film))
GetFilmList()
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Func _ExitC()
If (MsgBox(292, '', 'Wollen sie das Programm wirklich Beenden ?') = 6) Then Exit
EndFunc ;==>_ExitC
While 1 * Sleep(10)
WEnd
LG Kleiner