Hallo ich bin dabei ein web Radio zu programmieren das läuft auch ganz gut wenn nicht plötzlich dieser Fehler in einer meiner include Funktionen aufgetaucht wäre und ich kann ihn einfach nicht beheben
(Der Fehler Teil ist im Skript mit einem Kasten versehen)
Zu Funktion des Skript Teils er List die Titel Infos von der Sender Seite aus (Funktioniert) und dann wird mit dem Interpret und Album Name ein Cover in Google gesucht. Dies wird dann im temp dir gespeichert im Haupt Skript wird dann diese Datei geöffnet und angezeigt soweit so gut doch dann kommt dieser seltsame Error : in Zeile 128 : ==> Subscript used with non-Array variable.:
Ich habe schon alles probiert Dim Löschen umschreiben alles aber es klappt nicht bitte um Hilfe!
Spoiler anzeigen
#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <Constants.au3>
#include <GUIEdit.au3>
#include <GuiToolbar.au3>
#include <inet.au3>
#include <array.au3>
#include <File.au3>
#include <String.au3>
_infos() ; -> nur zum test aktiv
Func _infos()
Dim $string[1]
$string = _INetGetSource("http://www.deliciousagony.com/scripts/MakeNowplayingPage.php")
Local $table = "", $buffer
$split = StringSplit($string, "</P>", 1)
For $i = 1 To UBound($split) - 1
$between = _StringBetween($split[$i], ">", "<")
$buffer = ''
For $j = 0 To UBound($between) - 1
$replace = StringRegExpReplace($between[$j], "<.+>", "")
$replace = StringReplace($replace, " ", " ")
if StringRegExp($replace, "\w") Then $buffer &= $replace
Next
If $buffer <> '' Then $table &= $buffer & @CRLF
Next
$z = StringSplit ( $table, @LF )
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$nowplay = StringReplace($z[5],"(Prerecorded)Now Playing:","")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Filename = $nowplay
[/autoit] [autoit][/autoit] [autoit]$a=$filename
[/autoit] [autoit][/autoit] [autoit]$a=0
$st=1
$anfang=0
while 1
$a = StringInStr($filename,"\",0,$st)
;MsgBox(0,"",$anfang)
if $a=0 then ExitLoop
$st=$st+1
$anfang=$a
WEnd
$anfang=$anfang + 1
; wo ist " - "
$strich = " - "
$Interende = StringInStr($filename,$strich)
If $Interende = @error Then
$Interpret = ":::::::"
EndIf
;MsgBox(0,"Interende",$Interende)
$bis = $Interende-$anfang
$Interpret = StringMid($filename,$anfang,$bis)
;MsgBox(0,"Interpret",$Interpret)
[/autoit] [autoit][/autoit] [autoit]$titelanfang=$Interende + 3
$komma = ", from the"
$titelende = StringInStr($filename,$komma)
If $titelende = @error Then
MsgBox(48, "ERROR 345", "Fehler beim Sting (Datei Namen) -> Title'titelende'")
EndIf
;MsgBox(0,"titelende",$titelende)
$bis = $titelende - $titelanfang
$Titel99 = StringMid($filename,$titelanfang,$bis)
;MsgBox(0,"Titel",$Titel)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; wo ist "`"
$apo="`"
$albumanfa=StringInStr($filename,$apo,0,1)
If $albumanfa = @error Then
MsgBox(48, "ERROR 347", "Fehler beim Sting (Datei Namen) -> Album'Anfang'")
EndIf
$albumende=StringInStr($filename,$apo,0,2)
If $albumende = @error Then
MsgBox(48, "ERROR 348", "Fehler beim Sting (Datei Namen) -> Album'Ende'")
EndIf
$albumanfa=$albumanfa + 1
$albumende = $albumende
$bis = $albumende - $albumanfa
$Album = StringMid($filename,$albumanfa,$bis)
; Jahr
$jahranfa = StringInStr($filename,", from the")
If $jahranfa = @error Then
MsgBox(48, "ERROR 343", "Fehler beim Sting (Datei Namen) -> Jahr'Anfang'")
EndIf
$jahrende = StringInStr($filename," album `")
If $jahrende = @error Then
MsgBox(48, "ERROR 343", "Fehler beim Sting (Datei Namen) -> Jahr'Ende'")
EndIf
$jahranfa = $jahranfa + 11
;MsgBox(0,"ja",$jahranfa)
;MsgBox(0,"ja",$jahrende)
$bis = $jahrende - $jahranfa
$Jahr = StringMid($filename,$jahranfa,$bis)
$i = "1"
$Titel1 = $Interpret & " " & $Album
$Titel = $Titel1
$Link = "http://www.google.de/images?hl=de&gbv=2&tbs=isch:1&aq=f&aqi=&oq=&gs_rfai=&q=" & StringReplace($Titel, " ", "+") & "+Cover#q=Dream+theater+cover&hl=de&gbv=2&tbs=isch:1,isz:m&source=lnt&ei=5kP1S8mlHpW4sgb-wYzvBQ&sa=X&oi=tool&resnum=1&ct=tlink";=> Neue version 2.1 bilder im grad mittel oder hör weden nur genommen damit kein bild mit nu 50x50 als cover kommt!!
; "http://images.google.de/images?um=1&hl=de&tbs=isch%3A1&sa=1&q="&StringReplace($Titel," ","+")&"+Cover&btnG=Suche&aq=f&oq=&start=0";=>alte version
$sSource = __InetGetSource($Link)
$aPic = StringRegExp($sSource, "(?>href=/imgres\?imgurl=)(.+?)(?>&imgrefurl=)", 3)
FileDelete(@TempDir & "Cover-aktuell.jpg")
InetGet($aPic[$i], @TempDir & "Cover-aktuell.jpg")
;$tag=_ID3GetTagField("TOFN")
;MsgBox(0,"ja",$tag)
;MsgBox(0,"",$Titel99 & $Interpret & $Album & $Jahr)
Return $Titel99
Return $Interpret
Return $Album
Return $Jahr
EndFunc
Func __InetGetSource($s_URL)
Local $sString = InetRead($s_URL, 1)
Local $nError = @error, $nExtended = @extended
Return SetError($nError, $nExtended, BinaryToString($sString))
EndFunc ;==>__InetGetSource