完美地将visual basic和office 办公软件结合起来。来自微软公司VSTO小组的权威专家所编著。

全书共712页,内容极其全面而深入,猛一看,厚地犹如庞然大物。看完离大神就不远了哦<^ . ^>!!!!!

《VSTO开发指南》是2008年2月电子工业出版社出版的图书,

作者是(美国)Eric Carter   Eric Lippert

实例1:从Excel程序到Excel表 书本中的内容(第7页):

程序清单1.1. 在Excel中从Application对象到Worksheet

Dim myWorkbooks As Excel.Workbooks = app.Workbooks
Dim myWorkbook As Excel.Workbook = myWorkbooks.Item()
Dim myWorksheets As Excel.Sheets = myWorkbook.Worksheets
Dim myWorksheet As Excel.Worksheet
myWorksheet = CType(myWorksheets.Item(), Excel.Worksheet)

Visual basic 2013 中的控制台应用程序:

实现目标:获取第一个工作表的名称。

实现步骤:项目——>添加引用——>程序集——>扩展——>Microsoft.Office.Interop.Excel——>确定

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add()
Dim myWorkbook1 As excel.Workbook = myWorkbooks.Item()
Dim myWorksheets As excel.Sheets = myWorkbook1.Worksheets
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(myWorksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub End Module

也可以为代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add()
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(myWorkbook.Worksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub
End Module

也可以为代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(myWorkbooks.Add().Worksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub
End Module

也可以为代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Add().Worksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub
End Module

实例效果:

简化程序清单1.1中的代码为:

书中的内容:

Dim myWorksheet As Excel.Worksheet
myWorksheet = CType(app.Workbooks.Item().Worksheets.Item(), Excel.Worksheet)

编写代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Add().Worksheets.Add(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub End Module

实例效果:

注:区分程序、工作簿、工作表的概念,程序就是我们安装的Excel,程序可以创建多个工作簿,一个工作簿可以创建多个工作表。我们平时所说的Excel文件就是工作簿,而工作簿是要用程序来创建的。

实例1自续:创建Excel工作簿,再创建工作表,并在A1单元格中输入内容“这是A1”

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook
Dim myWorksheet As excel.Worksheet
app.Visible = True
myWorkbook = app.Workbooks.Add()
myWorksheet = CType(myWorkbook.Sheets.Add(), excel.Worksheet)
myWorksheet.Cells(, ) = "这是A1"
End Sub
End Module

实例效果:

实例2:Excel表的count属性和item属性 书本中的内容(第7页):     

程序清单1.2 以整数或字符串索引形式使用count和item属性对集合进行循环处理

Dim myWorkbooks As Excel.Workbooks = app.Workbooks

Dim workbookCount As Integer = myWorkbooks.Count
For i As Integer = To workbookCount
' Get the workbook by its integer index
Dim myWorkbook As Excel.Workbook = myWorkbooks.Item(i) ' Get the workbook by its string index
Dim workbookName As String = myWorkbook.Name Dim myWorkbook2 As Excel.Workbook = _
myWorkbooks.Item(workbookName)
MsgBox(String.Format("Workbook {0}", myWorkbook2.Name))
Next

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook
Dim myWorksheet As excel.Worksheet
app.Visible = True
myWorkbook = app.Workbooks.Add()
myWorksheet = CType(myWorkbook.Sheets.Add(), excel.Worksheet)
myWorksheet.Cells(, ) = "这是A1" Dim worksheetCount As Integer = myWorkbook.Worksheets.Count
For i As Integer = To worksheetCount
Dim str As String
str = myWorkbook.Worksheets.Item(i).Name '以整数作为索引
MsgBox(str, , "获取工作表名称")
Next For i As Integer = To worksheetCount
Dim str As String
str = myWorkbook.Worksheets.Item("sheet" & i).Name
MsgBox(str, , "获取工作表名称") '以字符串作为索引
Next
End Sub
End Module

实例效果:

                 

实例2自续:编辑工作表sheet2中D3单元格,并填入“我是丑丑”

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook
'Dim myWorksheet As excel.Worksheet
app.Visible = True
myWorkbook = app.Workbooks.Add()
'myWorksheet = CType(myWorkbook.Sheets.Add(, , 3,), Excel.Worksheet) '第3个参数表示添加多少工作表,这里添加3个,
Dim C4_sheet As excel.Worksheet = myWorkbook.Worksheets.Item("sheet2") '工作表的索引从0开始,
C4_sheet.Cells(, ) = "我是丑丑" 'Cells(行,列),也就是D3单元格 这里不能用range属性代替,应为range属性是只读属性
End Sub
End Module

实例效果:

实例3:学习For each循环结构 书本内容(第8页)

程序清单1.3 使用for each循环处理集合

Dim myWorkbooks As Excel.Workbooks = app.Workbooks
For Each workbook As Excel.Workbook In myWorkbooks
MsgBox(String.Format("Workbook {0}", workbook.Name))
Next

实例代码;

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add()
'Dim myWorkbook As excel.Workbook = myWorkbooks.Add("D:\职工人员表.xls")
For Each workbook As excel.Workbook In myWorkbooks
MsgBox(String.Format("Workbook {0}", workbook.Name))
Next End Sub
End Module

实例效果(不尽如人意):

改进实例:删除工作表

实例代码: 

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook = app.ActiveWorkbook
app.Visible = True
myWorkbook = app.Workbooks.Add("E:\工作簿1") '"工作簿1.xls"是一个模板,相当另外新建了一个"工作簿11.xls"并打开了
Dim myCollection As New Collections.Generic.List(Of excel.Worksheet)
For Each Name As excel.Worksheet In myWorkbook.Worksheets
myCollection.Add(Name)
Next
For Each name As excel.Worksheet In myCollection
name.Delete()
Next
End Sub
End Module

实例效果:

 实例4:删除对象用集合 书本内容(8页)

程序清单1.4 删除对象时使用另一个集合

Dim myWorkbook As Excel.Workbook = app.ActiveWorkbook
Dim myCollection As New Collections.Generic.List(Of Excel.Name) For Each name As Excel.Name In myWorkbook.Names
myCollection.Add(name)
Next For Each name As Excel.Name In myCollection
name.Delete()
Next

注:代码中的Excel.Name并不字符串,而是一个对象。

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook = app.ActiveWorkbook
app.Visible = True
myWorkbook = app.Workbooks.Add("E:\工作簿1") '"工作簿1.xls"是一个模板,相当另外新建了一个"工作簿11.xls"并打开了
Dim myCollection As New Collections.Generic.List(Of excel.Range)
For Each Name As excel.Range In myWorkbook.Worksheets("Sheet1").Range("A1:D5") '由于是删除,所以下面的行会自动向上缩进
myCollection.Add(Name)
Next
For Each name As excel.Range In myCollection
name.Delete() '由于是删除,所以下面的行会自动向上缩进
Next
End Sub
End Module

实例效果:

实例7:Word的application判断CapsLock属性值,书本第9页。

注:从实例7开始了Word,所以在引用里要添加“Microsoft.Office.Interop.Word”

程序清单1.5 返回值类型的属性:Word应用程序对象上的布尔型CapsLock属性

If app.CapsLock Then
MsgBox("CapsLock is on")
Else
MsgBox("CapsLock is off")
End If

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim app As word.Application = New word.Application
If app.CapsLock Then
MsgBox("CapsLock is on")
Else
MsgBox("CapsLock is off")
End If
End Sub
End Module

实例效果:

   

实例7:判断word文档是最大化、最小化还是常规化,书本第11页

 程序清单1.6 返回枚举的属性:Word应用程序对象上的windowstate属性

Select Case app.WindowState
Case Word.WdWindowState.wdWindowStateMaximize
MsgBox("Maximized")
Case Word.WdWindowState.wdWindowStateMinimize
MsgBox("Minimized")
Case Word.WdWindowState.wdWindowStateNormal
MsgBox("Normal")
End Select

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim APP As word.Application = New word.Application
Dim myDocuments As word.Documents = APP.Documents
Dim myDocument As word.Document = myDocuments.Add()
APP.Visible = True
Select Case app.WindowState
Case word.WdWindowState.wdWindowStateMaximize
MsgBox("Maximized")
Case word.WdWindowState.wdWindowStateMinimize
MsgBox("Minimized")
Case word.WdWindowState.wdWindowStateNormal
MsgBox("Normal")
End Select
End Sub
End Module

实例效果:

  

实例7:活动文档(ActiveDocument),书本第11页

 程序清单1.7 返回对象模型中的另一个对象属性:Word应用程序对象中的ActiveDocument属性

Dim myDocument As Word.Document = app.ActiveDocument
MsgBox(myDocument.Name)

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim APP As word.Application = New word.Application
Dim myDocuments As word.Documents = APP.Documents
Dim myDocument As word.Document = myDocuments.Add()
APP.Visible = True
Dim myDocument1 As word.Document = APP.ActiveDocument
MsgBox(myDocument1.Name)
End Sub
End Module

实例效果:

 实例8:没有活动文档的异常,书本第11页

程序清单1.8 可能抛出异常的属性:Word应用程序对象上的ActiveDocument属性

Dim myDocument As Word.Document
Try
myDocument = app.ActiveDocument
MsgBox(myDocument.Name)
Catch ex As Exception
MsgBox(String.Format("No active document: {0}", ex.Message)
End Try

示例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim APP As word.Application = New word.Application
Dim myDocument As word.Document
APP.Visible = True
Try
myDocument = APP.ActiveDocument
MsgBox(myDocument.Name)
Catch ex As Exception
MsgBox(String.Format("No active document: {0}", ex.Message))
End Try
End Sub
End Module

实例效果:

 实例9:没有打开Excel,就返回nothing书本第11页。

程序清单1.9 可能返回Nothing的属性:Excel应用程序对象中的ActiveWorkBook属性

Dim myWorkbook As Excel.Workbook = app.ActiveWorkbook

If myWorkbook Is Nothing Then
MsgBox("No active workbook")
Else
MsgBox(myWorkbook.Name)
End If

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim APP As excel.Application = New excel.Application
Dim myWorkbook As Excel.Workbook = app.ActiveWorkbook If myWorkbook Is Nothing Then
MsgBox("No active workbook")
Else
MsgBox(myWorkbook.Name)
End If
End Sub
End Module

实例效果:

 实例10:Word应用程序的文件对话框(FileDialog)属性 第12页

注:实例10中出现了文件对话框,所以引用里要添加“Microsoft office 14.0 object library”,FileDialog来源于Microsoft.office.core.Filedialog。

程序清单1.10 需要枚举型参数并返回对象模型的属性:Word应用程序对象上的FileDialog属性

Dim dialog As Office.FileDialog
dialog = app.FileDialog(Office.MsoFileDialogType. _
msoFileDialogFilePicker)
dialog.Show()

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim dialog As word.Dialog
dialog = app.Dialogs(word.WdWordDialog.wdDialogFileOpen)
dialog.Show()
End Sub
End Module

  实例效果:

实例拓展(来自MSDN):

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim dlg As word.Dialog = app.Dialogs(word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(word.Dialog)
' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
Reflection.BindingFlags.SetProperty Or _
Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance, _
Nothing, dlg, New Object() {"Testing"}, _
System.Globalization.CultureInfo.InvariantCulture)
' Display the dialog box.
dlg.Show()
' Show the Name property.
MsgBox(dlgType.InvokeMember("Name", _
Reflection.BindingFlags.GetProperty Or _
Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance, _
Nothing, dlg, Nothing, _
System.Globalization.CultureInfo.InvariantCulture))
End Sub
End Module

实例效果:

实例11:Excel应用程序对象上的Range属性 书本第13页

程序清单1.11 具有可选参数的属性:Excel应用程序对象上的Range属性

' Omit the optional second parameter
Dim myRange As Excel.Range = app.Range("A1") ' Specify the optional second parameter
Dim myRange2 As Excel.Range = app.Range("A1", "B2")

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add("E:\工作簿1.xlsx")
app.Visible = True
Dim myRange As String = myWorkbook.Worksheets("sheet1").Range("A1").text
'Dim myRange2 As String = myWorkbook.Worksheets("sheet1").Range("A1", "B2").text
MsgBox(String.Format("单元格中的值:{0}", myRange))
End Sub
End Module

实例效果:

小结一下:

最单的一步到位的一种从程序到我们常见的工作表的代码写法:

        'Earlier in this chapter, we presented this code as a simple way of navigating the object hierarchy of Excel to get a Worksheet object:
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Item().Worksheets.Item(), excel.Worksheet)
'There is an even simpler way to write this code. It can be rewritten like this:
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks().Worksheets(), excel.Worksheet)
Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Add("E:\工作簿1.xlsx").Worksheets.Item("sheet1"), excel.Worksheet)
Dim myRange As String = myWorksheet.Range("A1").text
MsgBox(String.Format("单元格中的值:{0}", myRange))
End Sub
End Module

实例12 activate方法激活Word 书本第14页

程序清单 1.12 没有参数没有返回类型的方法:Word应用程序对象中的Activate方法

MsgBox("Activating the Word window.")

app.Activate()

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim myDocuments As word.Documents = app.Documents
Dim myDocument As word.Document = myDocuments.Add()
app.Visible = True
MsgBox("Activating the Word window.")
app.Activate()
End Sub
End Module

实例效果:

实例13 Word程序改变打开路径 书本第14页

程序清单1.13 具有参数但没有返回值的方法:Word应用程序对象中的ChangeFileOpenDirectory方法

app.ChangeFileOpenDirectory("c:\temp")

MsgBox("Will open out of temp for this session.")

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
app.ChangeFileOpenDirectory("c:\temp")
Dim dialog As word.Dialog
dialog = app.Dialogs(word.WdWordDialog.wdDialogFileOpen)
dialog.Show()
End Sub
End Module

实例效果:

实例14 获得Word的像素值

程序清单1.14 没有参数但有返回值的方法:Word应用程序对象中的DefaultWebOptions方法

Dim options As Word.DefaultWebOptions = app.DefaultWebOptions()

MsgBox(String.Format("Pixels per inch is {0}.", _
options.PixelsPerInch))

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim options As word.DefaultWebOptions = app.DefaultWebOptions
MsgBox(String.Format("pixels per inch is {0}", options.PixelsPerInch))
End Sub
End Module

实例效果:

 实例15 Word的属性CentimetersToPoints将厘米转换为对应的点数  书本第14页

程序清单1.15 具有参数和返回值的方法:Word应用程序对象中的CentimetersToPoints方法

Dim centimeters As Single = 15.0

Dim points As Single = app.CentimetersToPoints(centimeters)

MsgBox(String.Format("{0} centimeters is {1} points.", _
centimeters, points))

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim centimeters As Single = 15.0
Dim points As Single = app.CentimetersToPoints(centimeters)
MsgBox(String.Format("{0} centimeters is {1} points.", centimeters, points))
'1 centimeter = 28.34646 point
End Sub
End Module

实例效果:

 实例16 Excel程序的CheckSpelling方法检查单词拼写   书本第15页

程序清单1.16 具有可选参数和返回值的方法:Excel应用程序对象中的CheckSpelling方法

Dim phrase1 As String = "Thes is spelled correctly."
Dim phrase2 As String = "This is spelled correctly AFAIK." Dim isCorrect1 As Boolean = app.CheckSpelling(phrase1)
Dim isCorrect2 As Boolean = app.CheckSpelling(phrase2, , True)

示例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim phrase1 As String = "Thes is spelled correctly."
Dim phrase2 As String = "This is spelled correctly AFAIK."
Dim isCorrect1 As Boolean = app.CheckSpelling(phrase1)
Dim isCorrect2 As Boolean = app.CheckSpelling(phrase2, , True)
MsgBox("phrase1: " & isCorrect1 & Chr() & Chr() & "phrase2: " & isCorrect2)
End Sub

实例效果:

实例17  处理Excel Application 对象中WindowActivate事件 书本第17页

程序清单 1.17 处理Excel Application对象中WindowActivate事件的VSTO自定义机制

Public Class Sheet1

  Public WithEvents app As Excel.Application

  Private Sub app_WindowActivate(ByVal Wb As Excel.Workbook, _
ByVal Wn As Excel.Window) Handles app.WindowActivate MsgBox("The window " & Wn.Caption & " was just activated.") End Sub Private Sub Sheet1_Startup(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Startup app = Me.Application End Sub End Class

实例代码:

Public Class sheet1
Public WithEvents app As Excel.Application
Private Sub app_WindowActivate(ByVal Wb As Excel.Workbook, ByVal Wn As Excel.Window) Handles app.WindowActivate
MsgBox("The window " & Wn.Caption & " was just activated.")
End Sub
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
app = Me.Application
End Sub
End Class

实例效果:

实例18 WindowActivate事件动态添加和删除事件处理器 书本第19页

程序清单1.18 VSTO自定义机制,用于为Excel应用程序对象的WindowActivate事件动态添加和删除事件处理器

Public Class Sheet1

  Public app As Excel.Application

  Private Sub MyWindowActivateHandler(ByVal Wb As _
Excel.Workbook, ByVal Wn As Excel.Window) MsgBox("The window " & Wn.Caption & " was just activated.")
RemoveHandler app.WindowActivate, _
AddressOf Me.MyWindowActivateHandler End Sub Private Sub Sheet1_Startup(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Startup app = Me.Application
AddHandler app.WindowActivate, _
AddressOf Me.MyWindowActivateHandler End Sub End Class

实例代码:

Public Class Sheet1

    Public app As Excel.Application
Private Sub MyWindowActivateHandler(ByVal Wb As Excel.Workbook, ByVal Wn As Excel.Window)
MsgBox("The window " & Wn.Caption & " was just activated.")
RemoveHandler app.WindowActivate, AddressOf Me.MyWindowActivateHandler
End Sub
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
app = Me.Application
AddHandler app.WindowActivate, AddressOf Me.MyWindowActivateHandler
End Sub End Class

实例效果:

VSTO开发指南(VB2013版) 第一章 Office对象模型的更多相关文章

  1. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  2. 《NodeJs开发指南》第五章微博开发实例的中文乱码问题

    在<NodeJs开发指南>第五章,按照书中的要求写好微博实例后,运行代码,发现中文显示出现乱码,原因是:views文件夹下的ejs文件的编码格式不是utf-8. 解决方法:以记事本方式打开 ...

  3. 《NodeJS开发指南》第五章微博实例开发总结

    所有文章搬运自我的个人主页:sheilasun.me <NodeJS开发指南>这本书用来NodeJS入门真是太好了,而且书的附录部分还讲到了闭包.this等JavaScript常用特性.第 ...

  4. Pro ASP.NET Core MVC 第6版 第一章

    目录 第一章 ASP.NET Core MVC 的前世今生 ASP.NET Core MVC 是一个微软公司开发的Web应用程序开发框架,它结合了MVC架构的高效性和简洁性,敏捷开发的思想和技术和.N ...

  5. HTTP权威指南阅读记录 - 第一章

    最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔 ...

  6. Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  7. Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  8. 《JavaScript设计模式与开发实践》笔记第一章

    第一章 面向对象的JavaScript 动态类型语言和鸭子类型 编程语言按照数据类型大体可以分为两类:静态类型语言.动态类型语言. 静态类型语言:在编译时便已确定变量的类型. 优点: 在编译时就能发现 ...

  9. 高性能MySQL(第4版) 第一章 MySQL架构 读书笔记

    这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下, ...

随机推荐

  1. Python3中的__new__方法以及继承不可变类型类的问题

    最近在学到Python中的__new__方法时被弄懵逼了,一开始实在是很难理解,有很多地方想不通(本人强迫症).最近自己慢慢思索得出了能说服自己的理解: 说__new__方法之前要先提到__init_ ...

  2. 创建dynamics CRM client-side (十一) - 管理和关联所有的JS文件

    代码管理是一个无法避免的问题. 前面我也建议了大家每一个entity都应该拥有自身的js. 但是如果我们有一些global的function, 我们应该怎样去部署到每一个entity中呢? 我这里使用 ...

  3. Mondriaan's Dream 轮廓线DP 状压

    Mondriaan's Dream 题目链接 Problem Description Squares and rectangles fascinated the famous Dutch painte ...

  4. python中map()和dict()的用法

    map()用法 map()是python的内置函数,会根据提供的函数对指定序列做映射. 语法: map(func, iter, ...) 其中func为一个功能函数,iter表示可迭代参数序列.map ...

  5. 五、Shell运算

    整数值运算 使用expr命令:只能做整数运算,默认返回计算结果 格式: expr 整数1 运算符 整数2 ... 整数值可以有变量提供,直接给出运算结果 + 加法 expr 43 + 21 .expr ...

  6. 如何利用开源解码项目开发js视频解码的web应用 系列

    介绍web上开发视频业务相关程序的技术演变历程 https://www.cnblogs.com/maoliangwu/articles/12046495.html 介绍ffmpeg asm.js we ...

  7. [python]getpass模块

    python3的input函数不能隐藏用户输入,可以用getpass模块的getpass方法获取用户输入的时候用于隐藏显示密码. *需要注意的是该方法在IDE中看不到隐藏效果,在内置IDLE中会有Ge ...

  8. 高软期末考试 B2C模式

    一.软件工程知识点 简要总结 1.软件基础知识 瀑布模型: 我感觉整个<软件工程>书的布局就是按照瀑布模型来的,上面右图少个运维. 2.UML图 2.1 用例图 UseCase Diagr ...

  9. 源码详解系列(八) ------ 全面讲解HikariCP的使用和源码

    简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 dr ...

  10. urllib 模块 - module urllib

    urllib 模块 - urllib module 获取 web 页面, html = urllib.request.urlopen("http://www.zzyzz.top/" ...