2015-04-30 44 views
1

我正在創建一個程序,幫助我從天氣網站下載圖片,以便獲取雷達圖像。它創建一個名爲「雷達」的文件,然後創建一個文件。例如,如果是下午5點,它將被命名爲Radar500.png下載圖片時出現「類型不匹配」

的下載工作正常,但它說我有一定行錯誤:

Const adSaveCreateOverWrite = 2 
Const adTypeBinary = 1 
if hour(time) > 12 then 
    a=hour(time)-12 
else   
    if hour(time) = 0 then 
    a="12" 
    else 
    a=hour(time) 
    b=minute(time) 
    end if 
end if 
b=minute(time) 
strSource = "" 
strDest = "C:\Users\Gabriel\Desktop\Overnight weather\radar"+a+"s"+b+".jpg" 
WScript.Echo "path: "+strDest 
'***************************************************************** 
'** Download the image 
strResult = GetImage(strSource, strDest) 
If strResult = "OK" Then 
    wscript.quit(0) 
Else 
    wscript.quit(1) 
End If 

Function GetImage(strPath, strDest) 
    Dim objXMLHTTP, nF, arr, objFSO, objFile 
    Dim objRec, objStream 

    'create XMLHTTP component 
    Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP") 

    'get the image specified by strPath 
    objXMLHTTP.Open "GET", strPath, False 
    objXMLHTTP.Send 

    'check if retrieval was successful 
    If objXMLHTTP.statusText = "OK" Then 
    'create binary stream to write image output 
    Set objStream = CreateObject("ADODB.Stream") 
    objStream.Type = adTypeBinary 
    objStream.Open 
    objStream.Write objXMLHTTP.ResponseBody 
    objStream.SavetoFile strDest, adSaveCreateOverwrite 
    objStream.Close 
    GetImage = "OK" 
    Else 
    GetImage = objXMLHTTP.statusText 
    End If 
End Function 

他們說的錯誤是在第29行字符1.

+0

你試過調試它嗎?您應該能夠看到有關錯誤的更多細節,而不僅僅是出現錯誤。它是什麼類型的錯誤? –

+0

我如何調試...即時通訊新的..對不起.. –

+0

哦!錯誤類型是類型不匹配。 –

回答

2

使用strDest = "C:\Users\...\radar" & a & "s" & b & ".jpg"。按照MSDN: Addition Operator (+) (VBScript)

雖然你也可以使用+運營商連接兩個 字符串,你應該使用&運營商進行連結 來消除歧義。當您使用+運算符時,您可能不是 可以確定是否會發生添加或字符串連接。

類型的表達式如下決定方式+ 經營者的行爲:

If             Then 
Both expressions are numeric       Add 
Both expressions are strings       Concatenate 
One expression is numeric and the other is a string Error: type mismatch 

...

你的腳本應該以未來變化的工作:

  • 指定有效的strSource值,例如strSource = "http://www.goes.noaa.gov/FULLDISK/GMIR.JPG"
  • objXMLHTTP.Open "GET", strSource, False。注意strSource而不是你的strDest
相關問題