完美地将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. C# winform 弹框提示内存不足

    看了下面一片博文解决的 Winform 内存不足Winform,我给PictureBox 赋值 picBox_One.BackgroundImage = Image.FromFile("图片 ...

  2. Mbp通过筛选器和中间件实现异常,日志,事务及接口返回数据格式化aop处理.

    Mbp应用服务层的AOP实现 实现方法:asp.net core mvc 筛选器 + 中间件 日志,事务,和接口返回结果统一格式化采用操作筛选器,而异常处理采用中间件来处理. 最开始,我是打算用aut ...

  3. C语言系列之自增自减运算符的用法(二)

    运算符中最难理解的有自增自减运算符的使用方法,下面我将简单总结一下他们的使用方法 我们知道,C语言运行是由右向左运行的 下面我们来看一个例子 当i等于3的时候 j=++i; 由上面可知,C语言是由右向 ...

  4. SpringBoot学习(1) - 日志

    package com.study.spring_boot_log; import org.springframework.boot.SpringApplication; import org.spr ...

  5. c++中值传递,址传递,引用传递

    概念详解 1. 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值. 从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出: 当函数内部需要修改参数,并 ...

  6. 登录sql sever

    MSSQLSEVER是默认的实例名,一台计算机可以安装多个实例名,相当于多个服务器,互不影响. workbench是MySQL 服务器的一个图形化管理客户端,功能类似于MySQL Command 安装 ...

  7. java14带参的方法

    public class jh_01_如何使用带参数的方法31 { public static void main(String[] args) { // 创建对象 ZhaZhiJi zzj = ne ...

  8. mongodb 配置文件解释(转)

    Mongodb 3.x配置说明,本文内容忽略了Enterprise版和一些不常用的配置. 一.配置说明 在Mongod安装包中,包含2个进程启动文件:mongod和mongos:其中mongd是核心基 ...

  9. BurpSuite--代理和浏览器设置

    上一篇文章我们完成了JAVA环境的搭建和burpsuite的安装,接下来请大家和我一起一步一步的完成burpsuite的代理和浏览器的相关设置. 关注“白帽技术与网络安全”获取安装包 1.设置浏览器代 ...

  10. apache 负载均衡

    此次使用mod_proxy的方式来实现的,因为在Apache2以上的版本中已经集成了,因此不需要再另行安装和配置了. 只需要把注释去掉即可,去掉以下模块的注释: LoadModule proxy_mo ...