《C#入門經(jīng)典(第4版)》通過C#可以很容易地學(xué)習(xí).NET Framework 3.5的強(qiáng)大功能,所以C#是開始您編程生涯的絕佳方式。《C#入門經(jīng)典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數(shù)據(jù)源的使用等內(nèi)容。學(xué)習(xí)了新的編程技巧后,《C#入門經(jīng)典(第4版)》介紹了如何高效地部署應(yīng)用程序和服務(wù),論述了許多高級(jí)技術(shù),如圖形化編程。另外,還探討了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有這些內(nèi)容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的變化。各章的樣例代碼和示例還可以用于創(chuàng)建強(qiáng)大且安全的應(yīng)用程序。 c#入門經(jīng)典第4版目錄 第Ⅰ部分 C# 語 言 第1章 C#簡介 3 1.1 什么是.NET Framework 3 1.1.1 NET Framework的內(nèi)容 4 1.1.2 用.NET Framework編寫應(yīng)用程序 4 1.2 什么是C# 7 1.2.1 用C#能編寫什么樣的應(yīng)用程序 7 1.2.2 本書中的C# 8 1.3 Visual Studio 2008 8 1.3.1 Visual Studio 2008 Express 產(chǎn)品 9 1.3.2 解決方案 9 1.4 小結(jié) 9 第2章 編寫C#程序 10 2.1 開發(fā)環(huán)境 10 2.1.1 Visual Studio 2008 11 2.1.2 Visual C# 2008 ExpressEdition 13 2.2 控制臺(tái)應(yīng)用程序 13 2.2.1 Solution Explorer 16 2.2.2 Properties窗口 17 2.2.3 Error List窗口 17 2.3 Windows Forms應(yīng)用程序 18 2.4 小結(jié) 22 第3章 變量和表達(dá)式 23 3.1 C#的基本語法 23 3.2 C#控制臺(tái)應(yīng)用程序的基本結(jié)構(gòu) 25 3.3 變量 27 3.3.1 簡單類型 27 3.3.2 變量的命名 31 3.3.3 字面值 32 3.3.4 變量的聲明和賦值 33 3.4 表達(dá)式 34 3.4.1 數(shù)學(xué)運(yùn)算符 34 3.4.2 賦值運(yùn)算符 38 3.4.3 運(yùn)算符的優(yōu)先級(jí) 39 3.4.4 名稱空間 39 3.5 小結(jié) 42 3.6 練習(xí) 43 第4章 流程控制 44 4.1 布爾邏輯 44 4.1.1 位運(yùn)算符 46 4.1.2 布爾賦值運(yùn)算符 50 4.1.3 運(yùn)算符的優(yōu)先級(jí)更新 51 4.2 goto語句 52 4.3 分支 53 4.3.1 三元運(yùn)算符 53 4.3.2 if語句 54 4.3.3 switch語句 57 4.4 循環(huán) 60 4.4.1 do循環(huán) 61 4.4.2 while循環(huán) 63 4.4.3 for循環(huán) 65 4.4.4 循環(huán)的中斷 69 4.4.5 無限循環(huán) 70 4.5 小結(jié) 70 4.6 練習(xí) 71 第5章 變量的更多內(nèi)容 72 5.1 類型轉(zhuǎn)換 72 5.1.1 隱式轉(zhuǎn)換 72 5.1.2 顯式轉(zhuǎn)換 74 5.1.3 使用Convert命令進(jìn)行 顯式轉(zhuǎn)換 76 5.2 復(fù)雜的變量類型 79 5.2.1 枚舉 79 5.2.2 結(jié)構(gòu) 83 5.2.3 數(shù)組 86 5.3 字符串的處理 91 5.4 小結(jié) 95 5.5 練習(xí) 96 第6章 函數(shù) 97 6.1 定義和使用函數(shù) 98 6.1.1 返回值 99 6.1.2 參數(shù) 101 6.2 變量的作用域 107 6.2.1 其他結(jié)構(gòu)中變量的作用域 110 6.2.2 參數(shù)和返回值與全局?jǐn)?shù)據(jù) 111 6.3 Main()函數(shù) 113 6.4 結(jié)構(gòu)函數(shù) 114 6.5 函數(shù)的重載 115 6.6 委托 117 6.7 小結(jié) 119 6.8 練習(xí) 120 第7章 調(diào)試和錯(cuò)誤處理 121 7.1 VS和VCE中的調(diào)試 121 7.1.1 非中斷(正常)模式下的調(diào)試 122 7.1.2 中斷模式下的調(diào)試 131 7.2 錯(cuò)誤處理 139 7.2.1 try...catch...finally 140 7.2.2 列出和配置異常 144 7.2.3 異常處理的注意事項(xiàng) 145 7.3 小結(jié) 146 7.4 練習(xí) 146 第8章 面向?qū)ο缶幊毯喗?147 8.1 什么是面向?qū)ο缶幊?147 8.1.1 什么是對象 148 8.1.2 所有的東西都是對象 151 8.1.3 對象的生命周期 151 8.1.4 靜態(tài)和實(shí)例類成員 152 8.2 OOP技術(shù) 153 8.2.1 接口 153 8.2.2 繼承 155 8.2.3 多態(tài)性 156 8.2.4 對象之間的關(guān)系 157 8.2.5 運(yùn)算符重載 159 8.2.6 事件 159 8.2.7 引用類型和值類型 160 8.3 Windows應(yīng)用程序中的OOP 160 8.4 小結(jié) 162 8.5 練習(xí) 163 第9章 定義類 164 9.1 C#中的類定義 164 9.2 System.Object 169 9.3 構(gòu)造函數(shù)和析構(gòu)函數(shù) 170 9.4 VS和VCE中的OOP工具 174 9.4.1 Class View窗口 174 9.4.2 對象瀏覽器 176 9.4.3 添加類 177 9.4.4 類圖 177 9.5 類庫項(xiàng)目 179 9.6 接口和抽象類 182 9.7 結(jié)構(gòu)類型 184 9.8 小結(jié) 186 9.9 練習(xí) 186 第10章 定義類成員 187 10.1 成員定義 187 10.1.1 定義字段 187 10.1.2 定義方法 188 10.1.3 定義屬性 189 10.1.4 在類圖中添加成員 194 10.1.5 重制成員 196 10.1.6 自動(dòng)屬性 197 10.2 類成員的其他議題 197 10.2.1 隱藏基類方法 198 10.2.2 調(diào)用重寫或隱藏的基類方法 199 10.2.3 嵌套的類型定義 200 10.3 接口的實(shí)現(xiàn) 201 10.4 部分類定義 204 10.5 部分方法定義 206 10.6 示例應(yīng)用程序 207 10.6.1 規(guī)劃應(yīng)用程序 207 10.6.2 編寫類庫 208 10.6.3 類庫的客戶應(yīng)用程序 214 10.7 小結(jié) 215 10.8 練習(xí) 216 第11章 集合、比較和轉(zhuǎn)換 217 11.1 集合 217 11.1.1 使用集合 218 11.1.2 定義集合 224 11.1.3 索引符 225 11.1.4 給CardLib添加Cards集合 227 11.1.5 關(guān)鍵字值集合和IDictionary 229 11.1.6 迭代器 231 11.1.7 深度復(fù)制 236 11.1.8 給CardLib添加深度復(fù)制 238 11.2 比較 239 11.2.1 類型比較 240 11.2.2 值比較 244 11.3 轉(zhuǎn)換 259 11.3.1 重載轉(zhuǎn)換運(yùn)算符 259 11.3.2 as運(yùn)算符 260 11.4 小結(jié) 261 11.5 練習(xí) 262 第12章 泛型 263 12.1 泛型的概念 263 12.2 使用泛型 264 12.2.1 可空類型 264 12.2.2 System.Collections.Generic 名稱空間 271 12.3 定義泛型 279 12.3.1 定義泛型類 280 12.3.2 定義泛型接口 291 12.3.3 定義泛型方法 291 12.3.4 定義泛型委托 293 12.4 小結(jié) 293 12.5 練習(xí) 293 第13章 其他OOP技術(shù) 295 13.1 ::運(yùn)算符和全局名稱空間 13.2 定制異常 296 13.2.1 異常基類 297 13.2.2 給CardLib添加定制異常 297 13.3 事件 298 13.3.1 什么是事件 298 13.3.2 使用事件 300 13.3.3 定義事件 302 13.4 擴(kuò)展和使用CardLib 309 13.5 小結(jié) 317 13.6 練習(xí) 317 第14章 C# 3.0語言的改進(jìn) 318 14.1 初始化器 318 14.1.1 對象初始化器 319 14.1.2 集合初始化器 320 14.2 類型推斷 323 14.3 匿名類型 325 14.4 擴(kuò)展方法 328 14.5 ?表達(dá)式 333 14.5.1 復(fù)習(xí)匿名方法 333 14.5.2 把?表達(dá)式用于匿名方法 334 14.5.3 ?表達(dá)式的參數(shù) 337 14.5.4 ?表達(dá)式的語句體 337 14.5.5 ?表達(dá)式用作委托和表達(dá)式樹 338 14.5.6 ?表達(dá)式和集合 339 14.6 小結(jié) 342 14.7 練習(xí) 342 第Ⅱ部分 Windows 編 程 第15章 Windows編程基礎(chǔ) 347 15.1 控件 347 15.1.1 屬性 348 15.1.2 控件的定位、停靠和對齊 349 15.1.3 事件 350 15.2 Button控件 352 15.2.1 Button控件的屬性 352 15.2.2 Button控件的事件 353 15.3 Label和LinkLabel控件 354 15.4 TextBox控件 355 15.4.1 TextBox控件的屬性 355 15.4.2 TextBox控件的事件 356 15.5 RadioButton和CheckBox控件 363 15.5.1 RadioButton控件的屬性 364 15.5.2 RadioButton控件的事件 364 15.5.3 CheckBox控件的屬性 364 15.5.4 CheckBox控件的事件 364 15.5.5 GroupBox控件 365 15.6 RichTextBox控件 368 15.6.1 RichTextBox控件的屬性 368 15.6.2 RichTextBox控件的事件 369 15.7 ListBox和CheckedListBox控件 374 15.7.1 ListBox控件的屬性 375 15.7.2 ListBox控件的方法 376 15.7.3 ListBox控件的事件 376 15.8 ListView控件 378 15.8.1 ListView控件的屬性 378 15.8.2 ListView控件的方法 380 15.8.3 ListView控件的事件 381 15.8.4 ListViewItem 381 15.8.5 ColumnHeader 381 15.8.6 ImageList控件 381 15.9 TabControl控件 388 15.9.1 TabControl控件的屬性 389 15.9.2 使用TabControl控件 389 15.10 小結(jié) 392 15.11 練習(xí) 392 第16章 Windows Forms的高級(jí)功能 393 16.1 菜單和工具欄 393 16.1.1 兩個(gè)實(shí)質(zhì)一樣的控件 393 16.1.2 使用MenuStrip控件 394 16.1.3 手工創(chuàng)建菜單 394 16.1.4 ToolStripMenuItem控件的其他屬性 397 16.1.5 給菜單添加功能 397 16.2 工具欄 399 16.2.1 ToolStrip控件的屬性 399 16.2.2 ToolStrip的項(xiàng) 400 16.2.3 StatusStrip控件 405 16.2.4 StatusStripStatusLabel的屬性 405 16.3 SDI和MDI應(yīng)用程序 407 16.4 創(chuàng)建控件 415 16.4.1 LabelTextbox控件 417 16.4.2 調(diào)試用戶控件 420 16.4.3 擴(kuò)展LabelTextbox控件 421 16.5 小結(jié) 424 16.6 練習(xí) 424 第17章 使用通用對話框 425 17.1 通用對話框 425 17.2 如何使用對話框 426 17.3 文件對話框 427 17.3.1 OpenFileDialog 427 17.3.2 SaveFileDialog 438 17.4 打印 442 17.4.1 打印結(jié)構(gòu) 442 17.4.2 打印多個(gè)頁面 447 17.4.3 PageSetupDialog 449 17.4.4 PrintDialog 451 17.5 打印預(yù)覽 455 17.5.1 PrintPreviewDialog 455 17.5.2 PrintPreviewControl 456 17.6 FontDialog和ColorDialog 457 17.6.1 FontDialog 457 17.6.2 ColorDialog 459 17.6.3 FolderBrowserDialog 460 17.7 小結(jié) 461 17.8 練習(xí) 461 第18章 部署Windows應(yīng)用程序 463 18.1 部署概述 463 18.2 ClickOnce部署 464 18.3 Visual Studio安裝和部署項(xiàng)目類型 473 18.4 Microsoft Windows安裝程序結(jié)構(gòu) 474 18.4.1 Windows Installer術(shù)語 474 18.4.2 Windows Installer的優(yōu)點(diǎn) 476 18.5 為SimpleEditor創(chuàng)建安裝軟件包 476 18.5.1 規(guī)劃安裝內(nèi)容 476 18.5.2 創(chuàng)建項(xiàng)目 477 18.5.3 項(xiàng)目屬性 478 18.5.4 安裝編輯器 480 18.5.5 File System編輯器 481 18.5.6 File Types編輯器 483 18.5.7 Launch Condition編輯器 485 18.5.8 User Interface編輯器 485 18.6 構(gòu)建項(xiàng)目 488 18.7 安裝 489 18.7.1 Welcome 489 18.7.2 Read Me 489 18.7.3 License Agreement 490 18.7.4 Optional Files 490 18.7.5 選擇安裝文件夾 491 18.7.6 確認(rèn)安裝 492 18.7.7 進(jìn)度 492 18.7.8 結(jié)束安裝 493 18.7.9 運(yùn)行應(yīng)用程序 493 18.7.10 卸載 493 18.8 小結(jié) 493 18.9 練習(xí) 494 第Ⅲ部分 Web 編 程 第19章 Web編程基礎(chǔ) 497 19.1 概述 497 19.2 ASP .NET運(yùn)行庫 498 19.3 創(chuàng)建簡單的Web頁面 498 19.4 服務(wù)器控件 504 19.5 事件處理程序 505 19.6 輸入的有效性驗(yàn)證 509 19.7 狀態(tài)管理 512 19.7.1 客戶端的狀態(tài)管理 513 19.7.2 服務(wù)器端的狀態(tài)管理 515 19.8 身份驗(yàn)證和授權(quán) 517 19.8.1 身份驗(yàn)證的配置 518 19.8.2 使用安全控件 522 19.9 讀寫SQL Server數(shù)據(jù)庫 524 19.10 小結(jié) 530 19.11 練習(xí) 531 第20章 Web高級(jí)編程 532 20.1 母版頁 532 20.2 站點(diǎn)導(dǎo)航 537 20.3 用戶控件 539 20.4 個(gè)性化配置 541 20.4.1 個(gè)性化配置組 543 20.4.2 組件的個(gè)性化配置 543 20.4.3 定制數(shù)據(jù)類型中的個(gè)性化配置 543 20.4.4匿名用戶的個(gè)性化配置 544 20.5 Web Parts 545 20.5.1 WebPartManager控件 546 20.5.2 WebPartZone控件 546 20.5.3 EditorZone控件 548 20.5.4 CatalogZone控件 550 20.5.5 ConnectionsZone控件 551 20.6 JavaScript 554 20.6.1 Script元素 555 20.6.2 變量的聲明 555 20.6.3 定義函數(shù) 555 20.6.4 語句 556 20.6.5 對象 556 20.7 小結(jié) 560 20.8 練習(xí) 560 第21章 Web服務(wù) 561 21.1 Web服務(wù)推出之前 561 21.1.1 遠(yuǎn)程過程調(diào)用(RPC) 562 21.1.2 SOAP 563 21.2 使用Web服務(wù)的場合 563 21.2.1 賓館旅行社代理應(yīng)用程序 564 21.2.2 圖書發(fā)布應(yīng)用程序 564 21.2.3 客戶應(yīng)用程序的類型 564 21.2.4 應(yīng)用程序的體系結(jié)構(gòu) 564 21.3 Web服務(wù)的體系結(jié)構(gòu) 565 21.3.1 可以調(diào)用的方法 565 21.3.2 調(diào)用方法 566 21.3.3 SOAP和防火墻 567 21.3.4 WS-I基本個(gè)性化配置 568 21.4 Web服務(wù)和.NET Framework 568 21.4.1 創(chuàng)建Web服務(wù) 568 21.4.2 客戶程序 570 21.5 創(chuàng)建簡單的ASP .NET Web服務(wù) 571 21.6 測試Web服務(wù) 572 21.7 執(zhí)行Windows客戶程序 574 21.8 異步調(diào)用服務(wù) 577 21.9 執(zhí)行ASP .NET客戶程序 580 21.10 傳送數(shù)據(jù) 581 21.11 小結(jié) 584 21.12 練習(xí) 584 第22章 Ajax編程 586 22.1 Ajax概述 586 22.2 UpdatePanel控件 587 22.3 Timer控件 591 22.4 UpdateProgress控件 592 22.5 Web服務(wù) 594 22.6 擴(kuò)展控件 598 22.7 小結(jié) 600 22.8 練習(xí) 600 第23章 部署Web應(yīng)用程序 601 23.1 Internet Information Services 601 23.2 IIS配置 602 23.3 復(fù)制Web站點(diǎn) 604 23.4 發(fā)布Web站點(diǎn) 606 23.5 Windows安裝程序 607 23.5.1 創(chuàng)建安裝程序 607 23.5.2 安裝Web 應(yīng)用程序 609 23.6 小結(jié) 610 23.7 練習(xí) 610 第Ⅳ部分 數(shù) 據(jù) 訪 問 第24章 文件系統(tǒng)數(shù)據(jù) 613 24.1 流 613 24.2 用于輸入和輸出的類 614 24.2.1 File類和Directory類 615 24.2.2 FileInfo類 616 24.2.3 DirectoryInfo類 617 24.2.4 路徑名和相對路徑 618 24.2.5 FileStream對象 618 24.2.6 StreamWriter對象 624 24.2.7 StreamReader對象 626 24.2.8 讀寫壓縮文件 632 24.3 序列化對象 635 24.4 監(jiān)控文件結(jié)構(gòu) 639 24.5 小結(jié) 645 24.6 練習(xí) 646 第25章 XML 647 25.1 XML文檔 647 25.1.1 XML元素 647 25.1.2 屬性 648 25.1.3 XML聲明 649 25.1.4 XML文檔的結(jié)構(gòu) 649 25.1.5 XML名稱空間 650 25.1.6 格式良好并有效的XML 651 25.1.7 驗(yàn)證XML文檔 651 25.2 在應(yīng)用程序中使用XML 654 25.2.1 XML文檔對象模型 655 25.2.2 選擇節(jié)點(diǎn) 663 25.3 小結(jié) 670 25.4 練習(xí) 671 第26章 LINQ簡介 672 26.1 LINQ的變體 673 26.2 第一個(gè)LINQ查詢 673 26.2.1 用var關(guān)鍵字聲明結(jié)果變量 675 26.2.2 指定數(shù)據(jù)源:from子句 675 26.2.3 指定條件:where子句 675 26.2.4 指定元素:select子句 676 26.2.5 完成:使用foreach循環(huán) 676 26.2.6 延遲執(zhí)行的查詢 676 26.3使用LINQ方法語法和?表達(dá)式 676 26.3.1 LINQ擴(kuò)展方法 676 26.3.2 查詢語法和方法語法 677 26.3.3 ?表達(dá)式 677 26.4 排序查詢結(jié)果 679 26.5 orderby子句 680 26.6 用方法語法排序 681 26.7 查詢大型數(shù)據(jù)集 682 26.8 合計(jì)運(yùn)算符 685 26.9 查詢復(fù)雜的對象 688 26.10 投射:在查詢中創(chuàng)建新對象 691 26.11 投射:方法語法 693 26.12 單值選擇查詢 693 26.13 Any和All 694 26.14 多級(jí)排序 696 26.15 多級(jí)排序方法語法:ThenBy 698 26.16 組合查詢 698 26.17 Take和Skip 700 26.18 First和FirstOrDefault 702 26.19 集運(yùn)算符 703 26.20 Join查詢 706 26.21 資源和進(jìn)一步閱讀 707 26.22 小結(jié) 707 26.23 練習(xí) 707 第27章 LINQ to SQL 709 27.1 對象相關(guān)映射 709 27.2 安裝SQL Server和Northwind示例數(shù)據(jù) 710 27.2.1 安裝SQL Server Express2005 710 27.2.2 安裝Northwind示例數(shù)據(jù)庫 711 27.3 第一個(gè)LINQ to SQL查詢 712 27.4 瀏覽LINQ to SQL關(guān)系 717 27.5 進(jìn)一步探討LINQ to SQL 720 27.6 LINQ to SQL中的組合、排序和其他高級(jí)查詢 723 27.7 顯示生成的SQL 725 27.8 用LINQ to SQL綁定數(shù)據(jù) 729 27.9 用LINQ to SQL更新綁定數(shù)據(jù) 733 27.10 小結(jié) 734 27.11 練習(xí) 735 第28章 ADO .NET和LINQ over DataSet 736 28.1 ADO .NET概述 736 28.1.1 ADO .NET名稱的來源 737 28.1.2 ADO .NET的設(shè)計(jì)目標(biāo) 738 28.2 ADO .NET類和對象概述 739 28.2.1 提供者對象 739 28.2.2 用戶對象 740 28.2.3 使用System.Data名稱空間 741 28.3 用DataReader讀取數(shù)據(jù) 742 28.4 用DataSet讀取數(shù)據(jù) 749 28.4.1 用數(shù)據(jù)填充DataSet 749 28.4.2 訪問DataSet中的表、行和列 749 28.5 更新數(shù)據(jù)庫 752 28.5.1 給數(shù)據(jù)庫添加行 755 28.5.2 刪除行 761 28.6 在DataSet中訪問多個(gè)表 762 28.6.1 ADO .NET中的關(guān)系 762 28.6.2 用關(guān)系導(dǎo)航 763 28.7 XML和ADO .NET 770 28.8 ADO .NET中的SQL支持 773 28.8.1 DataAdapter對象中的 SQL命令 773 28.8.2 直接執(zhí)行SQL命令 776 28.8.3 調(diào)用SQL存儲(chǔ)過程 778 28.9 使用LINQ over DataSet和ADO .NET 780 28.10 小結(jié) 784 28.11 練習(xí) 784 第29章 LINQ to XML 785 29.1 LINQ to XML函數(shù)構(gòu)造方法 785 29.2 保存和加載XML文檔 789 29.2.1 從字符串中加載XML 791 29.2.2 已保存的XML文檔內(nèi)容 792 29.3 處理XML片段 792 29.4 通過LINQ to XML生成 XML 794 29.5 查詢XML文檔 798 29.6 小結(jié) 804 29.7 練習(xí) 804 第Ⅴ部分 其 他 技 術(shù) 第30章 屬性 809 30.1 什么是屬性 809 30.2 反射 812 30.3 內(nèi)置屬性 815 30.3.1 System.Diagnostics.ConditionalAttribute 815 30.3.2 System.Obsolete Attribute 817 30.3.3 System.Serializable Attribute 818 30.3.4 System.Reflection.AssemblyDelaySignAttribute 821 30.4 定制屬性 824 30.4.1 BugFixAttribute 824 30.4.2 System.AttributeUsageAttribute 826 30.5 小結(jié) 830 第31章 XML文檔說明 831 31.1 添加XML文檔說明 831 31.1.1 XML文檔說明的注釋 833 31.1.2 使用類圖添加XML文檔說明 839 31.1.3 生成XML文檔說明文件 842 31.1.4 帶有XML文檔說明的應(yīng)用程序示例 844 31.2 使用XML文檔說明 846 31.2.1 編程處理XML文檔說明 846 31.2.2 用XSLT格式化XML文檔說明 848 31.2.3 文檔說明工具 849 31.3 小結(jié) 850 31.4 練習(xí) 851 第32章 網(wǎng)絡(luò) 852 32.1 聯(lián)網(wǎng)概述 852 32.1.1 名稱的解析 855 32.1.2 統(tǒng)一資源標(biāo)識(shí)符 856 32.1.3 TCP和UDP 857 32.1.4 應(yīng)用協(xié)議 857 32.2 網(wǎng)絡(luò)編程選項(xiàng) 859 32.3 WebClient 859 32.4 WebRequest和WebResponse 861 32.5 TcpListener和TcpClient 868 32.6 小結(jié) 876 32.7 練習(xí) 876 第33章 GDI+簡介 877 33.1 圖形繪制概述 877 33.1.1 Graphics類 878 33.1.2 對象的刪除 878 33.1.3 坐標(biāo)系統(tǒng) 879 33.1.4 顏色 884 33.2 使用Pen類繪制線條 885 33.3 使用Brush類繪制圖形 887 33.4 使用Font 類繪制文本 890 33.5 使用圖像進(jìn)行繪制 893 33.5.1 使用紋理畫筆繪圖 895 33.5.2 使用鋼筆繪制圖像 897 33.5.3 雙倍緩沖 898 33.6 GDI+的高級(jí)功能 900 33.6.1 剪切 900 33.6.2 System.Drawing.Drawing2D 901 33.6.3 System.Drawing.Imaging 901 33.7 小結(jié) 901 33.8 練習(xí) 902 第 34 章 Windows Presentation Foundation 903 34.1 WPF的概念 904 34.1.1 WPF給設(shè)計(jì)人員帶來的好處 904 34.1.2 WPF給C#開發(fā)人員帶來的好處 906 34.2 基本W(wǎng)PF應(yīng)用程序的組成 906 34.3 WPF基礎(chǔ) 916 34.3.1 XAML語法 917 34.3.2 桌面和Web應(yīng)用程序 919 34.3.3 Application對象 920 34.3.4 控件基 920 34.3.5 控件的布局 928 34.3.6 控件的樣式 936 34.3.7 觸發(fā)器 941 34.3.8 動(dòng)畫 942 34.3.9 靜態(tài)和動(dòng)態(tài)資源 944 34.4 用WPF編程 949 34.4.1 WPF用戶控件 950 34.4.2 實(shí)現(xiàn)依賴屬性 950 34.5 小結(jié) 959 34.6 練習(xí) 960 第35 章 Windows Communication Foundation 961 35.1 WCF是什么 961 35.2 WCF概念 962 35.2.1 WCF通信協(xié)議 962 35.2.2 地址、端點(diǎn)和綁定 963 35.2.3 合同 964 35.2.4 消息模式 965 35.2.5 行為 965 35.2.6 主機(jī) 965 35.3 WCF編程 966 35.3.1 定義WCF服務(wù)合同 973 35.3.2 自存儲(chǔ)的WCF服務(wù) 979 35.4 小結(jié) 985 35.5 練習(xí) 986 第36章 Windows Workflow Foundation 987 36.1 活動(dòng) 990 36.1.1 DelayActivity 990 36.1.2 SuspendActivity 991 36.1.3 WhileActivity 992 36.1.4 SequenceActivity 994 36.1.5 定制活動(dòng) 997 36.2 工作流運(yùn)行庫 1002 36.3 數(shù)據(jù)綁 1007 36.4 小結(jié) 1010 序言
標(biāo)簽:
上傳時(shí)間: 2013-11-16
上傳用戶:xinyuzhiqiwuwu
STC12系列單片機(jī)與PC機(jī)在數(shù)據(jù)采集系
標(biāo)簽: STC 12 PC機(jī) 單片機(jī)
上傳時(shí)間: 2013-11-03
上傳用戶:shirleyYim
為解決電致變色器件的顏色變化受外界環(huán)境顏色控制的問題,設(shè)計(jì)了一種基于單片機(jī)的便攜式顏色自適應(yīng)識(shí)別電路。與傳統(tǒng)顏色識(shí)別電路相比較,該電路利用數(shù)字式的顏色傳感器來獲取外界環(huán)境顏色,產(chǎn)生的數(shù)字顏色信號(hào)易于單片機(jī)進(jìn)行處理。在電路中,下位機(jī)部分主要負(fù)責(zé)獲取電致變色器件變色參數(shù)及控制電致變色器件的顏色變化;而上位機(jī)部分主要負(fù)責(zé)把下位機(jī)獲取的電致變色器件變色參數(shù)進(jìn)行電壓到顏色的曲線擬合,并通過藍(lán)牙通信把擬合曲線參數(shù)傳遞給下位機(jī)。結(jié)果表明,該電路能自動(dòng)根據(jù)環(huán)境顏色提供-4~4 V范圍步進(jìn)為0.1 V的電壓來驅(qū)動(dòng)電致變色器件的顏色顯示,與傳統(tǒng)的顏色識(shí)別電路設(shè)計(jì)相比,識(shí)別的精度和速度都得到了明顯改善。 Abstract: In this paper, a portable adaptive circuit for color identification(PACCI) based on MCU was designed. Compared to the traditional color identification circuit, the PACCI adopts digital sensor to detect the color data from external environment and further generate digital color data, which can be processed easily by MCU. In PACCI, the slave is mainly responsible for detecting the color parameters of the corresponding elcreochromic device and further driving it. For the master, which is mainly responsible for the color curve fitting based on the parameters of the electrochromic device, and transmits the fitting parameters to the slave through the bluetooth device. The results show that the PACCI can provide the basis voltage range from -4V to 4V automatically based on the colors of external environment with step as 0.1V to drive the corresponding electrochromic device. Compared to the traditional color recognition circuit, the recognition accuracy and speed of PACCI have been improved significantly.
上傳時(shí)間: 2013-11-09
上傳用戶:franktu
Bootloader是微處理器上電時(shí)運(yùn)行的第一段代碼,它可以通過通信接口實(shí)現(xiàn)對微處理器內(nèi)部應(yīng)用程序的更新升級(jí),為網(wǎng)絡(luò)化嵌入式產(chǎn)品的應(yīng)用程序升級(jí)帶來極大的便利。由于目前沒有統(tǒng)一嵌入式系統(tǒng)的Bootloader。基于NEC 78K0系列單片機(jī)自編程原理,設(shè)計(jì)出一個(gè)適用于78K0/Fx2系列單片機(jī)的Bootloader,并能夠通過單片機(jī)串口在線升級(jí)應(yīng)用程序。 Abstract: Bootloader is the first piece of code executed after microprocessor startup. It makes the embedded product’s firmware update conveniently through communication interface. However, no unified bootloader is available for all kinds of microprocessor products. Based on the principle of self-programming NEC 78K0s’ series, a useful Bootloader which is suitable for 78K0/Fx2s’ series MCU is designed,the design can update the application through serial ports.
標(biāo)簽: Bootloader MCU 自編程
上傳時(shí)間: 2013-10-26
上傳用戶:fang2010
□基于來電顯示技術(shù),識(shí)別主人,利用手機(jī)或固定電話實(shí)現(xiàn)免接通,免費(fèi)用的絕密遙控關(guān)及撤防。□單芯片多功能可編程設(shè)計(jì),MCU內(nèi)核,有著十分靈活廣泛的應(yīng)用(可定制特殊功能)。自動(dòng)撥號(hào)的電話報(bào)警器方面:室內(nèi)手動(dòng)延時(shí)布防,手機(jī)或固定電話免接通遙控撤防;撥號(hào)報(bào)警+現(xiàn)場報(bào)警(可選)。電話遙控開關(guān)方面:用于開啟電控門鎖,保險(xiǎn)柜電控鎖,車庫電動(dòng)門,電器開關(guān)...等。更多應(yīng)用......。□單芯片最多可存入6組電話號(hào)碼(6個(gè)主人)不重碼,最后一組號(hào)碼可刷新,掉電不丟失,可保100年。□非主人撥入無效,主人需20秒內(nèi)連續(xù)撥通兩次遙控才有效(撤防或開關(guān)),操縱成功后會(huì)自動(dòng)回?fù)苓b控者電話一次,以表示遙控成功。絕不影響電話的正常使用。□循環(huán)撥打1-6組主人電話號(hào)碼報(bào)警15次,接聽報(bào)警時(shí)警聲提示,可同時(shí)選擇現(xiàn)場報(bào)警。無注冊用戶時(shí),觸發(fā)報(bào)警將自動(dòng)轉(zhuǎn)入連續(xù)現(xiàn)場報(bào)警1分鐘。□接警處理功能,接聽報(bào)警期間,手機(jī)或固定電話按"#"鍵退出報(bào)警。未接警的號(hào)碼繼續(xù)打報(bào)警。□僅設(shè)計(jì)兩按鈕實(shí)現(xiàn)用戶注冊、信息刪除、室那手動(dòng)布防撤防、輸出開關(guān)控制、報(bào)警模式設(shè)定,報(bào)警期間無法手動(dòng)撤防。□兩種反復(fù)可編程報(bào)警模式。掉電不丟失。模式1:報(bào)警完畢自動(dòng)撤防;模式2:報(bào)警完畢保持布防。□兩種自適應(yīng)電路模式:DTMF解碼器接入模式和DTMF解碼器不接入模式。自動(dòng)實(shí)現(xiàn)不同的電路設(shè)計(jì)實(shí)現(xiàn)不同的輸出控制功能。同一電路設(shè)計(jì),通過增減硬部件即可實(shí)現(xiàn)不同的輸出功能,QL310上電時(shí)自動(dòng)識(shí)別DTMF解碼器是否存在。□兩路警聲輸出:其中一路輸出用于操作音提示及報(bào)警時(shí)加載到電話線路中供監(jiān)聽用。另一路為現(xiàn)場報(bào)警使用(可根據(jù)需要選用,這路只有在報(bào)警時(shí)才有輸出,設(shè)計(jì)時(shí)可通過加大功率提高警聲)。□狀態(tài)記憶功能:布撤防狀態(tài)都有記憶功能(掉電不丟失)。可避免布撤防期間的偶然的停電再上電是狀態(tài)發(fā)生變化。比如,當(dāng)前為布防狀態(tài),掉電再上電后還是保持布防狀態(tài)。□手動(dòng)布撤防提示音,布撤防LED指示燈。□上電開機(jī)報(bào)警模式提示音,模式1發(fā)一聲提示音;模式2發(fā)兩聲提示音。□觸發(fā)端的信號(hào)智能檢測,因此可適應(yīng)任何觸發(fā)信號(hào):或高電平,或低電平,或高/低脈沖信號(hào);無源的開關(guān)信號(hào),如繼電器,干簧管或門磁開關(guān)等(由于觸發(fā)端內(nèi)部有上拉電阻)。標(biāo)準(zhǔn)的TTL電平,通過外接簡單的限幅電路可實(shí)現(xiàn)更高電平或脈沖的輸入(紅外探頭,防火探頭等)。特強(qiáng)抗干擾處理,長距離布線可抗強(qiáng)電磁干擾。□20腳PDIP封裝及20腳SOP封裝。□5V低功耗。使用3.58M晶振。□工業(yè)級(jí)設(shè)計(jì),工作溫度:-40℃~+85℃
上傳時(shí)間: 2013-11-13
上傳用戶:lacsx
問題的提出我公司有多臺(tái)不同廠家生產(chǎn)的水泥包裝機(jī),有電子秤控制和機(jī)械秤控制2種方式。在生產(chǎn)使用過程中,機(jī)械秤原理的先天不足,直接影響稱重的準(zhǔn)確性。一是秤杠桿支點(diǎn)(俗稱秤刀子)會(huì)磨損,影響杠桿的靈活性;二是用于探測杠桿動(dòng)作的接近開關(guān),隨使用次數(shù)增多,電參數(shù)會(huì)發(fā)生變化,且接近開關(guān)的壽命總是有限的;三是由于接近開關(guān)的動(dòng)作距離,總是存在個(gè)體的不同,每次更換時(shí),調(diào)準(zhǔn)袋重總是一件麻煩事。對于電子秤:1)有的秤沒有很好解決抗干擾問題,會(huì)出現(xiàn)電子秤死機(jī)現(xiàn)象,需人工復(fù)位;2)有的秤沒有很好解決每袋都能自動(dòng)清零問題,皮重會(huì)出現(xiàn)隨時(shí)間積累,直接影響袋重,需每隔一定時(shí)間人工重新整定。正是基于以上秤存在稱重不穩(wěn)、故障多等缺點(diǎn),我們提出在原有機(jī)械包裝機(jī)的基礎(chǔ)上,以AT89C52單片機(jī)為核心的電子秤控制方案。
上傳時(shí)間: 2013-10-27
上傳用戶:windwolf2000
一種基于單片機(jī)STC89C58RD+的稱重顯示控制器
上傳時(shí)間: 2013-12-21
上傳用戶:釣鰲牧馬
AVR單片機(jī)技術(shù)原理 AVR單片機(jī)介紹 單片機(jī)又稱單片微控制器,它是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上,概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片機(jī)技術(shù)是計(jì)算機(jī)技術(shù)的一個(gè)分支,是簡易機(jī)器人的核心元件。 1997年,由ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生利用ATMEL公司的Flash新技術(shù), 共同研發(fā)出RISC精簡指令集的高速8位單片機(jī),簡稱AVR。[編輯本段]AVR單片機(jī)的優(yōu)勢特征 單片機(jī)已廣泛地應(yīng)用于軍事、工業(yè)、家用電器、智能玩具、便攜式智能儀表和機(jī)器人制作等領(lǐng)域,使產(chǎn)品功能、精度和質(zhì)量大幅度提升,且電路簡單,故障率低,可靠性高,成本低廉。單片機(jī)種類很多,在簡易機(jī)器人制作和創(chuàng)新中,為什么選用AVR單片機(jī)呢? 一、簡便易學(xué),費(fèi)用低廉 首先,對于非專業(yè)人員來說,選擇AVR單片機(jī)的最主要原因,是進(jìn)入AVR單片機(jī)開發(fā)的門檻非常低,只要會(huì)操作電腦就可以學(xué)習(xí)AVR單片機(jī)的開發(fā)。單片機(jī)初學(xué)者只需一條ISP下載線,把編輯、調(diào)試通過的軟件程序直接在線寫入AVR單片機(jī),即可以開發(fā)AVR單片機(jī)系列中的各種封裝的器件。AVR單片機(jī)因此在業(yè)界號(hào)稱“一線打天下”。 其次,AVR單片機(jī)便于升級(jí)。AVR程序?qū)懭胧侵苯釉陔娐钒迳线M(jìn)行程序修改、燒錄等操作,這樣便于產(chǎn)品升級(jí)。 再次,AVR單片機(jī)費(fèi)用低廉。學(xué)習(xí)AVR單片機(jī)可使用ISP在線下載編程方式(即把PC機(jī)上編譯好的程序?qū)懙絾纹瑱C(jī)的程序存儲(chǔ)器中),不需購買仿真器、編程器、擦抹器和芯片適配器等,即可進(jìn)行所有AVR單片機(jī)的開發(fā)應(yīng)用,這可節(jié)省很多開發(fā)費(fèi)用。程序存儲(chǔ)器擦寫可達(dá)10000次以上,不會(huì)產(chǎn)生報(bào)廢品。 二、高速、低耗、保密 首先,AVR單片機(jī)是高速嵌入式單片機(jī): 1、AVR單片機(jī)具有預(yù)取指令功能,即在執(zhí)行一條指令時(shí),預(yù)先把下一條指令取進(jìn)來,使得指令可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行。 2、多累加器型,數(shù)據(jù)處理速度快。AVR單片機(jī)具有32個(gè)通用工作寄存器,相當(dāng)于有32條立交橋,可以快速通行。 3、中斷響應(yīng)速度快。AVR單片機(jī)有多個(gè)固定中斷向量入口地址,可快速響應(yīng)中斷。 其次,AVR單片機(jī)耗能低。對于典型功耗情況,WDT關(guān)閉時(shí)為100nA,更適用于電池供電的應(yīng)用設(shè)備。有的器件最低1.8 V即可工作。 再次,AVR單片機(jī)保密性能好。它具有不可破解的位加密鎖Lock Bit技術(shù),保密位單元深藏于芯片內(nèi)部,無法用電子顯微鏡看到。 三、I/O口功能強(qiáng),具有A/D轉(zhuǎn)換等電路 1. AVR單片機(jī)的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實(shí)情況。工業(yè)級(jí)產(chǎn)品,具有大電流(灌電流)10~40 mA,可直接驅(qū)動(dòng)可控硅SCR或繼電器,節(jié)省了外圍驅(qū)動(dòng)器件。 2. AVR單片機(jī)內(nèi)帶模擬比較器,I/O口可用作A/D轉(zhuǎn)換,可組成廉價(jià)的A/D轉(zhuǎn)換器。ATmega48/8/16等器件具有8路10位A/D。 3. 部分AVR單片機(jī)可組成零外設(shè)元件單片機(jī)系統(tǒng),使該類單片機(jī)無外加元器件即可工作,簡單方便,成本又低。 4. AVR單片機(jī)可重設(shè)啟動(dòng)復(fù)位,以提高單片機(jī)工作的可靠性。有看門狗定時(shí)器實(shí)行安全保護(hù),可防止程序走亂(飛),提高了產(chǎn)品的抗干擾能力。 四、有功能強(qiáng)大的定時(shí)器/計(jì)數(shù)器及通訊接口 定時(shí)/計(jì)數(shù)器T/C有8位和16位,可用作比較器。計(jì)數(shù)器外部中斷和PWM(也可用作D/A)用于控制輸出,某些型號(hào)的AVR單片機(jī)有3~4個(gè)PWM,是作電機(jī)無級(jí)調(diào)速的理想器件。 AVR單片機(jī)有串行異步通訊UART接口,不占用定時(shí)器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標(biāo)準(zhǔn)整數(shù)頻率下,而波特率可達(dá)576K。
標(biāo)簽: AVR 單片機(jī)技術(shù)
上傳時(shí)間: 2013-10-18
上傳用戶:二十八號(hào)
異常向量表重映射 向量表是異常產(chǎn)生時(shí)內(nèi)核獲取異常處理函數(shù)入口地址的一塊連續(xù)內(nèi)存,每一個(gè)異常都在向量表固定的偏移地址,且偏移地址都是以字對齊的,通過該偏移地址內(nèi)核就可以獲取異常處理函數(shù)的入口指針,從而跳轉(zhuǎn)到異常處理函數(shù)入口,執(zhí)行異常處理函數(shù)。
上傳時(shí)間: 2013-11-25
上傳用戶:rnsfing
量熱儀是能源生產(chǎn)和能耗企業(yè)必備的重要測量儀器,其測量精度和效率直接影響著經(jīng)濟(jì)效益。為了提高量熱儀的測量精度,整個(gè)量熱系統(tǒng)的測溫精度、準(zhǔn)確性、穩(wěn)定性等諸多方面都需要得到改善和提高。本文給出了采用單片機(jī)及鉑電阻PT1000 為核心器件的高精度恒溫式自動(dòng)量熱儀設(shè)計(jì)。燃料的價(jià)值就在于燃燒過程中能夠發(fā)熱,因此燃燒熱量就成為評(píng)估燃料質(zhì)量最重要的指標(biāo),而燃燒熱量通常是由量熱儀來測量的。因此,量熱儀是能源生產(chǎn)和能耗企業(yè)必備的重要儀器,其測量精度和效率直接影響著經(jīng)濟(jì)效益。量熱儀可分別用于電力、煤炭、焦炭、石油、化工、水泥、軍工、糧食、飼料、木材、木炭以及科研等行業(yè)測量固體、液體等可燃物資的發(fā)熱量。由于其應(yīng)用范圍很廣,因此研制出更高測量精度和效率的量熱儀具有很好的發(fā)展前景及經(jīng)濟(jì)效益。我國是產(chǎn)煤大國,而衡量煤炭質(zhì)量的最重要指標(biāo)之一是其燃燒發(fā)熱量。因而,目前國內(nèi)普遍采用以發(fā)熱量作為動(dòng)力煤計(jì)價(jià)的主要依據(jù)。由于煤炭的發(fā)熱量主要是利用量熱儀來測定,因此,目前恒溫式自動(dòng)量熱儀在包括煤炭生產(chǎn)以及用煤單位如電力等系統(tǒng)廣泛應(yīng)用。但由于其在測溫過程中不可避免地會(huì)受到客觀和人為干擾,準(zhǔn)確性受到一定影響。為了解決這一問題并根據(jù)現(xiàn)有量熱儀存在的其它缺點(diǎn),本文所設(shè)計(jì)的量熱儀采用了以單片機(jī)為控制單元,選用更高精度的鉑電阻PT1000 作為溫度傳感器,精心設(shè)計(jì)相關(guān)電路,增加信號(hào)處理單元,采用LabVIEW 設(shè)計(jì)操作界面等,不僅提升了量熱儀的測量精度,而且具有良好的性價(jià)比。
標(biāo)簽: 單片機(jī) 恒溫 自動(dòng) 量熱
上傳時(shí)間: 2013-12-29
上傳用戶:lvzhr
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1