致理技術學院 商務科技管理系 實務專題報告 APP 歌唱點播系統 學生 : 楊柏岳 張志銘 黃子龍 張晉嘉 林禹均 本成果報告書經審查及口試合格特此證明 指導老師 : 中華民國 :102 年 12 月 2

Size: px
Start display at page:

Download "致理技術學院 商務科技管理系 實務專題報告 APP 歌唱點播系統 學生 : 楊柏岳 張志銘 黃子龍 張晉嘉 林禹均 本成果報告書經審查及口試合格特此證明 指導老師 : 中華民國 :102 年 12 月 2"

Transcription

1 致理技術學院商務科技管理系實務專題報告 A P P 歌 唱 點 播 系 統 致理技術學院 商務科技管理系實務專題報告 APP 歌唱點播系統 指導老師 : 林正平老師學生 : 楊柏岳 張志銘 黃子龍 張晉嘉 林禹均 一百零貳年十二 中華民國 :102 年 12 月 1

2 致理技術學院 商務科技管理系 實務專題報告 APP 歌唱點播系統 學生 : 楊柏岳 張志銘 黃子龍 張晉嘉 林禹均 本成果報告書經審查及口試合格特此證明 指導老師 : 中華民國 :102 年 12 月 2

3 CTM 實務專題研究授權書 本授權書所授權之實務專題研究為 共 人, 在致理技術學院商務科技管理系 學年度第 學期完 成商管實務專題 商管實務專題名稱 : 同意 不同意本組同學共 人, 皆同意著作財產 權之論文全文資料, 授予教育部指定送繳之圖書館及本人畢業學校圖書館, 為學術研究之目的以各種方法重製, 或為上述目的再授權他人以各種方法重製, 不限地域與時間, 惟每人以一份為限 上述授權內容均無須訂立讓與及授權契約書 依本授權之發行權為非專屬性發行權利 依本授權所為之收錄 重製 發行及學術研發利用均為無償 上述同意與不同意之欄位若未鉤選, 該組同學皆同意視同授權 指導教授姓名 : 專題生簽名 : 學號 : ( 親筆正楷 ) ( 務必填寫 ) 中華民國年月日 I

4 誌 謝 關於這次專題研究開發此 APP 歌唱點播系統, 過程中很感謝老師的協助與幫忙, 給予我們解答程式或資料庫上的問題, 使我們更容易達成此系統的開發 還有感謝小組同學, 分工合作努力不懈把此系統開發完成, 並且藉由這次實務專題開發 APP 系統的應用程式, 讓我們更深入學習認識到程式 C# 語言 Java 語言上的應用 II

5 摘 要 隨著時代的進步, 手機功能除了基本的接聽功能, 拍照 錄音 3G 網 路 體感裝置等功能可以說是一應俱全, 手機的多媒體功能越來越強大, 而現代人把手機用做娛樂用途的比例也越來越高 由於目前台灣的消費生活習慣, 對生活娛樂已經產生很大的重要性, 也勢必對娛樂產業上帶來不少經濟發展, 不像以前只重視於食 衣 住 行之上, 娛樂也帶給我們紓解壓力 休閒娛樂 以及滿足消費者的需求渴望 科技發達日新月異, 現在智慧型手機已經成為人手一隻的必需品,APP 應用程式已經相當活絡, 快速成為生活重要部分 ; 因此專題研究將以 Android 開發系統架構做為一個雛形為基準 本研究藉由撰寫 APP 歌唱點播系統 為主, 此系統透過手機使用本 應用程式, 能達到完成歌唱點播的方便性及即時性, 並認知 APP 歌唱點 播系統 給與結論 關鍵字 :APP 歌唱點播系統 Android Visual Eclipse III

6 目錄 授權書...I 誌謝...II 摘要... III 目錄... IV 圖目錄... V 表目錄... VI 第一章緒論...1 第一節研究背景與動機...1 第二節研究目的 ( 預期效益 )...1 第三節研究流程...2 第四節研究限制...2 第二章系統分析...3 第一節系統簡介...3 第二節系統開發工具...3 第三節系統功能...5 第四節系統特色...5 第五節系統使用環境...6 第三章系統設計...7 第一節研究方法...7 第二節系統架構...7 第三節系統設計...8 第四節使用對象 第四章系統成果 第一節系統流程 第二節系統畫面 第五章結論與建議 第一節研究結論 參考文獻 附錄一 主機端程式碼 附錄二 手機端程式碼 IV

7 圖目錄 圖 1 研究流層...2 圖 2 系統架構圖...7 圖 3 主機端架構設計...8 圖 4 主機端 (PC) 讀取資料庫...8 圖 5 主機端 (PC) 點歌測試...9 圖 6 主機端 (PC) 搜尋功能測試 圖 7 主機端架構設計 圖 8 手機端架構設計 圖 9 手機端測試 - 顯示資料庫資料 圖 10 系統流程圖 圖 11 點歌機起始畫面 圖 12 點歌機使用點選搜尋台語類別 圖 13 使用類別搜尋點播歌曲至清單 圖 14 選擇點播的搜尋方式 圖 15 點歌機使用點播搜尋的注音功能 ( 一 ) 圖 16 點歌機使用點播搜尋的注音功能 ( 二 ) 圖 17 使用注音搜尋點播至清單 圖 18 開始播放清單內之歌曲 圖 19 APP 歌唱點播系統主畫面...27 圖 21 APP 歌手筆畫搜尋結果 圖 22 APP 男歌手搜尋結果 圖 23 APP 筆畫搜尋男歌手結果 圖 24 APP 點選歌曲至點播清單 圖 25 APP 輸入正確查詢條件 V

8 表目錄 表 1 使用環境開發程式設備...6 表 2 使用環境 - 手機設備...6 VI

9 第一章緒論 本研究以探討唱點播系統為主要參考依據指標, 藉由台灣各家競爭業者, 來探討改善使用更完善的 APP 歌唱點播系統 故於本章內容分別加以說明研究動機 研究目的 研究流程, 透過本章各節論述提點本研究之必要性 第一節研究背景與動機 以 Android 智慧型手機的發展來看, 越多人採用 Android 智慧型手機, 代表有越多人對 Android 作業系統所開發的應用軟體的需求 ; 再者 Google 公司有提供一個 Android Market 的軟體銷售平台, 可以讓應用程式開發者所開發的應用程式軟體, 有一個統一且全世界用戶皆可看到即進行購買的平台 有鑑於目前安卓系統智慧型手機的市場逐步攀升, 也促成使用率逐步增加, 對於喜歡使用智慧型手機的消費者, 在 APP 應用程式大部分已經暢行無阻 故本研究之 KTV 點歌僅受限於點歌機上點歌操控 ; 因此藉由此實務專題以 APP 歌唱點播系統為主, 以改善目前受限在點歌機上操控的單方操作或是遙控插播, 將轉變成同時多方的即時性點歌 科技發達日新月異, 現在智慧型手機已經成為人手一機的必需品,APP 應用程式已經相當活絡, 快速成為生活重要部分 ; 因此專題研究將以一個 APP Android 的應用程式系統做為一個雛形為基準 第二節研究目的 ( 預期效益 ) 本研究以探討 KTV 歌唱點播系統為主要參考依據指標, 探討內容包含 APP 歌唱點播系統的各項內建配置及雛形建置 因此本研究依據上述研究動機, 研究目的如下 : 一 達到增加歌曲點播次數及便利性 二 達到結合智慧型手機的實務應用 1

10 第三節研究流程 本研究流程如下圖 (1-3-1) 所示, 首先從觀察以及相關文獻探討提出研究主題 第二部分進行相關文獻之蒐集與探討 第三部分進行研究程式資料庫建置設計, 提出有效研究方法與研究架構 第四部分針對 APP 歌唱點播系統做完整基本建置, 過程中有測試與除錯或是再次文獻探討達成本系統雛形的建置完成 觀察 相關文獻探討 主機端 決定研究主題與動機 網路 建立資料庫 手機端 系統程式撰寫 程式測試及除錯 再次資料蒐集 圖 1 研究流層 論文撰寫 第四節研究限制 專題研究開發此 APP 歌唱點播系統, 關於在硬體設備上無法使用到 與 KTV 產業相同的點歌機 ; 因此本研究開發將以電腦架設為點歌機的主機 端, 來替代點歌機開發此 APP 應用程式 2

11 第二章系統分析 第一節 系統簡介 開發此 APP 歌唱點播系統, 主要提升在 KTV 消費歌唱點播的消費者, 或是使用者能夠享有更便利的點播歌曲空間, 達到智慧型手機轉變成遙控器的替代功能性, 改變以前一對一的點歌機與遙控插播歌曲的傳統限制, 享受更高科技的歌場點播服務, 並讓智慧型手機達到替代功能 第二節 系統開發工具 一 Android 介紹 Android 是一個開放性作業系統, 採用 Apache-2.0 授權條款, 該授權條款允許廠商免費取得 Android 作業系統, 如此可省去軟使用授權費, 產品的成品可降低, 並提升產品的競爭力 ; 另外, 廠商可以改寫原始程式碼, 修改或自行開發的程式碼, 廠商可以自己擁有, 不需再開放出來, 因此廠商的利益得以保障, 如此也可以促成廠商願意在 Android 作業系統的基礎上繼續投入研發, 提供自己產品的特有功能 ; 再者 google 公司持續對 Android 作業系統的更新且快速, 功能與日具增的提升, 如此使得廠商更願意採用 Android 作業系統作為其手持設備之作業系統, 到至今預估全球會有超過 50% 智慧型手持設備皆採用 Android 作業系統 Android 以 Linux 為核心的 Android 行動平台, 使用 Java 作為程式語言, 使介面到功能, 都有層出不窮的變化, 其中 Activity 等同於 J2ME 的 MIDlet, 一個 Activity 類別負責建立視窗, 一個活動中的 Activity 就是在 foreground ( 前景 ) 模式, 背景執行的程式叫做 Service 兩者之間透過 ServiceConnection 和 AIDL 連結, 達到複數程式同時執行的效果 如果執行中的 Activity 全部畫面被其他 Activity 取代時, 該 Activity 便被停止, 甚至被系統清除 View 等同於 J2ME 的 Displayable, 程式人員可以透過 View 類別與 XML layout 檔將 UI 放置在視窗上, 並可以利用 View 打造出所謂的 3

12 Widgets, 其實 Widget 只是 View 的一種, 所以可以使用 xml 來設計 layout 至於 ViewGroup 是各種 layout 的基礎抽象類別,ViewGroup 之內還可以有 ViewGroup View 的建構函式不需要在 Activity 中呼叫, 但是 Displayable 的是必須的, 在 Activity 中, 要透過 findviewbyid() 來從 XML 中取得 View, Android 的 View 類的顯示很大程度上是從 XML 中讀取的 View 與事件息息相關, 兩者之間透過 Listener 結合在一起, 每一個 View 都可以註冊 event listener, 例如 : 當 View 要處理使用者觸碰的事件時, 就要向 Android 框架註冊 View.OnClickListener 另外還有 Image 等同於 J2ME 的 BitMap 二 Visual studio Microsoft Visual Studio( 簡稱 VS) 是美國微軟公司的開發工具套件系列產品 VS 是一個基本完整的開發工具集, 它包括了整個軟體生命周期中所需要的大部分工具, 如 UML 工具 代碼管控工具 整合式開發環境 (IDE) 等等 所寫的目的碼適用於微軟支援的所有平台, 包括 Microsoft Windows Windows Phone Windows CE.NET Framework.NET Compact Framework 和 Microsoft Silverlight 而 Visual Studio.NET 是用於快速生成企業級 ASP.NET Web 應用程式和高效能桌面應用程式的工具 Visual Studio 包含基於元件的開發工具 ( 如 Visual C# Visual J# Visual Basic 和 Visual C++), 以及許多用於簡化基於小組的解決方案的設計 開發和部署的其他技術 三 Eclipse Eclipse 是著名的跨平台開源整合式開發環境 (IDE) 最初主要用來 Java 語言開發, 目前亦有人透過外掛模組使其作為 C++ Python PHP 等其他語言的開發工具,Eclipse 的本身只是一個框架平台, 但是眾多外掛程式的支援, 使得 Eclipse 擁有較佳的靈活性 許多軟體開發商以 Eclipse 為框架開發自己的 IDE Eclipse 是開放原始碼的專案, 你可以到 去免費下載 Eclipse 的最新版本, 一般 Eclipse 提供幾個下載版本 :Release,Stable Build, Integration Build 和 Nightly Build Eclipse 本身是用 Java 語言撰寫, 但下載的壓縮包中並不包含 Java 執行環境, 需要用戶自己另行安裝 JRE, 並且要在作業系統的環境變數中指明 JRE 中 bin 的路徑, 安裝 Eclipse 的步驟非常簡單 : 只需將下載的壓縮包按原路徑直接解壓既可 需注意如果有了更新的版本, 要先刪除老的版本重新安裝, 不能直接解壓到原來的路徑覆蓋老版本, 在解壓縮之後可以到相應的安裝路徑去找 Eclipse.exe 執行 Eclipse 4

13 可由額外的附加功能擴充, 目前已有幾個 open source 的計劃案與公司, 將 額外的附加元件擴充至 Eclipse 中, 例如 :Android 開發 Eclipse 也可被用 在一般性用途的應用程式開發上 四 資料庫 SQLite SQLite 是個輕量化的關聯式資料庫, 它輕薄短小, 無須設定或管理, 沒有伺服器及組態檔, 不需要資料庫管理員, 它只是一個檔案, 可以依須求四處移動, 對移動裝置來說是非常好用的資料庫 使用 SQLite 時, 你並不用先去建立資料庫檔案, 而由 Android 幫你建立 你必須繼承 SQLiteOpenHelper 類別, 由它來負責管理資料庫的建立和版本控制 你必須覆寫 oncreate 及 onupgrade 方法, 當你第一次使用資料庫時 ( 查詢或新增 ), 若 Android 找不到資料庫檔案, 就會觸發 oncreate 方法來建立, 若已經有檔案了, 則不再建立 當資料庫結構有更新時, 即版本號有更改, 就會觸發 onupgrade 方法來更新資料庫, 可以砍掉重建, 也可直接更新結構 第三節 系統功能 APP 歌唱點播系統 主要透過手機使用本應用程式, 就能達到點歌的效果 本應用程式 APP 歌唱點播系統, 歌曲功能包括著 : 點播歌曲功能 歌曲搜尋功能 筆畫搜尋功能 歌曲語言搜尋功能 男歌手搜尋功能 女歌手搜尋功能 團體搜尋功能等 第四節 系統特色 開發此手機安卓系統的 APP 歌唱點播系統, 主要以提升改善在 KTV 歌唱娛樂的消費者, 能夠享有更便利的點歌服務, 來享受高歌一曲的娛樂 另外還包括主機端與網路共同與手機端達成一連貫的系統 本系統手機功能可以提供使用者達到透過手機本 APP 歌唱點播系統的應用程式, 就可以達到輕鬆點歌的功能 5

14 第五節 系統使用環境 主機端 : 電腦設備, 開發此 APP 歌唱點播系統的點歌主機端 項目 電腦名稱 ST-15 內容 作業系統 Windows7 旗艦版 64 位元 (6.1, 建組 7601) 語言中文 ( 繁體 )( 區域設定 : 中文 ( 繁體 )) 系統製造商 系統型號 System manufacturer System Product Name BIOS BIOS Date : 04/17/09 11:12:17 Ver : 處理氣 Intel(R)Core(TM) 2QuadCPU 記憶體 分頁檔案 CPUs),~2.7GHz 2048MB RAM 使用了 1848MB, 還有 2177MB 可用 Direct 版本 DirectX 11 表 1 使用環境開發程式設備 手機端 : 手機設備, 開發 APP 歌唱點播系統之應用程式 頻率 GSM WCDMA HSDPA 21Mbps HSUPA 5.76Mbps 處理器 NVIDIA Tegra 3 時脈 1.5GHz 4 核心 記憶體 1GB DRAM 儲存 內建 32GB Dropbox 25GB 兩年免費 無記憶卡插槽 螢幕 4.7 吋 解析度 IPS 電容式觸控 鏡頭 後鏡頭 800 萬像素 ( 光圈 F/2.0) LED 補光燈 內建獨立 影像晶片 ( 支援 HDR 1080p 影片拍攝 ); 前鏡頭 130 萬像 素 無線 Wi-Fi a/b/g/n 藍牙 4.0( 支援 aptx) GPS( 支援 agps) 電池 1,800mAh 機身顏色 機身顏色 : 白 作業系統 Android 4.0.3(Ice Cream Sandwich) 尺寸 mm 重量 約 130g( 含電池 ) 表 2 使用環境 - 手機設備 6

15 第三章系統設計 第一節研究方法 在 APP 歌唱點播系統 程式系統撰寫過程中, 將以透過第一章節 ( 圖 1) 研究流程的順序來進行此系統建置 主要分成三個程式端, 包括 : 主機端 網路 手機端 從使用手機本應用程式點歌透過網路傳送, 抵達主機端系統回傳資料, 再由主機端透過網路回傳至手機端通知點歌成功訊息 第二節系統架構 主要程式架構分為三個部分, 有主機端 網路 手機端 使用者透過本 APP 歌唱點播系統操作, 如下 ( 圖 2) 架構, 經由使用手機應用程式, 透過網路相互讓二系統端傳送資料, 再給予使用者回饋成功訊息 而資料庫經由 Microsoft Access 撰寫, 再由各程式端所需, 再轉換成適當的資料庫 則資料庫經由 Microsoft Access 撰寫, 由各程式端所需再轉換資料庫 系統架構 圖 2 系統架構圖 7

16 第三節 系統設計 APP 歌唱點播系統 以分為以下三個型態, 經由主機端的基礎, 皆 由網路架設資料互相回傳, 最後透過安卓撰寫手機端達成一連串系統的應 用程式 將分成以下三個程式端 : 一 主機端 主機端 建立資料庫基本程式架構歌唱播放畫面圖 3 主機端架構設計 與網路 手 機端同步執 行連結 主機端也就是電腦端 是三個程式的基本系統 主機端包含內部所有相關聯的重要作業, 如同包括 : 資料庫 KTV 影片播放 已點歌排序 歌單查詢等, 就如同 KTV 本身點歌機的相同功能型式 ( 一 ) 從資料庫取出性別 = 男的資料顯示在畫面上 string sql = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where 性別 ='1' "; datagridview2.datasource = ds; datagridview2.datamember = " 歌單 "; 圖 4 主機端 (PC) 讀取資料庫 8

17 ( 二 ) 按下按鍵可以把點選的歌曲顯示在點歌清單內 TabControl 控件顯示多個選項, 這些選項類似於筆記本中的分隔卡和 檔案具文件夾中的標籤 private void button1_click(object sender, EventArgs e){ if (tabcontrol1.selectedindex == 0){ Int32 selectedrowcount = datagridview2.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0){ System.Text.StringBuilder sb = new System.Text.StringBuilder(); listbox1.items.add(sb.tostring())}}} 圖 5 主機端 (PC) 點歌測試 9

18 ( 三 ) 選取搜尋方式並輸入資料 string a = combobox1.text; string sql = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where " + a + " like '%" + textbox1.text + "%'"; 圖 6 主機端 (PC) 搜尋功能測試 10

19 二 網路 ( 一 ) 網路架構 網路 基本程式架構封包訊息傳送伺服器建置圖 7 主機端架構設計 與主機端 手機端同步執行連結 網路亦是三個程式的歌曲點歌資料相互回傳 網路內含有其兩者內部所有相關有相關聯的重要作業, 如同包括 : 手機已點過歌曲要給予點歌成功訊息 回傳給予主機端歌曲的點歌作業 通知主機端與手機端兩者之間的對傳功能, 相關以 ( 圖 8-12) 可參見網路程式達到互相的回傳作業 ( 二 ) 網路測試 用以傳送訊息之 TCP Client 端輸入將傳送訊息的 IP:port, Connecting done 即連線成功 圖 8 網路測試起始畫面 11

20 下圖為 TCP Server 端輸入監聽 port, Server 開始監聽 圖 9 伺服器監聽 (1) Server 端監聽到 Client Socket, 可以開始接收訊息 圖 10 伺服器監聽 (2) 12

21 輸入訊息 Enter 送出給 Server 端 圖 11 Client 輸入資料 Server 端接收到 Client 端所傳送之訊息 Server 端也可把訊息送回給 Client 端 圖 11 Server 接收資料並回傳 13

22 此為收到 Server 回傳之訊息的 Client 端畫面 圖 12 Client 接收 Server 回傳資料 14

23 三 手機架構 手機端 基本程式架構應用程式畫面資料庫建置圖 8 手機端架構設計 與主機端 網路端同步執行連結 手機端亦是三個程式的興新重要產品 手機端主要面對就是消費者, 所以應用程式的風評好與壞, 一切都交付於手機應用程式, 主要包括 : 與主機端歌曲查詢的資料同步建置 歌單查詢功能 點歌成功訊息通知等, 就如同是隨行方便的主機端 以下程式可以達到搜尋的功能, 假設使用者輸入周, 可以找到所有姓 周 的歌手資料 if (v == btncreatedb) { CreateDB(); table.gvremoveall(); InsertRecord(16); table.gvupdatepagebar("select count(*) from " + TABLE_NAME+" where "+a+" like "+"'%"+s+"%'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME+" where "+a+" like "+"'%"+s+"%'",db); 以下程式是可以在按下按鈕之後, 顯示出所有的男歌手資料 ; 團體 女歌手等等都是依此類推 else if (v == btnboy) { table.gvremoveall(); InsertRecord(16); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where sex=" +1,db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +1,db); 15

24 以下程式碼主要主要是用程式碼設置 GridView, 以顯示所有的資料內容 gvpage=new GridView(context); gvpage.setcolumnwidth(40);// 設置每個分頁按鈕的寬度 動設置 gvpage.setnumcolumns(gridview.auto_fit);// 分頁按鈕數量自 addview(gvpage, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); srcpageid = new ArrayList<HashMap<String, String>>(); sapageid = new SimpleAdapter(context, srcpageid, R.layout.items, new String[] { "ItemText" }, new int[] { R.id.ItemText }); gvpage.setadapter(sapageid); gvpage.setonitemclicklistener(new public void onitemclick(adapterview<?> arg0, View arg1, int arg2, long arg3) {LoadTable(arg2);// 根據所選分頁讀取對應的數據 if(switchlistener!=null){// 分頁切換時 switchlistener.onpageswitchlistener(arg2,srcpageid.size()); } } }); 圖 9 手機端測試 - 顯示資料庫資料 16

25 第四節 使用對象 針對現在娛樂產業至於 KTV 歌唱的 ; 好樂迪 星據點 錢櫃等 對消費者已經是生活上基本的生活娛樂消費 對於此開發應用程式之 APP 歌唱點播系統, 結合現在智慧型手機的實務應用, 來提升歌唱點播的次數及便利性, 打破傳統只能面對點歌機一對一操作, 或是翻查歌本的遙控插播的單方操作, 將轉變成與點歌機相同功能的 APP 歌唱點播系統 此 APP 歌唱點播系統 應用程式, 主要替在於 KTV 歌唱消費之使用 者, 能夠享有更佳便利 更即時性的點歌空間, 達到一對多的同時點歌傳 送, 不需再遲遲等待排隊點歌, 就能立即的點取自我想要的歌曲 17

26 第四章系統成果 第一節 系統流程 下圖是本研究開發此 APP 歌唱點播系統 的系統流程圖 進入本 APP 應用程式系統, 主要以提供以下多重查詢功能, 包涵 : 男女歌手查詢 性 別筆畫查詢 歌曲語言種類查詢, 以方便快速尋想要點播的歌曲 APP 歌唱點播系統 回主畫面點歌查詢關閉 / 離開 歌手搜尋筆畫搜尋注音搜尋 輸出至主機端 圖 10 系統流程圖 18

27 第二節 系統畫面 一 主機端執行畫面 下圖是 : 歌唱點播點歌機, 主機端的起始畫面, 共提供多項查詢功能 服務 圖 11 點歌機起始畫面 19

28 下圖是 : 選取歌曲種類搜尋, 選擇台語之後所呈現的資料庫資料 圖 12 點歌機使用點選搜尋台語類別 20

29 下圖是 : 選取歌曲種類搜尋後, 將歌曲點播至清單的功能畫面 圖 13 使用類別搜尋點播歌曲至清單 21

30 下圖是 : 操作使用下拉式選單, 搜尋歌曲的搜尋方式提供包括 : 注音 筆畫歌手名稱 歌曲名稱 圖 14 選擇點播的搜尋方式 22

31 下圖是 : 操作使用搜尋下拉式選單, 選擇注音呈現注音小鍵盤 圖 15 點歌機使用點播搜尋的注音功能 ( 一 ) 23

32 下圖是 : 搜尋選擇注音 ( ㄨ ) 之後的結果 圖 16 點歌機使用點播搜尋的注音功能 ( 二 ) 24

33 下圖是 : 搜尋選擇注音 ( ㄨ ) 之後的結果, 點播至清單 圖 17 使用注音搜尋點播至清單 25

34 下圖是 : 點播歌曲至清單, 開始播放的 KTV 畫面 圖 18 開始播放清單內之歌曲 26

35 二 手機端執行畫面 下圖是 : 進入程式的起始畫面, 可以選擇直接關閉程式或者進入主頁 圖 19 APP 歌唱點播系統主畫面 27

36 下圖是 : 程式主畫面 28

37 下圖是 : 選擇並輸入搜尋條件之後, 按下搜尋, 就可以顯示搜尋結果, 下 圖搜尋比畫為 8 畫的資料 圖 21 APP 歌手筆畫搜尋結果 29

38 下圖是 : 也可以直接在下面點擊按鈕搜尋, 下圖點擊男歌手按鈕, 就會顯 示所有 男歌手資料 圖 22 APP 男歌手搜尋結果 30

39 下圖是 : 搜尋筆畫 8 畫並且點擊男歌手, 就會顯示所有歌手姓氏是 8 畫的 男歌手 圖 23 APP 筆畫搜尋男歌手結果 31

40 下圖是 : 點擊歌單內編號 5 歌曲, 即可送出至主機端的點歌清單 圖 24 APP 點選歌曲至點播清單 32

41 下圖是 : 若是什麼都沒輸入就點擊搜尋, 就會顯示所有的資料, 並且出現 " 請輸入查詢條件的 " 提示 圖 25 APP 輸入正確查詢條件 33

42 第五章結論與建議 第一節 研究結論 經由這次專題, 研究開發 APP 歌唱點播系統, 主要以改善原本傳統 KTV 歌唱點播 的特性, 達到同時多方的即時性點歌 與快速有效的時效性, 及完成研究目的之標的 鑒於程式開發 APP 歌唱點播系統, 經由 Visual Stuido 架設主機端及網路的程式基準, 再由 Eclipse 編寫 APP Android 的手機應用程式, 結合與智慧型手機的實務應用 另外, 評估智慧型手機替代遙控器點歌的使用效益上, 在滿足此消費 者之可行性結果, 有相當顯著的需求 因此在未來希望會再增加更多方的 點播功能, 也讓此 APP 歌唱點播系統更多元化 34

43 參考文獻 一 Android 程式設計實例入門, 高橋麻奈著 / 博碩文化編譯 二 Google Android2.X 應用程式開發實戰, 林城著 / 碁峯資訊 三 Android 提高第九篇之 SQLite 分页表格 四 [Android]Sample Socket Server & Client 五 網路端連線 c# udp client-server echo program ho-program 35

44 附錄一 主機端程式碼 FROM1 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.Net.Sockets; using System.Net; using System.Threading; namespace WindowsFormsApplication1 { public partial class Form1 : Form { DataSet ds = new DataSet(); BindingSource bs = new BindingSource(); Form2 f2 = new Form2(); DataSet rcds = new DataSet(); DataSet dss = new DataSet(); int a; int b = 0; private static Socket mainsocket; int port; bool portready = false; const int MAX_CLIENTS = 20; 36

45 public class ConnectionInfo { public Socket Socket; public byte[] Buffer; } private static List<ConnectionInfo> connections = new List<ConnectionInfo>(); public Form1() { InitializeComponent(); /* string cstcall = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sqlcall = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名 稱 FROM 歌單 where 歌曲編號 = " + text; OleDbConnection connn = new OleDbConnection(cstcall); OleDbDataAdapter AdapterCallback = new OleDbDataAdapter(sqlcall, connn); } connn.open(); AdapterCallback.Fill(dss, " 歌單 "); connn.close(); datagridview8.datasource = dss; datagridview8.datamember = " 歌單 "; */ private void Form1_Load(object sender, EventArgs e) { // System.Threading.Thread objworkerthread = new System.Threading.Thread(new ThreadStart(ReceiveCallback)); // objworkerthread.start(); Form.CheckForIllegalCrossThreadCalls = false; // 跨執行緒 UI //

46 // TODO: 這行程式碼會將資料載入 'databasedataset1. 英語歌手 ' 資料表 您可以視需要進行移動或移除 //this. 英語歌手 TableAdapter.Fill(this.databaseDataSet1. 英語歌手 ); // TODO: 這行程式碼會將資料載入 'databasedataset1. 台語女歌手 ' 資料 表 您可以視需要進行移動或移除 //this. 台語女歌手 TableAdapter1.Fill(this.databaseDataSet1. 台語女歌手 ); // TODO: 這行程式碼會將資料載入 'databasedatagriset. 台語女歌手 ' 資料 表 您可以視需要進行移動或移除 //this. 台語女歌手 TableAdapter.Fill(this.databaseDataGriSet. 台語女歌手 ); /* string sqlstr,connstr; //connstr = new OleDbConnection(); connstr Source= DataDirectory \Database.accdb"; /* //Conn.Open(); OleDbConnection conn; OleDbDataAdapter da; conn = new OleDbConnection(connstr);*/ OleDbCommand command = new OleDbCommand(); command.connection = conn; command.commandtext = "Select * From 英語歌手 "; OleDbDataReader reader = command.executereader(); while (reader.read()) { } listbox1.items.add(reader[0].tostring()); */ //sqlstr = "select * from 英語歌手 "; //da = new OleDbDataAdapter(sqlstr,conn); // da.fill(ds," 英語歌手 "); /* sqlstr = "select * from 歌單 "; da=new OleDbDataAdapter(sqlstr,conn); if (" 性別 " = 1) { textbox1.text = " 男 "; } else {textbox1.text=" 女 "; } da.fill(ds, " 歌單 ");*/ // sqlstr = "select * from 華語團體 "; 38

47 // da = new OleDbDataAdapter(sqlstr, conn); // da.fill(ds," 華語團體 "); // sqlstr = "select * from 台語男歌手 "; // da = new OleDbDataAdapter(sqlstr, conn); // da.fill(ds, " 台語男歌手 "); // sqlstr = "select * from 華語女歌手 "; // da = new OleDbDataAdapter(sqlstr, conn); // da.fill(ds, " 華語女歌手 "); // sqlstr = "select * from 華語男歌手 "; // da = new OleDbDataAdapter(sqlstr, conn); // da.fill(ds, " 華語男歌手 "); // sqlstr = "select * from 台語女歌手 "; // da = new OleDbDataAdapter(sqlstr, conn); // da.fill(ds, " 台語女歌手 "); // for (int i = 0; i <= ds.tables.count - 1; i++) // combobox1.items.add(ds.tables[i].tablename); //combobox1.text = ds.tables[0].tablename; // bs.datasource=ds.tables[0]; //datagridview1.datasource= bs.datasource; this.datagridview2.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview2.multiselect = false; this.datagridview3.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview3.multiselect = false; this.datagridview4.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview4.multiselect = false; this.datagridview5.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview4.multiselect = false; this.datagridview6.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview4.multiselect = false; 39

48 this.datagridview7.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview4.multiselect = false; this.datagridview1.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview4.multiselect = false; this.datagridview8.selectionmode = DataGridViewSelectionMode.FullRowSelect; //this.datagridview8.multiselect = false; this.datagridview9.selectionmode = DataGridViewSelectionMode.FullRowSelect; string connetionstringx = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sqlx = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 "; OleDbConnection connback = new OleDbConnection(connetionStringX); connback); OleDbDataAdapter databack = new OleDbDataAdapter(sqlX, DataSet dsx = new DataSet(); connback.open(); databack.fill(dsx, " 歌單 "); connback.close(); datagridview8.datasource = dsx; datagridview8.datamember = " 歌單 "; //======================================================== ============ string connetionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where 性別 ='1' "; OleDbConnection connection = new OleDbConnection(connetionString); OleDbDataAdapter dataadapter = new OleDbDataAdapter(sql, connection); 40

49 DataSet ds = new DataSet(); connection.open(); dataadapter.fill(ds, " 歌單 "); connection.close(); datagridview2.datasource = ds; datagridview2.datamember = " 歌單 "; // string connetionstring1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql1 = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where 性別 = '2'"; OleDbConnection connection1 = new OleDbConnection(connetionString1); connection1); OleDbDataAdapter dataadapter1 = new OleDbDataAdapter(sql1, DataSet ds1 = new DataSet(); connection1.open(); dataadapter1.fill(ds1, " 歌單 "); connection1.close(); datagridview3.datasource = ds1; datagridview3.datamember = " 歌單 "; // string connetionstring2 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql2 = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where 性別 = '3'"; OleDbConnection connection2 = new OleDbConnection(connetionString2); OleDbDataAdapter dataadapter2 = new OleDbDataAdapter(sql2, connection2); DataSet ds2 = new DataSet(); connection2.open(); 41

50 dataadapter2.fill(ds2, " 歌單 "); connection2.close(); datagridview4.datasource = ds2; datagridview4.datamember = " 歌單 "; // string connetionstring3 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql3 = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where 語言 = ' 國語 '"; OleDbConnection connection3 = new OleDbConnection(connetionString3); connection3); OleDbDataAdapter dataadapter3 = new OleDbDataAdapter(sql3, DataSet ds3 = new DataSet(); connection3.open(); dataadapter3.fill(ds3, " 歌單 "); connection3.close(); datagridview5.datasource = ds3; datagridview5.datamember = " 歌單 "; // string connetionstring4 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql4 = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where 語言 = ' 台語 '"; OleDbConnection connection4 = new OleDbConnection(connetionString4); connection4); OleDbDataAdapter dataadapter4 = new OleDbDataAdapter(sql4, DataSet ds4 = new DataSet(); connection4.open(); dataadapter4.fill(ds4, " 歌單 "); connection4.close(); datagridview6.datasource = ds4; datagridview6.datamember = " 歌單 "; //

51 string connetionstring5 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql5 = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 where 語言 = ' 英語 '"; OleDbConnection connection5 = new OleDbConnection(connetionString5); connection5); OleDbDataAdapter dataadapter5 = new OleDbDataAdapter(sql5, DataSet ds5 = new DataSet(); connection5.open(); dataadapter5.fill(ds5, " 歌單 "); connection5.close(); datagridview7.datasource = ds5; datagridview7.datamember = " 歌單 "; // string connetionstring6 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql6 = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌單 "; OleDbConnection connection6 = new OleDbConnection(connetionString6); connection6); OleDbDataAdapter dataadapter6 = new OleDbDataAdapter(sql6, DataSet ds6 = new DataSet(); connection.open(); dataadapter.fill(ds6, " 歌單 "); connection.close(); datagridview9.datasource = ds6; datagridview9.datamember = " 歌單 "; // combobox1.items.add(" 注音 "); combobox1.items.add(" 筆畫 "); combobox1.items.add(" 歌手名稱 "); combobox1.items.add(" 歌曲名稱 "); //======================================================== =========== 43

52 port = 9999; mainsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); mainsocket); } IPEndPoint iplocal = new IPEndPoint(IPAddress.Any, port); mainsocket.bind(iplocal); mainsocket.listen(10); // 啟動監聽 portready = true; mainsocket.beginaccept(new AsyncCallback(AcceptCallback), //======================================================== ========= private void button1_click(object sender, EventArgs e) { if (tabcontrol1.selectedindex == 0) { // MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = datagridview9.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < selectedrowcount; i++) { for (int j = 0; j < 3; j++) { sb.append(datagridview9.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); //sb.append(environment.newline); } } //sb.append("total: " + selectedrowcount.tostring()); listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, a].value.tostring()); } } 44

53 if (tabcontrol1.selectedindex == 1) { // MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = datagridview2.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < selectedrowcount; i++) { for (int j = 0; j < 3; j++) { sb.append(datagridview2.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); //sb.append(environment.newline); } } //sb.append("total: " + selectedrowcount.tostring()); listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, a].value.tostring()); } } if (tabcontrol1.selectedindex == 2) { // MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = datagridview3.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < selectedrowcount; i++) { for (int j = 0; j < 3; j++) 45

54 { sb.append(datagridview3.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); //sb.append(environment.newline); } } //sb.append("total: " + selectedrowcount.tostring()); listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, a].value.tostring());}} if (tabcontrol1.selectedindex == 3) { // MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = datagridview4.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < selectedrowcount; i++) {for (int j = 0; j < 3; j++) { sb.append(datagridview4.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); //sb.append(environment.newline); } } //sb.append("total: " + selectedrowcount.tostring()); listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, a].value.tostring()); } } if (tabcontrol1.selectedindex == 4) { // MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = 46

55 datagridview5.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < selectedrowcount; i++) { for (int j = 0; j < 3; j++) {sb.append(datagridview5.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); //sb.append(environment.newline); } } //sb.append("total: " + selectedrowcount.tostring()); listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, a].value.tostring()); } } if (tabcontrol1.selectedindex == 5) { // MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = datagridview6.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < selectedrowcount; i++) { for (int j = 0; j < 3; j++) { sb.append(datagridview6.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); //sb.append(environment.newline); } } //sb.append("total: " + selectedrowcount.tostring()); listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, a].value.tostring()); } } 47

56 if (tabcontrol1.selectedindex == 6) {// MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = datagridview7.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); { for (int j = 0; j < 3; j++) for (int i = 0; i < selectedrowcount; i++) { sb.append(datagridview7.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); selectedrowcount.tostring()); a].value.tostring()); } } } EventArgs e) //sb.append(environment.newline); } } //sb.append("total: " + listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, private void combobox1_selectedindexchanged(object sender, { bs.datasource = ds.tables[combobox1.text]; datagridview1.datasource = bs.datasource; if (combobox1.selectedindex == 0) { Form3 f3 = new Form3(); f3.showdialog(); textbox1.text = f3.s; } if (combobox1.selectedindex == 1) { textbox1.text = " 輸入筆畫 "; // MessageBox.Show(" 請輸入歌手筆畫 "); } if (combobox1.selectedindex == 2) { textbox1.text = " 輸入歌手名稱 "; //MessageBox.Show(" 請輸入國語 台語或英語 "); } if (combobox1.selectedindex == 3) { textbox1.text = " 輸入歌曲名稱 "; //MessageBox.Show(" 請輸入國語 台語或英語 "); } } private void button4_click(object sender, EventArgs e) 48

57 { // OleDbConnection cn = new OleDbConnection //("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"); connection); // cn.open(); // OleDbCommand cmd = new OleDbCommand(); //OleDbDataAdapter dataadapter = new OleDbDataAdapter(sql, //DataSet ds = new DataSet(); // cmd.connection = cn; //dataadapter.fill(ds, "Authors_table"); //connection.close(); //datagridview1.datasource = ds; //datagridview1.datamember = "Authors_table"; // cmd.commandtext = "select * from 歌單 "; // cmd.executenonquery(); //DataSet ds = new DataSet(); //datagridview1.datasource = a.datasource; //datagridview1.datasource = t; //listbox1.text = cmd; //MessageBox.Show("Handsome"); //datagridview1.datasource = da.datasource; //for (int i = 0; i <= ds.tables.count - 1; i++) //bs.datasource=ds.tables[0]; //datagridview1.datasource= bs.datasource; /*string a =" 性別 "; sql = "select * from 歌單 "; dataadapter = new OleDbDataAdapter(sql, connection); if (b == 1) { textbox3.text = " 男 "; } else { textbox3.text = " 女 "; }*/ //da.fill(ds, " 歌單 "); } private void button2_click(object sender, EventArgs e) {if (textbox1.text == null textbox1.text == " 輸入 " combobox1.text == " 選擇搜尋方式 ") { MessageBox.Show(" 請輸入搜尋條件 ", " 條件錯誤 "); textbox1.text = "200"; combobox1.text = " 歌手名稱 "; } 49

58 string a = combobox1.text; if (a == " 筆畫 ") { tabcontrol2.visible = true; button20.visible = true; string connetionstring1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql1 = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲 名稱 FROM 歌單 where 筆畫 = '" + textbox1.text + "'"; OleDbConnection(connetionString1); //MessageBox.Show(textBox1.Text); OleDbConnection connection1 = new OleDbDataAdapter(sql1, connection1); else OleDbDataAdapter dataadapter1 = new DataSet ds1 = new DataSet(); connection1.open(); dataadapter1.fill(ds1, " 歌單 "); connection1.close(); datagridview1.datasource = ds1; datagridview1.datamember = " 歌單 "; } { tabcontrol2.visible = true; button20.visible = true; //string a = combobox1.text; string connetionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; string sql = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名 稱 FROM 歌單 where " + a + " like '%" + textbox1.text + "%'"; OleDbConnection(connetionString); OleDbDataAdapter(sql, connection); OleDbConnection connection = new OleDbDataAdapter dataadapter = new DataSet ds = new DataSet(); connection.open(); dataadapter.fill(ds, " 歌單 "); connection.close(); datagridview1.datasource = ds; datagridview1.datamember = " 歌單 "; } /* if (a==" 語言 " && (textbox1.text!= " 國語 " 50

59 textbox1.text!= " 台語 " textbox1.text!= " 英語 ")) { MessageBox.Show(" 輸入錯誤請輸入國語 台語或英語 "); } if (a == " 注音 " && (textbox1.text!= " ㄅ " textbox1.text!= " ㄇ " textbox1.text!= " ㄈ " textbox1.text!= " ㄉ " textbox1.text!= " ㄋ " textbox1.text!= " ㄌ " textbox1.text!= " ㄍ " textbox1.text!= " ㄏ " textbox1.text!= " ㄐ " textbox1.text!= " ㄑ " textbox1.text!= " ㄒ " textbox1.text!= " ㄓ " textbox1.text!= " ㄔ " textbox1.text!= " ㄕ " textbox1.text!= " ㄗ " textbox1.text!= " ㄘ " textbox1.text!= " ㄙ " textbox1.text!= " ㄧ " textbox1.text!= " ㄨ " textbox1.text!= " ㄚ " textbox1.text!= " ㄛ " textbox1.text!= " ㄜ " textbox1.text!= " ㄝ " textbox1.text!= " ㄞ ")) { MessageBox.Show(" 請輸入注音 "); } */ /*if (b > 30) { MessageBox.Show(" 筆畫必須小於 30"); }*/ } private void button8_click(object sender, EventArgs e) { if (tabcontrol2.selectedindex == 0) { // MessageBox.Show(dataGridView2[1,1].Value.ToString()); Int32 selectedrowcount = datagridview1.rows.getrowcount(datagridviewelementstates.selected); if (selectedrowcount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); { for (int j = 0; j < 3; j++) for (int i = 0; i < selectedrowcount; i++) { sb.append(datagridview1.currentrow.cells[j].value.tostring()); if (j < 2) { sb.append(" "); } //sb.append("row: "); //sb.append(datagridview2.selectedrows[i].index.tostring()); //sb.append(environment.newline); } } //sb.append("total: " + selectedrowcount.tostring()); listbox1.items.add(sb.tostring()); //MessageBox.Show(dataGridView2[a, a].value.tostring());} } } private void timer1_tick(object sender, EventArgs e) { if (f2.axwindowsmediaplayer1.playstate == WMPLib.WMPPlayState.wmppsPlaying)// 檢查歌曲是否正常播放 { //MessageBox.Show(" 歌曲播放中 "); //axwindowsmediaplayer1.text = "Windows Media Player is playing!"; } 51

60 else { //MessageBox.Show(" 歌曲播放完成 "); if (listbox1.items.count >= 1 ) { listbox1.setselected(0, true); f2.axwindowsmediaplayer1.url = "D:\\GOOD\\" + listbox1.text.tostring() + ".MPG"; //label1.text=listbox1.text.tostring(); listbox1.items.remove(listbox1.selecteditem); } //axwindowsmediaplayer1.text = "Windows Media Player is NOT playing!"; } } private void button9_click(object sender, EventArgs e) { // Form2 f2 = new Form2(); f2.show(); } private void timer2_tick(object sender, EventArgs e) { if (listbox1.items.count >= 1) { timer1.enabled = true; f2.axwindowsmediaplayer1.url = "D:\\GOOD\\" + listbox1.text.tostring() + ".MPG"; timer2.enabled = false; } } private void textbox1_click(object sender, EventArgs e) { textbox1.text = ""; } //======================================================== ========================== private void AcceptCallback(IAsyncResult result) { ConnectionInfo connection = new ConnectionInfo(); try { // Finish Accept Socket s = (Socket)result.AsyncState; connection.socket = s.endaccept(result); connection.socket.blocking = false; connection.buffer = new byte[1024]; lock (connections) connections.add(connection); // Start Receive connection.socket.beginreceive(connection.buffer, 0, connection.buffer.length, SocketFlags.None, new AsyncCallback(ReceiveCallback), connection); // Start new Accept mainsocket.beginaccept(new AsyncCallback(AcceptCallback), 52

61 result.asyncstate); } //======================================================== ===== bytesread); private void ReceiveCallback(IAsyncResult result) { ConnectionInfo connection = (ConnectionInfo)result.AsyncState; // ThreadStart myrun = new ThreadStart(Sendthread); try { int bytesread = connection.socket.endreceive(result); string text = Encoding.UTF8.GetString(connection.Buffer, 0, //string cst = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database2.accdb"; //string sql = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲 名稱 FROM 歌單 where 歌曲編號 = " + text; string sqlcall = "SELECT distinct 歌曲編號, 歌手名稱, 歌曲名稱 FROM 歌 單 where 歌曲編號 = " + text; //OleDbConnection connn = new OleDbConnection(cst); //OleDbDataAdapter dataadapter = new OleDbDataAdapter(sql, connn); /* connn.open(); dataadapter.fill(ds, " 歌單 "); connn.close(); datagridview8.datasource = ds; datagridview8.datamember = " 歌單 "; */ a = Convert.ToInt32(text); a = a - 1; System.Text.StringBuilder(); System.Text.StringBuilder sbb = new try { for (int j = 0; j < 3; j++) { sbb.append(datagridview8.rows[a].cells[j].value.tostring()); if (j < 2) { sbb.append(" "); } } listbox1.items.add(sbb.tostring()); } catch (Exception) { } // connection.socket.beginreceive(connection.buffer, 0, connection.buffer.length, SocketFlags.None, new AsyncCallback(ReceiveCallback), connection); } //======================================================= 53

62 private void button3_click_1(object sender, EventArgs e) { listbox1.setselected(0, true); f2.axwindowsmediaplayer1.url = "D:\\GOOD\\" + listbox1.text.tostring() + ".MPG"; //label1.text=listbox1.text.tostring(); listbox1.items.remove(listbox1.selecteditem); } private void button3_click_2(object sender, EventArgs e) { listbox1.items.remove(listbox1.selecteditem); } private void button4_click_1(object sender, EventArgs e) { f2.axwindowsmediaplayer1.ctlcontrols.pause(); } 附錄二 手機端程式碼 android textsqlite package com.testsqlite; import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.ioexception; import java.net.inetaddress; import java.net.socket; import android.r.string; import android.app.activity; import android.content.context; import android.content.dialoginterface; import android.content.dialoginterface.onclicklistener; import android.content.intent; import android.database.cursor; import android.database.sqlexception; import android.database.sqlite.sqlitedatabase; import android.os.bundle; import android.util.log; import android.view.motionevent; import android.view.view; import android.view.view.ontouchlistener; import android.widget.adapterview; import android.widget.adapterview.onitemselectedlistener; import android.widget.arrayadapter; import android.widget.button; import android.widget.edittext; 54

63 import android.widget.imagebutton; import android.widget.linearlayout; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.spinner; import android.widget.textview; import android.widget.toast; public class testsqlite extends Activity { GVTable table; Button btncreatedb,btninsert,btnclose,btnboy,btngirl,btngro,btnlan1,btnlan2,btnlan3; ImageButton b1; SQLiteDatabase db; DatabaseHelper mydbhelper ; private static final int SOCKET_TIMEOUT = 1000; private static final int PORT=9999; private String ADDRESS=" "; private Socket socket; BufferedReader buff; private EditText et1; //private Spinner spinner; private RadioGroup reg; private RadioButton n; private RadioButton nn; private RadioButton nnn; //private String[] list = {" 歌手名稱 "," 筆畫 "," 歌曲名稱 "}; private ArrayAdapter<String> listadapter; private Context mcontext; String s,a; int d; int id;// 添加記錄時的 id 累加標記, 必須全局 private static final String TABLE_NAME = public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); n = (RadioButton) findviewbyid(r.id.radio0); nn = (RadioButton) findviewbyid(r.id.radio1); 55

64 nnn = (RadioButton) findviewbyid(r.id.radio2); reg = (RadioGroup)findViewById(R.id.radioGroup1); reg.setoncheckedchangelistener(listener); et1=(edittext)findviewbyid(r.id.edittext1); s = et1.gettext().tostring(); a=(string) n.gettext(); a="number"; mcontext = this.getapplicationcontext(); //spinner = (Spinner)findViewById(R.id.spinner1); //listadapter = new ArrayAdapter<String>(this, android.r.layout.simple_spinner_item, list); //spinner.setadapter(listadapter); /* spinner.setonitemselectedlistener(new position, long arg3) { public void onitemselected(adapterview<?> arg0, View arg1,int a=(string) spinner.getselecteditem(); if(a==" 歌手名稱 ") { a="name"; } if(a==" 筆畫 ") { a="number"; } if(a==" 歌曲名稱 ") { a="song"; } Toast.makeText(mContext, " 你選的是 "+a, public void onnothingselected(adapterview<?> arg0) { // TODO Auto-generated method stub } });*/ et1.setontouchlistener(new public boolean ontouch(view v, MotionEvent event) { // TODO Auto-generated method stub et1.settext(""); Toast.makeText(testSQLite.this," 請輸入查詢條件 ", Toast.LENGTH_SHORT).show(); return false; } }); mydbhelper = new DatabaseHelper(this); try { mydbhelper.createdatabase(); } 56

65 catch (IOException ioe) { throw new Error("Unable to create database"); } try { mydbhelper.opendatabase(); }catch(sqlexception sqle){throw sqle; } //Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show(); btncreatedb = (Button) this.findviewbyid(r.id.btncreatedb); btncreatedb.setonclicklistener(new ClickEvent()); btnboy = (Button) this.findviewbyid(r.id.button1); btnboy.setonclicklistener(new ClickEvent()); btngirl = (Button) this.findviewbyid(r.id.button2); btngirl.setonclicklistener(new ClickEvent()); btngro = (Button) this.findviewbyid(r.id.button3); btngro.setonclicklistener(new ClickEvent()); btnlan1 = (Button) this.findviewbyid(r.id.button4); btnlan1.setonclicklistener(new ClickEvent()); btnlan2 = (Button) this.findviewbyid(r.id.button5); btnlan2.setonclicklistener(new ClickEvent()); btnlan3 = (Button) this.findviewbyid(r.id.button6); btnlan3.setonclicklistener(new ClickEvent()); //btnclose = (Button) this.findviewbyid(r.id.btnclose); //btnclose.setonclicklistener(new ClickEvent()); table=new GVTable(this); table.gvsettablerowcount(8);// 設置每個分頁的 ROW 總數 LinearLayout ly = (LinearLayout) findviewbyid(r.id.mainlinearlayout); btnboy.setontouchlistener(new public boolean ontouch(view v, MotionEvent event) { if(event.getaction() == MotionEvent.ACTION_DOWN){ MotionEvent.ACTION_UP){ v.setbackgroundresource(r.drawable.love); }else if(event.getaction() == v.setbackgroundresource(r.drawable.qwer); } return false; } }); btngirl.setontouchlistener(new public boolean ontouch(view v, MotionEvent event) { MotionEvent.ACTION_DOWN){ if(event.getaction() == 57

66 v.setbackgroundresource(r.drawable.love); }else if(event.getaction() == MotionEvent.ACTION_UP){ v.setbackgroundresource(r.drawable.qwer); } return false; } }); btngro.setontouchlistener(new public boolean ontouch(view v, MotionEvent event) { if(event.getaction() == MotionEvent.ACTION_DOWN){ v.setbackgroundresource(r.drawable.love); }else if(event.getaction() == MotionEvent.ACTION_UP){ v.setbackgroundresource(r.drawable.qwer); } return false; } }); btnlan1.setontouchlistener(new public boolean ontouch(view v, MotionEvent event) { if(event.getaction() == MotionEvent.ACTION_DOWN){ v.setbackgroundresource(r.drawable.love); }else if(event.getaction() == MotionEvent.ACTION_UP){ v.setbackgroundresource(r.drawable.qwer); } return false; } }); btnlan2.setontouchlistener(new public boolean ontouch(view v, MotionEvent event) { if(event.getaction() == MotionEvent.ACTION_DOWN){ v.setbackgroundresource(r.drawable.love); }else if(event.getaction() == MotionEvent.ACTION_UP){ v.setbackgroundresource(r.drawable.qwer); } return false; } }); btnlan3.setontouchlistener(new public boolean ontouch(view v, MotionEvent event) { if(event.getaction() == MotionEvent.ACTION_DOWN){ v.setbackgroundresource(r.drawable.love); 58

67 MotionEvent.ACTION_UP){ }else if(event.getaction() == v.setbackgroundresource(r.drawable.qwer); } return false; } }); table.settableonclicklistener(new GVTable.OnTableClickListener() public void ontableclicklistener(int x,int y,cursor c) { c.movetoposition(y); if(x==0) { socket=null; DataOutputStream os = null; String str=" 第 "+c.getstring(0)+" 首, 演唱 者 :"+c.getstring(x+1)+", 歌曲名稱 :"+c.getstring(x+2); InetAddress.getByName(ADDRESS); Toast.makeText(testSQLite.this, str, 1000).show(); String str2 = c.getstring(0); try { InetAddress serveraddr = socket = new Socket(serverAddr,PORT); String st = c.getstring(0) ; socket.setsotimeout(socket_timeout); os = new DataOutputStream(socket.getOutputStream()); os.write(st.getbytes()); } catch (IOException e) { if(x==1) { e.printstacktrace(); } } socket=null; DataOutputStream os = null; String str=" 第 "+c.getstring(0)+" 首, 演唱者 :"+c.getstring(x)+", 歌曲名 稱 :"+c.getstring(x+1); Toast.makeText(testSQLite.this, str, 1000).show(); try{ InetAddress serveraddr = InetAddress.getByName(ADDRESS); socket = new Socket(serverAddr,PORT); String st = c.getstring(0); socket.setsotimeout(socket_timeout); os = new DataOutputStream(socket.getOutputStream()); os.write(st.getbytes()); } catch (IOException e) { 59

68 if(x==2) e.printstacktrace();} } { socket=null; DataOutputStream os = null; String str=" 第 "+c.getstring(0)+" 首, 演唱者 :"+c.getstring(x-1)+", 歌曲名 稱 :"+c.getstring(x); //String str=c.getstring(x)+" 位 置 :("+String.valueOf(x)+","+String.valueOf(y)+")"; Toast.makeText(testSQLite.this, str, 1000).show(); try { InetAddress.getByName(ADDRESS); InetAddress serveraddr = socket = new Socket(serverAddr,PORT); String st = c.getstring(0) ; socket.setsotimeout(socket_timeout); os = new DataOutputStream(socket.getOutputStream()); os.write(st.getbytes()); } catch (IOException e) { e.printstacktrace(); } }}}); {@Override table.setonpageswitchlistener(new GVTable.OnPageSwitchListener() public void onpageswitchlistener(int pageid,int pagecount) { String str=" 共有 "+String.valueOf(pageCount)+ " 當前第 "+String.valueOf(pageID+1)+" 頁 "; Toast.makeText(testSQLite.this, str, 1000).show() }}); ly.addview(table); } private RadioGroup.OnCheckedChangeListener listener = new RadioGroup.OnCheckedChangeListener() {@Override public void oncheckedchanged(radiogroup group, int checkedid) { findviewbyid(checkedid)); // TODO Auto-generated method stub //int p = group.indexofchild((radiobutton) //int count = group.getchildcount(); switch (checkedid) { case R.id.radio0: a=(string) n.gettext(); a="number"; //Toast.makeText(mContext, " 你選的是 "+n.gettext(), 60

69 Toast.LENGTH_SHORT).show(); break; case R.id.radio1: a=(string) nn.gettext(); a="name"; // Toast.makeText(mContext, " 你選的是 "+nn.gettext(), Toast.LENGTH_SHORT).show(); break; case R.id.radio2: a=(string) nnn.gettext(); a="song"; //Toast.makeText(mContext, " 你選的是 "+nnn.gettext(), Toast.LENGTH_SHORT).show(); break; }}}; class ClickEvent implements View.OnClickListener public void onclick(view v) { if (v == btncreatedb) { CreateDB(); if(a=="number" ) { if(s.matches("")) { // 秀出所有資料 ( 什麼都沒輸入的 NUMBER) TABLE_NAME,db); TABLE_NAME,db); CreateDB(); table.gvremoveall(); InsertRecord(16); table.gvupdatepagebar("select count(*) from " + table.gvreadytable("select musicnumber,name,song from " + table.loadtable(0); } else {CreateDB(); //InsertRecord(16);// 插入 16 條記錄 table.gvremoveall(); InsertRecord(16); //db.close(); table.gvupdatepagebar("select count(*) from " + TABLE_NAME+" where "+a+" = "+"'"+s+"'",db); 61

70 table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME+" where "+a+" = "+"'"+s+"'",db); table.loadtable(0); } } else {CreateDB(); //InsertRecord(16);// 插入 16 條記錄 table.gvremoveall(); InsertRecord(16); //db.close(); table.gvupdatepagebar("select count(*) from " + TABLE_NAME+" where "+a+" like "+"'%"+s+"%'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME+" where "+a+" like "+"'%"+s+"%'",db); if (v == btnboy) { CreateDB(); table.loadtable(0); }} if(s.matches("")) { table.gvremoveall(); InsertRecord(16); TABLE_NAME + " where sex=" +1,db); table.gvupdatepagebar("select count(*) from " + table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +1,db); else table.loadtable(0); } {if(a=="number") { //InsertRecord(16);// 插入 16 條記錄 table.gvremoveall(); InsertRecord(16); //db.close(); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where sex=" +1+" and "+a+" = "+"'"+s+"'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +1+" and "+a+" = "+"'"+s+"'",db); else { table.gvremoveall(); InsertRecord(16); table.loadtable(0); } 62

71 table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where sex=" +1+" and "+" "+a+" like "+"'%"+s+"%'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +1+" and "+" "+a+" like "+"'%"+s+"%'",db); table.loadtable(0); }}} if (v == btngirl) { CreateDB(); if(s.matches("")){ table.gvremoveall(); InsertRecord(16); TABLE_NAME + " where sex=" +2,db); table.gvupdatepagebar("select count(*) from " + table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +2+" and "+" language = ' 國語 '",db); else table.loadtable(0); } {if(a=="number") { //InsertRecord(16);// 插入 16 條記錄 table.gvremoveall(); InsertRecord(16); //db.close(); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where sex=" +2+" and "+a+" = "+"'"+s+"'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +2+" and "+a+" = "+"'"+s+"'",db); table.loadtable(0); } else { table.gvremoveall(); InsertRecord(16); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where sex=" +2+" and "+" "+a+" like "+"'%"+s+"%'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +2+" and "+" "+a+" like "+"'%"+s+"%'",db); }if (v == btngro) { CreateDB(); table.loadtable(0); }} 63

72 if(s.matches("")) { table.gvremoveall(); InsertRecord(16); TABLE_NAME + " where sex=" +3,db); table.gvupdatepagebar("select count(*) from " + table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +3,db); else table.loadtable(0); } {if(a=="number") {//InsertRecord(16);// 插入 16 條記錄 table.gvremoveall(); InsertRecord(16); //db.close(); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where sex=" +3+" and "+a+" = "+"'"+s+"'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +3+" and "+a+" = "+"'"+s+"'",db); table.loadtable(0); } else {table.gvremoveall(); InsertRecord(16); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where sex=" +3+" and "+" "+a+" like "+"'%"+s+"%'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where sex=" +3+" and "+" "+a+" like "+"'%"+s+"%'",db); } if (v == btnlan1) {CreateDB(); if(s.matches("")){ table.loadtable(0); }} table.gvremoveall(); InsertRecord(16); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where language = ' 國語 '",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where language = ' 國語 '",db); 64

73 else table.loadtable(0); } {if(a=="number") { //InsertRecord(16);// 插入 16 條記錄 table.gvremoveall(); InsertRecord(16); //db.close(); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where language= ' 國語 '" +" and "+a+" = "+"'"+s+"'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where language= ' 國語 '" +" and "+a+" = "+"'"+s+"'",db); else table.loadtable(0); } { table.gvremoveall(); InsertRecord(16); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where language= ' 國語 ' and "+" "+a+" like "+"'%"+s+"%'",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where language= ' 國語 ' and "+" "+a+" like "+"'%"+s+"%'",db); } if (v == btnlan2) { CreateDB(); if(s.matches("")) { table.gvremoveall(); table.loadtable(0); } } InsertRecord(16); table.gvupdatepagebar("select count(*) from " + TABLE_NAME + " where language = ' 台語 '",db); table.gvreadytable("select musicnumber,name,song from " + TABLE_NAME + " where language = ' 台語 '",db); else table.loadtable(0); } { if(a=="number") {//InsertRecord(16);// 插入 16 條記錄 table.gvremoveall(); InsertRecord(16); 65

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

Database_001

Database_001 作者 : 林致宇日期 :2011/10/26 主要參考來源 : http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applicat ions/ 問題 : 如在存取一個已經建立好的資料庫? 解答 : 有一些應用程式會需要讀取已經建立好的資料庫, 例如一個試題測驗應用程式, 裡面的試題可能已經於電腦上, 使用任何的

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

使用手冊

使用手冊 使用手冊 版權所有 2013 年 Microtek International, Inc. 保留所有權利 商標 Microtek MII MiiNDT ScanWizard Microtek International, Inc. Windows Microsoft Corporation 重要須知 Microtek Microtek Windows Microsoft Windows I49-004528

More information

untitled

untitled 1 .NET 料.NET 料 料來 類.NET Data Provider SQL.NET Data Provider System.Data.SqlClient 料 MS-SQL OLE DB.NET Data Provider System.Data.OleDb 料 Dbase FoxPro Excel Access Oracle Access ODBC.NET Data Provider 料

More information

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式 導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式語言篇第 3 章 C# 程式語言基礎 C# C# 3.0 var 第 4 章 基本資料處理 C# x

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

untitled

untitled Inside ASP.NET 2.0- ASP.NET 1.1 2. 理念 讀 了 了 度 讀 了 理 類 來 來說 流 了 來 來 來 來 理 來 不 讀 不 不 力 來參 流 讀 了 異 行 來了 錄 行 不 了 來 了 來 行 論說 了 更 不 例 來了 力 行 樂 不 說 兩 例 利 來 了 來 樂 了 了 令 讀 來 不 不 來 了 不 旅行 令 錄 錄 來 了 例 來 利 來 ManagerProvide

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

Dynamic Layout in Android

Dynamic Layout in Android Dynamic Layout in Android 建國科技大學資管系 饒瑞佶 2013/5 V1 Layout 多半都透過 res/layout/xml 格式設定來達成 Android 是 OOP, 所以可以動態產生 Layout 重點是 Layout 的階層關係 (Hierarchy) 需要處理對應事件 最後一樣用 setcontentview 加入 Layout 一 加入現有 Layout 中

More information

第一章 章标题-F2 上空24,下空24

第一章 章标题-F2 上空24,下空24 Web 9 XML.NET Web Web Service Web Service Web Service Web Service Web Service ASP.NET Session Application SOAP Web Service 9.1 Web Web.NET Web Service Web SOAP Simple Object Access Protocol 9.1.1 Web Web

More information

Microsoft Word zw

Microsoft Word zw 第 1 章 Android 概述 学习目标 : Android Android Android Studio Android Android APK 1.1 1. 智能手机的定义 Smartphone 2. 智能手机的发展 1973 4 3 PC IBM 1994 IBM Simon PDA PDA Zaurus OS 1996 Nokia 9000 Communicator Nokia 9000

More information

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 Shenzhen WitSoft Information Technology Co., Ltd. 主 办 券 商 二 〇 一 六 年 二 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本

More information

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f Web Chapter 22 SharePoint Web Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web 21 22-1 SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f Views.asmx View SharePoint

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

附件3:

附件3: 目 录 第 一 部 分 主 体 部 分... 1 一 专 业 建 设 发 展 情 况... 1 二 专 业 培 养 目 标... 4 三 就 业 面 向... 7 四 毕 业 要 求... 10 五 课 程 体 系 与 核 心 课 程... 10 六 实 践 教 学 基 本 要 求... 16 七 教 学 及 课 程 安 排... 21 八 继 续 专 业 学 习 深 造 建 议... 25 九 其

More information

全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用

全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用 刘 瑞 新 金 牌 作 者 经 典 作 品 教 授, 计 算 机 专 业 资 深 学 科 带 头 人, 多 部 著 作 获 得 全 国 优 秀 畅 销 书 奖 他 所 编 写 的 教 材 内 容 均 来 自 教 学 实 践, 是 对 编 写 讲 义 教 学 修 改 教 学 讲 义 再 次 教 学 整 个 过 程 的 精 确 提 炼, 因 此 对 促 进 教 师 教 学 学 生 学 习 发 挥 了 重

More information

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆 Autodesk Product Design Suite Standard 20122 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆的產品設計計 Autodesk Product Design Suite Standard 版本中中包括以下軟體體產品

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

國立中山大學學位論文典藏.pdf

國立中山大學學位論文典藏.pdf The Development And Strategy Of The Seafood Industry Studies In Taiwan. I II 目 錄 頁次 第一章: 緒論 1-9 第一節: 研究的動機與研究的目的 第二節: 研究的步驟與研究方法 1-7 8 第三節: 資料蒐集 9 第四節:本文組職 9 第二章: 台灣的水產加工及全球水產供需 10-44 第一節: 台灣的地理位置與水產資源

More information

投影片 1

投影片 1 計算機程式及實習 期末報告 題目 : 六宿炒翻天 班級 : 奈米一乙姓名 : 陳洋翼學號 :4A514050 老師 : 謝慶存 程式說明 設計結帳系統, 選擇數量後, 在按下計算, 將會顯示總金額 若是老人或小孩, 將可享 8 折或 9 折的優惠 程式畫面 填選數量 在火腿蛋炒飯的數量選擇 1, 並按下計算, 可得總金額 50 元 程式畫面 打折 填選完後, 若客人是小孩或老人, 選擇欲打折項目,

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之 臺 北 市 大 安 高 級 工 業 職 業 學 校 資 訊 科 一 百 零 一 學 年 度 專 題 製 作 報 告 ------ 以 Android 製 作 ------ ----- 連 線 塔 防 遊 戲 ------ Tower defense game using Internet technology 班 級 : 資 訊 三 甲 組 別 : A9 組 組 員 : 葉 冠 麟 (9906129)

More information

第二節 研究方法 本論文第一章 緒論 說明研究動機與目的 研究方法及研究的範圍及限制 並對 飲食散文的義界 作一觀念的釐清 第二章 文獻探討 就將本研究的理 論建構中的概念作釐清 分別為 現代文學 飲食文學的重要論著 等兩個部 分來描述目前文獻的研究成果 並探討其不足待補述的地方 本研究以 文化研 究 為主要研究基礎 統攝整個研究架構 在不同章節裡 佐以相關研究方法進 行論述 茲圖示如下 研究方法

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Azure_s

Azure_s Azure ? Azure Azure Windows Server Database Server Azure Azure Azure Azure Azure Azure Azure Azure OpenSource Azure IaaS Azure VM Windows Server Linux PaaS Azure ASP.NET PHP Node.js Python MS SQL MySQL

More information

目錄 C ontents Chapter MTA Chapter Chapter

目錄 C ontents Chapter MTA Chapter Chapter 目錄 C ontents Chapter 01 1-1 MTA...1-2 1-2...1-3 1-3...1-5 1-4...1-10 Chapter 02 2-1...2-2 2-2...2-3 2-3...2-7 2-4...2-11...2-16 Chapter 03 3-1...3-2 3-2...3-8 3-3 views...3-16 3-4...3-24...3-33 Chapter

More information

2 ADO.NET Internet 1.2

2 ADO.NET Internet 1.2 C H A P T E R 1 ADO.NET XML ADO.NET ADO.NET.NET Framework.NET XML ADO.NET.NET Microsoft Visual Studio 200 ADO.NET ADO.NET 2 ADO.NET 1 1.1 1.1 1.1 1.2 Internet 1.2 1.1 Internet 2 1.2 (Internet) Web 1. ADO.NET

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

Android Android Android SDK iv

Android Android Android SDK iv Android Market Google Android SDK Apple Google Microsoft b2c b 2010 Internet Android how why iii Android 240... Android Android SDK iv Android Market Google Android SDK Visual C++ Java N-tier J2EE Unix/Linux

More information

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 电 子 教 案 P1 2 978-7-111-27081-2 计 算 机 应 用 基 础 ( 第 2

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

建立Android新專案

建立Android新專案 經濟部工業局 Android 智慧型手機程式設計實務應用班 Android WebService 建國科技大學資管系 饒瑞佶 2012/4 WebService 需要 ksoap2-android-assembly-2.5.2-jar-withdependencies.jar 或 ksoap2-android-assembly-2.5.2-jar-withdependencies_timeout1.jar

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

實作SQLiteOpenHelper類別

實作SQLiteOpenHelper類別 SQLiteOpenHelper 類別存取 SQLite 建國科技大學資管系 饒瑞佶 2013/5 V1 Android 連結資料庫 MySQL SQL Server Web Service 遠端資料庫 Internet Intranet Android SQLite 單機資料庫 Android vs. SQLite 透過 SQLiteOpenHelper 類別來操作 建立資料庫 ( 建構子 ) 建立資料表

More information

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 APP 指 導 老 師 : 陳 志 樺 教 授 組 員 : 陳 俊 瑋 陳 崇 緣 江 健 民 張 宏 銘 駱 佳 琪 中 華 民 國 一 四 年 五 月 1 APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1 誌 謝 本 專 題 報

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

VIDEOJET connect 7000 VJC-7000-90 zh- CHS Operation Manual VIDEOJET connect 7000 zh-chs 3 目 录 1 浏 览 器 连 接 7 1.1 系 统 要 求 7 1.2 建 立 连 接 7 1.2.1 摄 像 机 中 的 密 码 保 护 7 1.3 受 保 护 的 网 络 7 2 系 统 概 述 8 2.1 实 况

More information

untitled

untitled Data Source 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 8-1 Data Source 8-2 Data Source 8-3 Data Source 8-4 Data Source 8-5 DataSourceID 8-6 DataSourceMode 8-7 DataSource 8-8 8-9 Parameter Direction

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas Contents 目錄 chapter 1 1-1... 1-2 1-2... 1-3 HTML5... 1-3... 1-5 1-3... 1-9 Web Storage... 1-9... 1-10 1-4 HTML5... 1-14... 1-14... 1-15 HTML5... 1-15... 1-15... 1-16 1-5... 1-18 Apps... 1-18 HTML5 Cache

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

(HMI) IO A

(HMI) IO A 6.5 6.5 (HMI) IO 6.52 6.52 6.5 2007 113 A 602 100086 010 82616619 010 62638166 www.kingview.com 4 7 25 38 43 52 63 68 86 SQL 95 99 WEB 105 Web Web Web I/O Microsoft Windows XP/NT/2000 I/O PLC PLC PLC PLC

More information

上海市教育考试院关于印发新修订的

上海市教育考试院关于印发新修订的 沪 教 考 院 社 考 2012 7 号 上 海 市 教 育 考 试 院 关 于 印 发 上 海 市 高 等 学 校 计 算 机 等 级 考 试 大 纲 (2012 年 修 订 ) 的 通 知 各 有 关 高 校 : 为 进 一 步 加 强 本 市 高 校 计 算 机 基 础 教 学 工 作, 推 进 学 校 更 加 科 学 合 理 地 设 置 计 算 机 基 础 课 程 及 安 排 教 学 内 容,

More information

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1 科 技 部 自 由 軟 體 專 案 原 始 程 式 碼 使 用 手 冊 Source Code Manual of NSC Open Source Project 可 信 賴 的 App 安 全 應 用 框 架 -App 應 用 服 務 可 移 轉 性 驗 證 Trusted App Framework -Transferability Verification on App MOST 102-2218-E-011-012

More information

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT 1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT Chapter 1 了解虛擬化技術種類 硬體 / 平台 / 伺服器虛擬化 VM VM VM CPU Hypervisor VMM Virtual Machine Manager VM Host OS VM VM Guest OS Host OS CPU VM Hyper-V

More information

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

多層次傳銷與獎金系統

多層次傳銷與獎金系統 醒 吾 技 術 學 院 資 訊 管 理 系 ( 五 專 部 ) 九 十 六 學 年 度 畢 業 專 題 多 層 次 傳 銷 與 獎 金 系 統 組 員 : 921506122 游 濬 瑋 921506126 陳 彥 宇 921506139 林 龍 華 921506144 陳 昶 志 921506149 楊 璧 如 指 導 老 師 : 汪 淵 老 師 中 華 民 國 九 十 七 年 一 月 十 一 醒

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

ltu

ltu 資 訊 管 理 系 學 齡 前 自 主 學 習 之 行 動 裝 置 輔 助 系 統 指 導 教 授 : 李 靜 怡 教 授 組 員 名 單 : 蔡 承 育 988C012 黃 佳 誼 988C026 鄭 亦 琦 988C060 廖 曼 伶 988C108 中 華 民 國 1 0 2 年 5 月 嶺 東 科 技 大 學 資 訊 管 理 系 學 齡 前 自 主 學 習 之 行 動 裝 置 輔 助 系 統

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 : EditText 实现城市搜索 1801210778 邹宇航 摘要 : 使用 EditText 实现搜索城市的功能, 以此为依据更新 ListView 1. 效果图 : 2. 主要步骤 (1) 在 select-city.xml 布局文件中中添加 EditText 控件用作搜索框, 然后添加 ListView 控件用来显示城市名字内容 代码如下 : 预览图 : (2) 在 SelectCity.java

More information

Visual C# 2010 與 UML 開發實戰 C# 第 5 章物件導向基礎 C# C# 第 6 章資料與變數 C# 第 7 章判斷式與迴圈 C# 第 8 章陣列與集合 C# 第 9 章偵錯與例外狀況處理 Visual Studio 2010 C# try...catch ix

Visual C# 2010 與 UML 開發實戰 C# 第 5 章物件導向基礎 C# C# 第 6 章資料與變數 C# 第 7 章判斷式與迴圈 C# 第 8 章陣列與集合 C# 第 9 章偵錯與例外狀況處理 Visual Studio 2010 C# try...catch ix C# Visual Studio 2010.NET Framework 4 Visual C# WPF 第 1 章 Visual Studio 2010 概述.NET Framework 4 Visual Studio 2010 第 2 章建立 WPF 視窗應用程式 WPF Visual Studio 2010 WPF C# 第 3 章 WPF 基本控制項 WPF WPF Label TextBox

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

untitled

untitled 21 Visual FoxPro Visual FoxPro 6.0 11 Visual FoxPro Visual FoxPro CIP Visual FoxPro 2004 21 ISBN 7-03-014834-7 V Visual FoxPro TP311.138 CIP 2004 143035 16 100717 http://www.sciencep.com * 2004 12 7871092

More information

2015-5-1.indd

2015-5-1.indd 中 国 科 技 资 源 导 刊 ISSN 1674-1544 2015 年 9 月 第 47 卷 第 5 期 26-34 CHINA SCIENCE & TECHNOLOGY RESOURCES REVIEW ISSN 1674-1544 Vol.47 No.5 26-34, Sept. 2015 国 家 科 技 报 告 服 务 系 统 构 建 研 究 王 星 等 赵 捷 ( 中 国 科 学 技 术

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

建模与图形思考

建模与图形思考 F06_c 观摩 :ContentProvider 基於軟硬整合觀點 架构與 DB 引擎移植方法 ( c) By 高煥堂 4 通用性基类 ContentProvider 基於軟硬整合觀點 的使用范例 刚才的范例里, 我们直接使用 DataPersist 类的接口来与 SQLite 沟通 本节将替 DataPersist 配上 ContentProvider 基类, 让 Client 能透过 ContentProvider

More information

17-72c-1

17-72c-1 台灣喜宴文化與陶瓷餐具設計開發 廖素慧 林長弘 林秀娟 摘 要 喜宴文化它包括了生活風俗習慣 禮教的 禁忌與料理 飲食的結合 可以看到民族的思 想行為以及社會的結構模式 是生活文化的濃 縮 它的過程對於一對新人在人生旅程開始 時 得到關愛與祝福也給予責任 所以喜宴的 禮教約束 是人生很重要的一個過程 好的飲 食禮教約束可以產生良性的人生觀 從喜宴的 食物料理與新開發餐具的造形與裝飾美感等的 結合來做一個開始

More information

ebook 132-2

ebook 132-2 2 SQL Server 7.0 SQL Server SQL Server 7 SQL Server 7 5 2.1 SQL Server 7 SQL Server 7 SQL Server SQL Server SQL Server 2.1.1 SQL Server Windows NT/2000 Windows 95/98 ( r a n d o m access memory R A M )

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7 计 算 机 系 软 件 工 程 专 业 习 指 南 广 东 科 技 院 计 算 机 系 2015-9-1 软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7

More information

摘 要 在 這 忙 碌 的 社 會 中, 普 遍 人 們 運 動 時 間 其 實 並 不 充 裕, 體 力 越 來 越 差 的 情 況 下 還 隨 意 飲 食 導 致 身 體 健 康 越 來 越 差, 因 此 本 專 題 打 算 利 用 健 康 飲 食 的 方 式 改 善 這 些 人 的 體 質,

摘 要 在 這 忙 碌 的 社 會 中, 普 遍 人 們 運 動 時 間 其 實 並 不 充 裕, 體 力 越 來 越 差 的 情 況 下 還 隨 意 飲 食 導 致 身 體 健 康 越 來 越 差, 因 此 本 專 題 打 算 利 用 健 康 飲 食 的 方 式 改 善 這 些 人 的 體 質, 元 培 科 技 大 學 資 訊 管 理 系 畢 業 專 題 健 康 飲 食 網 站 計 畫 書 指 導 老 師 : 林 侑 賢 老 師 組 員 : 陳 佑 伊 (971408067) 張 祥 庭 (971408084) 黃 聖 哲 (971408098) 劉 潤 婷 (971408106) 中 華 民 國 一 百 年 十 二 月 摘 要 在 這 忙 碌 的 社 會 中, 普 遍 人 們 運 動 時

More information

1711-門市-PC-p1p2

1711-門市-PC-p1p2 2017. 10/11 PC Aspire GX-785 沈穩風格電競效能 全新戰力 AMD RYZEN 7 處理器顛覆想像 AMD RX480 系列顯卡 全新戰力 Intel 第 7 代 Core 處理器顛覆想像 GeForce GTX 10 系列顯卡 Aspire GX-281 沈穩風格電競效能 Aspire GX V LED Aspire GX NVIDIA GeForce GTX 1060

More information

x 前言 Python Python ETL extract transform load Python Python / Python Python Python

x 前言 Python Python ETL extract transform load Python Python / Python Python Python 1 Python CSV Excel Python Python tab https:// github.com/cbrownley/foundations-for-analytics-with-python x 前言 Python Python ETL extract transform load Python Python / Python Python Python 前言 xi CSV Excel

More information

版 權 2014 贊 雲 科 技 股 份 有 限 公 司 版 權 保 護 聲 明 未 經 贊 雲 科 技 股 份 有 限 公 司 書 面 許 可, 本 檔 任 何 部 分 的 內 容 不 得 被 複 製 或 抄 襲 用 於 任 何 目 的 本 檔 的 內 容 在 未 經 通 知 的 情 形 下 可

版 權 2014 贊 雲 科 技 股 份 有 限 公 司 版 權 保 護 聲 明 未 經 贊 雲 科 技 股 份 有 限 公 司 書 面 許 可, 本 檔 任 何 部 分 的 內 容 不 得 被 複 製 或 抄 襲 用 於 任 何 目 的 本 檔 的 內 容 在 未 經 通 知 的 情 形 下 可 版 權 2014 贊 雲 科 技 股 份 有 限 公 司 版 權 保 護 聲 明 未 經 贊 雲 科 技 股 份 有 限 公 司 書 面 許 可, 本 檔 任 何 部 分 的 內 容 不 得 被 複 製 或 抄 襲 用 於 任 何 目 的 本 檔 的 內 容 在 未 經 通 知 的 情 形 下 可 能 會 發 生 改 變, 敬 請 留 意 於 本 檔 中, 贊 雲 科 技 擁 有 專 利 權 商 標

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

1708-門市-PC-封面封底

1708-門市-PC-封面封底 2017. 08 PC Aspire GX-281 沈穩風格電競效能 Aspire GX-781 沈穩風格電競效能 全新戰力 AMD RYZEN 7 處理器顛覆想像 AMD RX480 系列顯卡 Aspire GX-281 Aspire GX-281 RYZEN 7-1700X RYZEN 5-1400 (3.4GHz / boost 3.8GHz) (3.2GHz / boost 3.4GHz)

More information

2016 英雄聯盟世界大賽暨全明星賽官方指定夥伴 Predator G1-710 Predator G3-710 Predator G6-710 Turbo**G6 IceTunnel 3/27-5/5PredatorGefore GTX 10 [Predator] :

2016 英雄聯盟世界大賽暨全明星賽官方指定夥伴 Predator G1-710 Predator G3-710 Predator G6-710 Turbo**G6 IceTunnel 3/27-5/5PredatorGefore GTX 10 [Predator] : 最新第 7 代 Intel Core 處理器 2017. 04 PC Aspire GX-781 多工效能機 極致效能 高雅風格 多工能力 7Intel Core DDR4 好運機 / 含稅 7Intel Core i5-7400 (3.0GHz/ Turbo 3.5GHz) Windows 10 NVIDIA GeForce GT-730 全新戰力 Intel 第 7 代 Core 處理器顛覆想像

More information

NIIT APP T ECH,,,,,, C++ : C++, C++,,, C++,,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) C++ /,,. :,2005.4 (21.) ISBN 7-302-10506-5. C..

NIIT APP T ECH,,,,,, C++ : C++, C++,,, C++,,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) C++ /,,. :,2005.4 (21.) ISBN 7-302-10506-5. C.. NIIT APP T ECH,,,,,, C++ : C++, C++,,, C++,,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) C++ /,,. :,2005.4 (21.) ISBN 7-302-10506-5. C.. C - - : -. T P312 CIP (2005 ) 011979 : : ht tp :/ /

More information

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466> packages 3-31 PART 3-31 03-03 ASP.NET ASP.N MVC ASP.NET ASP.N MVC 4 ASP.NET ASP.NE MVC Entity Entity Framework Code First 2 TIPS Visual Studio 20NuGetEntity NuGetEntity Framework5.0 CHAPTER 03 59 3-3-1

More information

ASP.NET实现下拉框二级联动组件

ASP.NET实现下拉框二级联动组件 ASP.NET 实现下拉框二级联动组件 namespace WebApplicationDlh using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using Db; / / Area 的摘要说明 /

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

VB程序设计教程

VB程序设计教程 高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处

More information

1706-門市-PC-封面封底

1706-門市-PC-封面封底 最新第 7 代 Intel Core 處理器 2017. 06 PC Aspire GX-781 沈穩風格電競效能 多工效能機 極致效能高雅風格多工能力 7 Intel Core DDR4 好運機 / 含稅 21,900 元 7 Intel Core i5-7400 (3.0GHz/ Turbo 3.5GHz) Windows 10 NVIDIA GeForce GT-730 8GB DDR4 1TB

More information

校友会系统白皮书feb_08

校友会系统白皮书feb_08 硕 士 研 究 生 招 生 管 理 系 统 1 产 品 白 皮 书 希 尔 数 字 校 园 硕 士 研 究 生 招 生 管 理 系 统 白 皮 书 目 录 1 产 品 概 述... 1 1.1 产 品 简 介... 1 1.2 应 用 范 围... 1 2 产 品 功 能 结 构 图... 2 3 产 品 功 能... 3 3.1 系 统 设 置... 3 3.2 信 息 发 布... 3 3.3

More information

FileMaker 16 ODBC 和 JDBC 指南

FileMaker 16 ODBC 和 JDBC 指南 FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,

More information

Microsoft Word - 第1章 Android基本概念.docx

Microsoft Word - 第1章 Android基本概念.docx Android 系 统 下 Java 编 程 详 解 作 者 : 华 清 远 见 第 1 章 Android 基 本 概 念 本 章 简 介 本 章 主 要 介 绍 Android 基 本 概 念 方 面 的 内 容, 包 括 Android 平 台 特 性 Android 系 统 架 构 Android 开 发 框 架 和 Android 开 发 环 境 搭 建 1.1 Android 简 介 Android

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

1 Internet [1]P44-46 2 1 000 200 200 000 3 Web Service Web Service Web XML HTTP URL 1..NET Framework.NET Framework Web Service HTTP 80.NET Framework 2

1 Internet [1]P44-46 2 1 000 200 200 000 3 Web Service Web Service Web XML HTTP URL 1..NET Framework.NET Framework Web Service HTTP 80.NET Framework 2 Journal of Nanning Polytechnic 2013 18 2 2013 Vol.18 No.2 易 著 梁 530008 [ ] [ ] [ ]TP311.52 [ ]A [ ]1009-3621 2013 02-0041-05 GRE 1. 1 2 GRE 3 4 1 000 5 6 2. 1 CPU [ ]2013-01-15 [ ]http://www.cnki.net/kcms/detail/45.1268.c.20130325.1733.011.html

More information

Seagate_Dashboard_UG.book

Seagate_Dashboard_UG.book Seagate Dashboard Seagate Dashboard 2013 Seagate Technology LLC. Seagate Seagate Technology Wave FreeAgent Seagate Technology LLC 1 GB 10 1 TB 10000 Seagate Seagate Technology LLC 10200 S. De Anza Boulevard

More information