2016-05-01 55 views
0

在Livecode中我使用XML從數據庫中提取信息並使用重複函數對其進行組織。因此,每個節點都有諸如照片,名稱,年齡等信息。如何將字段中的URL轉換爲照片?

但是,該照片是從XML讀取的,作爲照片的URL鏈接。有沒有一種方法可以自動加載這個URL,並使圖片在其後的節點中也顯示信息?

on preOpenStack 
put url "http://www.petango.com/webservices/wsadoption.asmx/AdoptableSearch?authkey=XXXXXXXX&speciesID=&sex=&ageGroup=&location=&site=&onHold=&orderBy=&primaryBreed=&secondaryBreed=&specialNeeds=&noDogs=&noCats=&noKids=&stageID=" into tURL 
put revCreateXMLTree(tURL, true, true, false) into tInfo 
put revXMLChildNames(tInfo, "ArrayOfXmlNode", return, "XmlNode", true) into tChildren 
repeat for each line tChild in tChildren 
    add 1 to x 
    put revXMLChildNames(tInfo, "ArrayOfXmlNode/"&tChild&backslash, return, "adoptableSearch", true) into tAdoptable 

    put revXMLNodeContents(tInfo, "ArrayOfXmlNode/"&tChild&"/"&tAdoptable&"/Photo") into tData 
    put "Name: " & revXMLNodeContents(tInfo, "ArrayOfXmlNode/"&tChild&"/"&tAdoptable&"/Name") & return after tData 
    put return after tData 
    put return after tData 
end repeat 

    put tData & return after tOutput 
    set the text of field "tData" to tOutput 

end preOpenStack 

回答

0

您編寫了一個XML節點將URL返回給照片,但您不寫這是哪個節點。假設

revXMLNodeContents(tInfo, "ArrayOfXmlNode/"&tChild&"/"&tAdoptable&"/Photo") 

返回URL。把URL到一個變量,並用它來設置圖像對象的文本:

put revXMLNodeContents(tInfo, "ArrayOfXmlNode/"&tChild&"/"&tAdoptable&"/Photo") into myUrl 
put url myUrl into myPictureData 
if the result is empty then 
    set the text of img 1 to myPictureData 
else 
    beep 
    answer error "Can't load picture." 
end if 
+0

Mark,這確實有效,但是它只是屏幕中間的一張圖片,它在圖片重複到下一個節點時進行切換。有沒有辦法讓每張照片與上一張照片分開? – CElwell

+0

@CElwell是的。詳細瞭解LiveCode和使用圖像對象。閱讀關於'rect'屬性並思考你的項目設計。如果你需要幫助,最好問一個新問題。 – Mark

0

抱歉商標出色答卷後佔用的線程。但我通常只設置文件名的圖像:

repeat for each line tChild in tChildren 
    add 1 to x 
    ... 
    put revXMLNodeContents(tInfo, "ArrayOfXmlNode/"&tChild&"/"&tAdoptable&"/Photo") into myUrl 
    create image ("image" && x) 
    put it into tImageID 
    set the filename of tImageID to myURL 
    ... 
end repeat 

這不會檢查圖像正確加載但你不會得到任何圖像反正這是一個簡單的解決方案。

+0

這種方法存在一些問題,如果你是高級程序員,你可以解決這個問題。因此我決定使用一種更可靠,更健壯的方法。 – Mark

+0

我很抱歉,因爲我沒有看到你的答案。我也明白馬克在這裏說的是什麼,但我也嘗試過你的方法,最後出現在應用程序中間的圖像出現在另一個上面的問題。 – CElwell

+0

如果您實時創建圖像,以及實際上任何控制,它們將被放置在中心,您需要通過代碼將其移動到正確的位置。如果您有預定義的圖片,您可以鎖定它們的大小和位置,並且它們將保持大小和位置。 – hliljegren

相關問題