首先你想獲取當(dāng)今的天氣預(yù)報(bào) 你發(fā)布在網(wǎng)頁(yè)制作 我姑且是以為你做的是vb.net 網(wǎng)頁(yè)程序其次 獲取當(dāng)今的天氣預(yù)報(bào) 都是調(diào)用各大網(wǎng)站給出的接口 (不會(huì)有人自己去整理這些資料的吧)最后 接口的使用 如果是軟件 可以調(diào)用 WEB服務(wù)接口(各網(wǎng)站有) 網(wǎng)頁(yè)也可以調(diào)用這些接口(實(shí)現(xiàn)方法輸入城市地址,返回天氣)還有更簡(jiǎn)單的 直接使用我給出一個(gè)簡(jiǎn)單框架代碼實(shí)現(xiàn):新浪天氣預(yù)報(bào)代碼 代碼 :"/A
兗州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
Visual Basic通用報(bào)表設(shè)計(jì)小結(jié)
本文對(duì)vb設(shè)計(jì)報(bào)表的方法作了一個(gè)小結(jié),大家都知道,在VB平臺(tái)下制作報(bào)表大致有兩種選擇:使用VB自帶的Data Report控件和借助第三方軟件。其中第三方軟件比較著名的就是MS Excel和Seagate公司的CrystalReporter,以下就這三個(gè)方案進(jìn)行詳細(xì)的討論。
1. Data Report控件
1.1 Data Report控件使用方法
由于是VB自帶的控件,所以使用相對(duì)比較方便。使用方法是:首先在"工程"菜單下面選擇"添加Data report"選項(xiàng),這樣Data Report控件就選入到了應(yīng)用程序。
使用Data report的情況大多數(shù)采用數(shù)據(jù)綁定的模式,也就是將此控件與數(shù)據(jù)庫(kù)的數(shù)據(jù)表綁定起來(lái)以便可以不用編寫(xiě)代碼就輕松完成報(bào)表的設(shè)計(jì)。要使用數(shù)據(jù)綁定就必須要指定數(shù)據(jù)源,這里的數(shù)據(jù)源不是數(shù)據(jù)控件而是數(shù)據(jù)環(huán)境(Data Environment),選擇"工程"菜單下面選擇"添加Data Environment"選項(xiàng)就可以將數(shù)據(jù)環(huán)境添加進(jìn)應(yīng)用程序中。數(shù)據(jù)環(huán)境有兩個(gè)重要的屬性:Connection 和Command屬性,前者是連接指定的數(shù)據(jù)庫(kù),后者連接指定的數(shù)據(jù)表,一旦這兩者都設(shè)置成功之后,就可以把數(shù)據(jù)環(huán)境作為數(shù)據(jù)源了。只需要把Data report的DataSource屬性設(shè)置為前面的數(shù)據(jù)環(huán)境對(duì)象以及把DataMember設(shè)置為數(shù)據(jù)環(huán)境對(duì)象的Command對(duì)象即可。
1.2 Data Report控件界面元素
完成了Data report控件的數(shù)據(jù)綁定工作之后就可以直接控制報(bào)表的制作與顯示了。這里首先熟悉一下Data report控件的顯示界面:
Data report控件一共有5個(gè)區(qū)組成,分別是報(bào)表頭、頁(yè)面頭、細(xì)節(jié)區(qū)、頁(yè)面注腳和報(bào)表注腳。報(bào)表頭和報(bào)表注腳是用分別用于整個(gè)報(bào)表的最上部和最下部,它們將出現(xiàn)于整個(gè)報(bào)表的每一頁(yè),可以放置一些報(bào)表名稱(chēng),時(shí)間之類(lèi)的固定文本;頁(yè)面頭和頁(yè)面注腳只能出現(xiàn)在當(dāng)前頁(yè)的最上部和最下部,也就是說(shuō)它只能出現(xiàn)在當(dāng)前頁(yè)中,不出現(xiàn)在其他頁(yè)面中,可以放置隨頁(yè)面變化的一些量比如頁(yè)碼等;而細(xì)節(jié)區(qū)就是用來(lái)進(jìn)行實(shí)際顯示的區(qū)域,它是我們最為關(guān)心的區(qū)域,通過(guò)在此區(qū)域內(nèi)放置顯示控件可以控制報(bào)表的實(shí)際顯示輸出。這里介紹一下放置文本框控件的使用方法,其實(shí)在綁定情況下只需要設(shè)置其DataMember和Datafield即可,前者用來(lái)指定數(shù)據(jù)表,可以設(shè)置為前面數(shù)據(jù)環(huán)境對(duì)象的Command對(duì)象,后者是指定數(shù)據(jù)段,即綁定的數(shù)據(jù)庫(kù)的指定字段。這樣不需要編寫(xiě)任何代碼就可以實(shí)現(xiàn)報(bào)表的顯示工作。
1.3 Data Report控件的打印功能
對(duì)于報(bào)表的打印可以直接使用Data report自帶的打印功能,即可以實(shí)現(xiàn)簡(jiǎn)易的報(bào)表打印。不過(guò)為了實(shí)現(xiàn)比較復(fù)雜的打印功能,也可以通過(guò)程序控制的方法來(lái)進(jìn)行。這里只是給出一個(gè)實(shí)現(xiàn)思路:首先需要制作一個(gè)按鈕控件來(lái)顯示"打印設(shè)置"的窗口,通過(guò)這個(gè)窗口用戶可以設(shè)置打印的相關(guān)的參數(shù),然后在實(shí)現(xiàn)打印的子模塊中使用VB內(nèi)嵌的printer對(duì)象來(lái)實(shí)現(xiàn)真實(shí)的打印,該對(duì)象能夠?qū)Υ蛴〉漠?dāng)前位置進(jìn)行定位,而且對(duì)打印的字體等參數(shù)進(jìn)行控制,所以結(jié)合"打印設(shè)置"窗口可以實(shí)現(xiàn)類(lèi)似于word里面的打印功能。
2.MS Excel
說(shuō)起報(bào)表設(shè)計(jì)應(yīng)用程序,無(wú)意微軟的Excel是一支獨(dú)秀,MS Excel就是用來(lái)進(jìn)行表格和報(bào)表設(shè)計(jì)用的應(yīng)用程序,它具有優(yōu)秀的方格控制和宏代碼定制功能。所以如果在設(shè)計(jì)自己的應(yīng)用程序的時(shí)候能夠結(jié)合到Excel的話,那么你的應(yīng)用程序就應(yīng)該是相當(dāng)?shù)耐晟屏耍驗(yàn)闊o(wú)論是編輯還是打印功能,Excel都提供了很完美的解決方案,所以你的應(yīng)用程序所要做的事情就是實(shí)現(xiàn)程序和Excel通訊即可。
事實(shí)上,可以使用VBscript可以將VB與Excel兩者連接起來(lái)。以下就簡(jiǎn)要介紹在VB下開(kāi)發(fā)基于Excel的編程思路。
在VB中處理Excel的對(duì)象大致分為五個(gè):Application對(duì)象、WorkBook對(duì)象、WorkSheet對(duì)象、Range對(duì)象以及Cell對(duì)象。它們的功能分別如下:
Application---------用來(lái)指代整個(gè)應(yīng)用程序。
WorkBook----------表示工作簿對(duì)象
WorkSheet---------表示工作表對(duì)象,注意,一個(gè)工作簿可以包含多個(gè)工作表,它們就類(lèi)似于多文檔中的框架窗口和里面的單個(gè)視圖一樣。
Range-------------表示工作表中的某個(gè)區(qū)域范圍對(duì)象,特殊情況下也可以只代表一個(gè)Cell。
Cell---------------表示特定工作表的一個(gè)單元格對(duì)象。這個(gè)對(duì)象的使用頻率是最高的。
清楚了以上的五個(gè)對(duì)象的應(yīng)用范圍,那么使用它們就很簡(jiǎn)單了,不過(guò)在使用這些對(duì)象之前,首先需要對(duì)它們進(jìn)行聲明。方法是在"工程"的"引用"對(duì)話框之下選擇"Microsoft Excel9.0 Object Library",這樣就將整個(gè)Excel對(duì)象庫(kù)就引入到程序中來(lái)了。
下面舉一個(gè)示例,其實(shí)現(xiàn)的功能是打開(kāi)一個(gè)工作簿。
Function OpenBook(strFilePath As String) As Boolean
' This procedure checks to see if the workbook
' specified in the strFilePath argument is open.
' If it is open, the workbook is activated. If it is
' not open, the procedure opens it.
Dim wkbCurrent As Excel.Workbook
Dim strBookName As String
On Error GoTo OpenBook_Err
' Determine the name portion of the strFilePath argument.
strBookName = NameFromPath(strFilePath)
If Len(strBookName) = 0 Then Exit Function
If Workbooks.Count 0 Then
For Each wkbCurrent In Workbooks
If UCase$(wkbCurrent.Name) = UCase$(strBookName) Then
wkbCurrent.Activate
Exit Function
End If
Next wkbCurrent
End If
Workbooks.Open strBookName
OpenBook = True
OpenBook_End:
Exit Function
OpenBook_Err:
OpenBook = False
Resume OpenBook_End
End Function
3.Crystal Reporter(水晶報(bào)表)
做為一個(gè)優(yōu)秀的報(bào)表軟件,水晶報(bào)表是實(shí)際應(yīng)用中最多的方案。在這一節(jié)里主要介紹一下水晶報(bào)表的定制和顯示,打印功能的實(shí)現(xiàn)。
首先要區(qū)分Crystal Reports插件程序和Crystal Reports控件。前者主要用來(lái)創(chuàng)建報(bào)表模板,后者主要是用來(lái)在程序中顯示和打印報(bào)表,這兩者的分工決定了它們程序中的功能的不同。
其中Crystal Reports的插件程序可以從Seagate公司的官方網(wǎng)站上下載最新的測(cè)試版本。
3.1 Crystal Reports插件程序的使用
選擇"外接程序"菜單的"報(bào)表設(shè)計(jì)器"選項(xiàng),則VB將執(zhí)行Crystal Reports Pro插件應(yīng)用程序。在Crystal Reports Pro里選擇"新建報(bào)表"圖標(biāo),可以選擇8標(biāo)準(zhǔn)模板和一個(gè)自定義的模板來(lái)開(kāi)始報(bào)表工程。
整個(gè)水晶報(bào)表的使用跟第一節(jié)的Data Report的使用很類(lèi)似。首先需要給報(bào)表選擇數(shù)據(jù)源,(即數(shù)據(jù)庫(kù)),然后就可以在報(bào)表中添加、刪除、修改字段以及為記錄分組,可以利用水晶報(bào)表創(chuàng)建很多具有自定義風(fēng)格的報(bào)表。由于本身Crystal Reports插件程序就是一個(gè)功能強(qiáng)大的報(bào)表設(shè)計(jì)軟件,這里就不能一一的講解了,有興趣可以參考程序自帶的幫助文檔。
3.2 Crystal Reports控件的背景知識(shí)
Crystal Reports Pro還提供一個(gè)報(bào)表生成模塊,該模塊可以連接到并訪問(wèn)VB應(yīng)用程序,VB程序員不需花費(fèi)大量時(shí)間寫(xiě)自己的代碼就可再應(yīng)用程序中添加復(fù)雜的報(bào)表生成及輸出功能。
Crystal Reports引擎是一個(gè)動(dòng)態(tài)鏈接庫(kù),它可以使應(yīng)用程序訪問(wèn)并具有同Crystal Reports 一樣強(qiáng)大的報(bào)表輸出功能。應(yīng)用程序是通過(guò)Crystal Reports ActiveX控件來(lái)訪問(wèn)引擎。再編譯時(shí)應(yīng)用程序同報(bào)表引擎鏈接,以給應(yīng)用程序添加了生成報(bào)表的功能。
當(dāng)程序使用Crystal Reports ActiveX控件時(shí),可以通過(guò)再設(shè)計(jì)時(shí)設(shè)置Crystal對(duì)象屬性或者再運(yùn)行時(shí)改變對(duì)象屬性,來(lái)建立應(yīng)用程序和Crystal Reports之間的連接。通過(guò)Crystal控件的屬性可以指定:
響應(yīng)應(yīng)用程序某個(gè)事件的輸出報(bào)表的名字。
報(bào)表的目標(biāo)位置(預(yù)覽窗口、磁盤(pán)文件或者電子郵件等)。
想要打印的份數(shù)(如果報(bào)表提交給打印機(jī)的話)。
輸出文件的信息。
預(yù)覽窗口的大小及位置信息(如果報(bào)表在預(yù)覽窗口中顯示時(shí))。
選擇公式信息(如果在報(bào)表中限制記錄的話)。
排序信息。
其他相關(guān)的屬性。
這里要注意一點(diǎn)的是,Crystal控件必須在由Crystal Reports Pro創(chuàng)建的報(bào)表中使用,而試圖在VB應(yīng)用程序里引用之前,必須首先創(chuàng)建報(bào)表。
3.3 Crystal Reports控件的使用
了解了Crystal Reports控件的功能,那么就可以使用它了。首先通過(guò)"工程"的"部件"選項(xiàng)里面選擇"Crystal Reports Control",那么VB的工具箱里面就添加了Crystal Reports控件了。
注意,對(duì)于Crystal Reports控件的最重要的屬性就是ReportFileName了,把它設(shè)置為前面已經(jīng)在Crystal Reports Pro里定制好的報(bào)表模板的文件路徑。那么只需要調(diào)用控件的PrintReport方法就可以將報(bào)表顯示出來(lái)了。
相對(duì)于Data Report控件來(lái)說(shuō),Crystal Reports控件的功能更加的完善,報(bào)表預(yù)覽,打印,編輯修改等功能都很完善,所以在實(shí)際的報(bào)表應(yīng)用設(shè)計(jì)方案中,使用Crystal Reports的相對(duì)較多。然而Crystal Reports控件也有它的局限性,即它不能在運(yùn)行時(shí)創(chuàng)建自定義的窗口??梢允褂每丶臄?shù)據(jù)綁定屬性來(lái)創(chuàng)建數(shù)據(jù)綁定報(bào)表,但是報(bào)表本身的格式都是由Crystal Reports控件內(nèi)部進(jìn)行處理的。一般說(shuō)來(lái),Crystal Reports控件不提供在程序中對(duì)報(bào)表字段級(jí)的訪問(wèn)。這一缺陷可以通過(guò)設(shè)計(jì)出足夠多的報(bào)表來(lái)彌補(bǔ)。
4.其他方法
除了通過(guò)上述的三種方法來(lái)實(shí)現(xiàn)報(bào)表設(shè)計(jì)以外,當(dāng)然也可以直接利用Win32 API來(lái)進(jìn)行直接進(jìn)行設(shè)計(jì),這種方式是最為靈活也是最為繁瑣的方式,因?yàn)樗械木庉?、修改、打印等功能都是由程序控制,所以一般情況下不會(huì)使用這樣的方式來(lái)處理,這里就不介紹了。
5.小結(jié)
報(bào)表設(shè)計(jì)是程序員經(jīng)常要遇到的問(wèn)題,本文主要介紹目前主流的報(bào)表設(shè)計(jì)方案,由于所涉及到的知識(shí)點(diǎn)比較多,限于篇幅,在這里只是作了簡(jiǎn)要的介紹,希望可以起到拋磚引玉的作用。
為了方便,文本框改成數(shù)組控件。代碼中用北京作為天氣預(yù)報(bào)地點(diǎn),改的話將網(wǎng)址改下即可,具體方法可以百度。另外,新浪天氣預(yù)報(bào)只有4天。最后說(shuō)明一下,除了標(biāo)簽和文本框,沒(méi)用其它控件。