Archief - [PROG][VBS] script doet niks

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Robain

Legacy Member
Hallo,


Ik heb hier een scriptje gevonden dat het volgende doet

Het script leest het bestand C:\TVGids\Kanalen.txt uit voor de kanalen die het script uit moet lezen. Vervolgens haalt ie de benodigde informatie van de pagina "http://www.tvgids.nl/nustraks/index.php?uur=-1&minuut=-1&datum=&volledig=1" en slaat het vervolgens op in het
bestand C:\TVGids\TVGids.txt, met een witregel tussen elke zender.


Het rare is echter dat, als ik dit script laat uitvoeren (lees: dubbelklik op TVGids.vbs) er niets gebeurd. Het bestand TVGids.txt wordt zelfs niet eens aangemaakt...

Iemand die weet hoe dit komt?? Script staat hier onder...


Code:
' -- TVGids.vbs
' -- Versie 1.3
' 
' -- By Triplesix

Set Http 	= CreateObject("WinHttp.WinHttpRequest.5.1")
'Set Http 	= CreateObject('Microsoft.XMLHttp")
Set FileSystem 	= CreateObject("Scripting.FileSystemObject")
TVGuideFile	= "C:\TVGids\TVGids.txt"
ChannelFile     = "C:\TVGids\Kanalen.txt"

Function RemoveTags(S)
        Dim strNew
        Dim strChar
        Dim strLen, CharPos

        ' Remove HTML tags
        Do Until InStr(S, "<") = 0
                StrStart = InStr(S, "<")
                StrEnd   = InStr(S, ">") + 1
                Tag      = Mid(S, StrStart, StrEnd - StrStart)
                S        = Replace(S, Tag, "")
        Loop
        
        ' Remove all special chars
        strLen = Len(S)
        strNew = ""
        For CharPos = 1 To strLen
                strChar = Mid(S, CharPos, 1)
                If Asc(strChar) > 31 Then
                        strNew = strNew & strChar
                End If
        Next

        RemoveTags = Trim(strNew)
End Function


Function TVGids()
	Dim TimeStart, TimeEnd, TimeString
        Dim ProgramStart, ProgramEnd, ProgramString
        Dim DetailsStart, DetailsEnd

        ' Download HTML page
        Http.Open "GET","http://www.tvgids.nl/nustraks/index.php?uur=-1&minuut=-1&datum=&volledig=1", False
	Http.Send
        Http.WaitForResponse(60)
	HtmlResult = Http.ResponseText

	' Open output file for writing
        Set WriteTVGuide			= FileSystem.CreateTextFile(TVGuideFile, True)
            
	
	' Check HTML title
        If InStr(HtmlResult, "<title>TVGids.nl</title>") > 0 Then
                ' Read Channel list for info retrieving
                Set ReadChannels			= FileSystem.OpenTextFile(ChannelFile, 1, False)
                ChannelList                             = Split(ReadChannels.ReadAll, vbCrLf)
                ReadChannels.Close

                ' Info extraction for each specified channel 
                For Each Channel in ChannelList

                        If Channel <> "" Then

                                ' Search for channel in HTML
                                SearchPos  = InStr(HtmlResult, Channel & "</span>")
				If SearchPos = 0 Then
                                        WriteTVGuide.WriteLine("Unable to obtain data...")
                                        WriteTVGuide.WriteLine("")
                                Else
                                        ' Get start and end position for each data field
                                        TimeStart			= InStr(SearchPos, HtmlResult, "<th width")
                                        TimeEnd				= InStr(SearchPos, HtmlResult, "</th>")
                                        TimeString			= RemoveTags( Mid(HtmlResult, TimeStart, TimeEnd - TimeStart) )

                                        If TimeString <> "" Then
                                                ProgramStart		= InStr(SearchPos, HtmlResult, "<a href=")
                                                ProgramEnd		= InStr(ProgramStart, HtmlResult, "</a>" )
                                                ProgramString           = RemoveTags( Mid(HtmlResult, ProgramStart, ProgramEnd - ProgramStart) )

                                                DetailsStart		= InStr(SearchPos, HtmlResult, "/programmadetail")
                                                DetailsEnd		= InStr(DetailsStart, HtmlResult, """")            
                                                WriteTVGuide.WriteLine("[ " & TimeString & " ]  " & ProgramString)
                                        Else
                                                WriteTVGuide.WriteLine("Geen uitzending")
                                        End If

                                        ' Search for next program
                                        SearchPos  = InStr(TimeEnd, HtmlResult, "straks")
 
                                        ' Get start and end position for each data field
                                        TimeStart			= InStr(SearchPos, HtmlResult, ">") + 1
                                        TimeEnd		        	= InStr(SearchPos, HtmlResult, "</th>")
                                        TimeString			= RemoveTags( Mid(HtmlResult, TimeStart, TimeEnd - TimeStart) )

                                        If TimeString <> "" Then
                                                ProgramStart		= InStr(SearchPos, HtmlResult, "<a href=")
                                                ProgramEnd		= InStr(ProgramStart, HtmlResult, "</a>" )
                                                ProgramString           = RemoveTags( Mid(HtmlResult, ProgramStart, ProgramEnd - ProgramStart) )

                                                DetailsStart		= InStr(SearchPos, HtmlResult, "/programmadetail")
                                                DetailsEnd		= InStr(DetailsStart, HtmlResult, """")            
                                                WriteTVGuide.WriteLine("[ " & TimeString & " ]  " & ProgramString)
                                        Else
                                                WriteTVGuide.WriteLine("Geen uitzending")
                                        End If
                                End If
                                WriteTVGuide.WriteLine("")
                        End If
                Next
        Else
                WriteTVGuide.WriteLine("Unable to obtain data...")
        End If
        
        WriteTVGuide.Close                
End Function


Greetz

Vich

Legacy Member
Heb je wel gecontroleerd of die objecten wel gecreëerd werden?
Dit kan misschien gefaald hebben, omdat je PC wegens beveiligingsredenen dit niet toestond.

[edit] Maar misschien is het handig om ook effectief je functie aan te roepen? ;)

Robain

Legacy Member
Vich zei:
Heb je wel gecontroleerd of die objecten wel gecreëerd werden?
Dit kan misschien gefaald hebben, omdat je PC wegens beveiligingsredenen dit niet toestond.

[edit] Maar misschien is het handig om ook effectief je functie aan te roepen? ;)

omg *mept zen eigen*


thanks :-D
+rep
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan