博客园 - 许海彪
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=82791
2018-07-01T13:51:52Z
许海彪
https://www.cnblogs.com/xuhaibiao/
feed.cnblogs.com
https://www.cnblogs.com/xuhaibiao/p/9251502.html
使用MS的ScriptDom来拆解TSQL脚本 - 许海彪
此处提供9.1.40413.0版本的DLL一共4个:Microsoft.Data.Schema.dll、Microsoft.Data.Schema.ScriptDom.dll、Microsoft.Data.Schema.ScriptDom.Sql.dll、Microsoft.Data.Schema.
2018-07-01T13:52:00Z
2018-07-01T13:52:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】此处提供9.1.40413.0版本的DLL一共4个:Microsoft.Data.Schema.dll、Microsoft.Data.Schema.ScriptDom.dll、Microsoft.Data.Schema.ScriptDom.Sql.dll、Microsoft.Data.Schema. <a href="https://www.cnblogs.com/xuhaibiao/p/9251502.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/9249669.html
C# 词法分析器(七)总结 - 许海彪
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 在之前的六篇文章中,我比较详细的介绍了与词法分析器相关的算法。它们都比较关注于实现的细节,感觉上可能比较凌乱,本篇就从整体上介绍一下如何定义词法分析器,
2018-07-01T03:18:00Z
2018-07-01T03:18:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 在之前的六篇文章中,我比较详细的介绍了与词法分析器相关的算法。它们都比较关注于实现的细节,感觉上可能比较凌乱,本篇就从整体上介绍一下如何定义词法分析器, <a href="https://www.cnblogs.com/xuhaibiao/p/9249669.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/9249666.html
C# 词法分析器(六)构造词法分析器 - 许海彪
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 现在最核心的 DFA 已经成功构造出来了,最后一步就是根据 DFA 得到完整的词法分析器。 由于目前还不能像 Flex 那样支持词法定义文件,所以仍然需
2018-07-01T03:17:00Z
2018-07-01T03:17:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 现在最核心的 DFA 已经成功构造出来了,最后一步就是根据 DFA 得到完整的词法分析器。 由于目前还不能像 Flex 那样支持词法定义文件,所以仍然需 <a href="https://www.cnblogs.com/xuhaibiao/p/9249666.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/9249665.html
C# 词法分析器(五)转换 DFA - 许海彪
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 在上一篇文章中,已经得到了与正则表达式等价的 NFA,本篇文章会说明如何从 NFA 转换为 DFA,以及对 DFA 和字符类进行化简。 一、DFA 的表
2018-07-01T03:16:00Z
2018-07-01T03:16:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 在上一篇文章中,已经得到了与正则表达式等价的 NFA,本篇文章会说明如何从 NFA 转换为 DFA,以及对 DFA 和字符类进行化简。 一、DFA 的表 <a href="https://www.cnblogs.com/xuhaibiao/p/9249665.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/9249659.html
C# 词法分析器(三)正则表达式 - 许海彪
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 正则表达式是一种描述词素的重要表示方法。虽然正则表达式并不能表达出所有可能的模式(例如“由等数量的 a 和 b 组成的字符串”),但是它可以非常高效的描
2018-07-01T03:15:00Z
2018-07-01T03:15:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 正则表达式是一种描述词素的重要表示方法。虽然正则表达式并不能表达出所有可能的模式(例如“由等数量的 a 和 b 组成的字符串”),但是它可以非常高效的描 <a href="https://www.cnblogs.com/xuhaibiao/p/9249659.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/9249662.html
C# 词法分析器(四)构造 NFA - 许海彪
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 有了上一节中得到的正则表达式,那么就可以用来构造 NFA 了。NFA 可以很容易的从正则表达式转换而来,也有助于理解正则表达式表示的模式。 一、NFA
2018-07-01T03:15:00Z
2018-07-01T03:15:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 有了上一节中得到的正则表达式,那么就可以用来构造 NFA 了。NFA 可以很容易的从正则表达式转换而来,也有助于理解正则表达式表示的模式。 一、NFA <a href="https://www.cnblogs.com/xuhaibiao/p/9249662.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/9249490.html
C# 词法分析器(二)输入缓冲和代码定位 - 许海彪
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 一、输入缓冲 在介绍如何进行词法分析之前,先来说说一个不怎么被提及的问题——怎么从源文件中读取字符流。为什么这个问题这么重要呢?是因为在词法分析中,对字
2018-07-01T02:15:00Z
2018-07-01T02:15:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 一、输入缓冲 在介绍如何进行词法分析之前,先来说说一个不怎么被提及的问题——怎么从源文件中读取字符流。为什么这个问题这么重要呢?是因为在词法分析中,对字 <a href="https://www.cnblogs.com/xuhaibiao/p/9249490.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/9248912.html
C# 词法分析器(一)词法分析介绍 - 许海彪
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 虽然文章的标题是词法分析,但首先还是要从编译原理说开来。编译原理应该很多人都听说过,虽然不一定会有多么了解。 简单的说,编译原理就是研究如何进行编译——
2018-06-30T14:33:00Z
2018-06-30T14:33:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 虽然文章的标题是词法分析,但首先还是要从编译原理说开来。编译原理应该很多人都听说过,虽然不一定会有多么了解。 简单的说,编译原理就是研究如何进行编译—— <a href="https://www.cnblogs.com/xuhaibiao/p/9248912.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/7574415.html
DotNET中的幕后英雄:MSCOREE.DLL - 许海彪
现在做.NET Framework的开发的朋友应该是越来越多了,但是可能并非人人都对MSCOREE.DLL非常了解。而事实上,毫不夸张地说,MSCOREE.DLL是.NET Framework中最为核心的DLL之一,没有这个DLL,托管程序根本无法开始执行起来,但是由于这个DLL藏在System32
2017-09-22T05:28:00Z
2017-09-22T05:28:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】现在做.NET Framework的开发的朋友应该是越来越多了,但是可能并非人人都对MSCOREE.DLL非常了解。而事实上,毫不夸张地说,MSCOREE.DLL是.NET Framework中最为核心的DLL之一,没有这个DLL,托管程序根本无法开始执行起来,但是由于这个DLL藏在System32 <a href="https://www.cnblogs.com/xuhaibiao/p/7574415.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/7573904.html
延迟为程序集签名 - 许海彪
一个单位可以具有开发人员在日常使用中无法访问的严密保护的密钥对。 公钥通常是可用的,但对私钥的访问权仅限于少数个人。 开发强名称程序集时,每个引用具有强名称的目标程序集的程序集中都包含了用于为目标程序集指定强名称的公钥的标记。 这要求公钥在开发过程中可用。 您可以在生成时使用延迟签名或部分签名,在可
2017-09-22T03:21:00Z
2017-09-22T03:21:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】一个单位可以具有开发人员在日常使用中无法访问的严密保护的密钥对。 公钥通常是可用的,但对私钥的访问权仅限于少数个人。 开发强名称程序集时,每个引用具有强名称的目标程序集的程序集中都包含了用于为目标程序集指定强名称的公钥的标记。 这要求公钥在开发过程中可用。 您可以在生成时使用延迟签名或部分签名,在可 <a href="https://www.cnblogs.com/xuhaibiao/p/7573904.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/7573852.html
使用强名称为程序集签名 - 许海彪
可通过许多方法为程序集签署强名称: 在 Visual Studio 中,通过使用项目的“属性”对话框中的“签名”选项卡。 这是为程序集签署强名称的最简单且最方便的方法。 通过使用程序集链接器 (Al.exe) 将 .NET Framework 代码模块(.netmodule 文件)与密钥文件链接。
2017-09-22T03:13:00Z
2017-09-22T03:13:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】可通过许多方法为程序集签署强名称: 在 Visual Studio 中,通过使用项目的“属性”对话框中的“签名”选项卡。 这是为程序集签署强名称的最简单且最方便的方法。 通过使用程序集链接器 (Al.exe) 将 .NET Framework 代码模块(.netmodule 文件)与密钥文件链接。 <a href="https://www.cnblogs.com/xuhaibiao/p/7573852.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/7573635.html
使用SN.exe对.Net生成的程序集进行签名 - 许海彪
CLR用数字签名的方式防止程序集发布后被人篡改,也可以确定发布人,这个方法就是使用公/私钥对,然后对程序集所有模块取一个哈希生成一个数字签名放在程序集的元数据中。 1、创建公/私钥对 创建公/私钥对有两种方式,一种是通过Visual Studio 命令提示框执行sn -k 密钥.snk方式创建私钥文件;(Visual Studio 命令提示框 最好以管理员方式打开) 第二种是在V...
2017-09-22T02:36:00Z
2017-09-22T02:36:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】CLR用数字签名的方式防止程序集发布后被人篡改,也可以确定发布人,这个方法就是使用公/私钥对,然后对程序集所有模块取一个哈希生成一个数字签名放在程序集的元数据中。 1、创建公/私钥对 创建公/私钥对有两种方式,一种是通过Visual Studio 命令提示框执行sn -k 密钥.snk方式创建私钥文件;(Visual Studio 命令提示框 最好以管理员方式打开) 第二种是在V... <a href="https://www.cnblogs.com/xuhaibiao/p/7573635.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/p/7573599.html
.Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法 - 许海彪
阐述签名工具这个概念之前,我先说说它不是什么: 1.它不是用于给程序集加密的工具,它与阻止Reflector或ILSpy对程序集进行反编译一毛钱关系都没有。 2.它很讨厌人们把它和加密联系在一起。 我再说说它是什么: 1.起个大名字 sn是strong name的缩写,正如其名,sn.exe的目的是
2017-09-22T02:33:00Z
2017-09-22T02:33:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】阐述签名工具这个概念之前,我先说说它不是什么: 1.它不是用于给程序集加密的工具,它与阻止Reflector或ILSpy对程序集进行反编译一毛钱关系都没有。 2.它很讨厌人们把它和加密联系在一起。 我再说说它是什么: 1.起个大名字 sn是strong name的缩写,正如其名,sn.exe的目的是 <a href="https://www.cnblogs.com/xuhaibiao/p/7573599.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/archive/2012/08/24/2653711.html
DateEdit如果开启Vista模式并显示日期+时间模式 - 许海彪
DateEdit如果开启Vista模式并显示日期+时间模式 问题,以前没有涉及过,借机看一下,记录如下:设置为Vista显示模式(如下图)设置以下属性dateEdit1.Properties.VistaDisplayMode = DevExpress.Utils.DefaultBoolean.True;dateEdit1.Properties.VistaEditTime = DevExpress.Utils.DefaultBoolean.True;设置显示长日期模式(日期+时间):dateEdit1.Properties.DisplayFormat.FormatString="g&q
2012-08-24T01:52:00Z
2012-08-24T01:52:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】DateEdit如果开启Vista模式并显示日期+时间模式 问题,以前没有涉及过,借机看一下,记录如下:设置为Vista显示模式(如下图)设置以下属性dateEdit1.Properties.VistaDisplayMode = DevExpress.Utils.DefaultBoolean.True;dateEdit1.Properties.VistaEditTime = DevExpress.Utils.DefaultBoolean.True;设置显示长日期模式(日期+时间):dateEdit1.Properties.DisplayFormat.FormatString="g&q <a href="https://www.cnblogs.com/xuhaibiao/archive/2012/08/24/2653711.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/archive/2012/08/24/2653702.html
Devexpress DateEdit选年月 - 许海彪
Devexpress DateEdit选年月经常遇到需要在WinForm中选择年月的需求,用Devexpress本身的控件DataEdit无法实现,即使设置Mask与Display只显示年月2012-02这种格式,但用户选择起来还是不爽,体验太差。最后我写了一个类,一些代码源自 http://www.devexpress.com/Support/Center/p/CQ60337.aspx效果如下:代码:using Microsoft.VisualBasic;using System;using System.Collections;using System.Collections.Gener.
2012-08-24T01:50:00Z
2012-08-24T01:50:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】Devexpress DateEdit选年月经常遇到需要在WinForm中选择年月的需求,用Devexpress本身的控件DataEdit无法实现,即使设置Mask与Display只显示年月2012-02这种格式,但用户选择起来还是不爽,体验太差。最后我写了一个类,一些代码源自 http://www.devexpress.com/Support/Center/p/CQ60337.aspx效果如下:代码:using Microsoft.VisualBasic;using System;using System.Collections;using System.Collections.Gener. <a href="https://www.cnblogs.com/xuhaibiao/archive/2012/08/24/2653702.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/archive/2012/08/23/2652148.html
DevXpress控件: 第二篇--将绘图进行到底: Charter控件(附图) - 许海彪
一. 2D1. 散点图[c-sharp] view plaincopyprint?散点图--CreatedBy FQGUO this.xtraTabControl1.TabPages.Add("普通散点图"); ChartControl pointChart = new ChartControl(); Series series1 = new Series("序列一", ViewType.Point); series1.ArgumentScaleType = ScaleType.Numerical; ((PointSeriesView)series1.V
2012-08-23T03:28:00Z
2012-08-23T03:28:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】一. 2D1. 散点图[c-sharp] view plaincopyprint?散点图--CreatedBy FQGUO this.xtraTabControl1.TabPages.Add("普通散点图"); ChartControl pointChart = new ChartControl(); Series series1 = new Series("序列一", ViewType.Point); series1.ArgumentScaleType = ScaleType.Numerical; ((PointSeriesView)series1.V <a href="https://www.cnblogs.com/xuhaibiao/archive/2012/08/23/2652148.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/archive/2012/08/23/2652142.html
Dev系列控件之XtraCharts(一) - 许海彪
XtraCharts是Dev控件包一大重要控件,涵盖了一个画图控件的所有需要输出的效果,并提供了一些特色功能,并直接从流输出不需要产生临时图片文件。本文介绍一些常用的属性以及方法。命名空间引用添加Codeusing DevExpress.XtraCharts;using DevExpress.XtraCharts.Web;using DevExpress.XtraCharts.Native;数据绑定 Codeprivate void ChartBinding(object sender) { string Str_SQL = "select top 7 UnitPrice,Units
2012-08-23T03:26:00Z
2012-08-23T03:26:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】XtraCharts是Dev控件包一大重要控件,涵盖了一个画图控件的所有需要输出的效果,并提供了一些特色功能,并直接从流输出不需要产生临时图片文件。本文介绍一些常用的属性以及方法。命名空间引用添加Codeusing DevExpress.XtraCharts;using DevExpress.XtraCharts.Web;using DevExpress.XtraCharts.Native;数据绑定 Codeprivate void ChartBinding(object sender) { string Str_SQL = "select top 7 UnitPrice,Units <a href="https://www.cnblogs.com/xuhaibiao/archive/2012/08/23/2652142.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/archive/2012/06/11/2545580.html
C#操作Word (1)Word对象模型 - 许海彪
C#操作Word (1)Word对象模型 Word对象模型 (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序来源:Understandingthe Word Object Model from a .NET Developer's Perspective五大对象Application :代表Microsoft Word应用程序本身Document :代表一个Word文档Selection :代表当前选中的区域(高亮),没有选中区域时代表光标点Bookmarks :书签Range :代表一块区域,与Selection类似
2012-06-11T13:48:00Z
2012-06-11T13:48:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】C#操作Word (1)Word对象模型 Word对象模型 (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序来源:Understandingthe Word Object Model from a .NET Developer's Perspective五大对象Application :代表Microsoft Word应用程序本身Document :代表一个Word文档Selection :代表当前选中的区域(高亮),没有选中区域时代表光标点Bookmarks :书签Range :代表一块区域,与Selection类似 <a href="https://www.cnblogs.com/xuhaibiao/archive/2012/06/11/2545580.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/archive/2012/06/09/2542949.html
.net 图片的二进制数据库存储和显示 - 许海彪
.net 图片的二进制数据库存储和显示与图片的二进制数据库存储和显示 1.将图片以二进制存入数据库2.读取二进制图片在页面显示3.设置Image控件显示从数据库中读出的二进制图片4.GridView中ImageField以URL方式显示图片5.GridView显示读出的二进制图片====================用到的知识点:FileSteam fs=new FileSteam(fileName,FileMode.Open,FileAccess.Read);BinaryReader binaryReader=new BinaryReader(fs);byte[] myByte=new b
2012-06-09T03:29:00Z
2012-06-09T03:29:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】.net 图片的二进制数据库存储和显示与图片的二进制数据库存储和显示 1.将图片以二进制存入数据库2.读取二进制图片在页面显示3.设置Image控件显示从数据库中读出的二进制图片4.GridView中ImageField以URL方式显示图片5.GridView显示读出的二进制图片====================用到的知识点:FileSteam fs=new FileSteam(fileName,FileMode.Open,FileAccess.Read);BinaryReader binaryReader=new BinaryReader(fs);byte[] myByte=new b <a href="https://www.cnblogs.com/xuhaibiao/archive/2012/06/09/2542949.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuhaibiao/archive/2012/05/30/2525001.html
C# 拖放操作源码详解 - 许海彪
就操作习惯而言,我们可以将Windows应用程序的用户分为两大类,第一类是偏好使用键盘的用户,第二类是偏好使用鼠标的用户。众多的实践经验让程序设计师充分了解到,务必提供热键(会显示出下划线的快速字符键)与快捷键(例如:Ctrl+某字符的组合按键)给大量运用键盘的用户,但是却反而常常忽略鼠标用户的需求。由于程序设计师本身就比较倾向于键盘用户,因此特别强调键盘导向的功能是可以理解的,但是每一位程序设计师也应该好好顾及鼠标的完整支持才是。其实鼠标用户所最期盼的就是对拖放操作的充分支持。仔细端详大多数的Windows应用软件或Windows操作系统本身,我们会发现拖放能力是无处不在的。举例来说,用户早
2012-05-29T17:36:00Z
2012-05-29T17:36:00Z
许海彪
https://www.cnblogs.com/xuhaibiao/
【摘要】就操作习惯而言,我们可以将Windows应用程序的用户分为两大类,第一类是偏好使用键盘的用户,第二类是偏好使用鼠标的用户。众多的实践经验让程序设计师充分了解到,务必提供热键(会显示出下划线的快速字符键)与快捷键(例如:Ctrl+某字符的组合按键)给大量运用键盘的用户,但是却反而常常忽略鼠标用户的需求。由于程序设计师本身就比较倾向于键盘用户,因此特别强调键盘导向的功能是可以理解的,但是每一位程序设计师也应该好好顾及鼠标的完整支持才是。其实鼠标用户所最期盼的就是对拖放操作的充分支持。仔细端详大多数的Windows应用软件或Windows操作系统本身,我们会发现拖放能力是无处不在的。举例来说,用户早 <a href="https://www.cnblogs.com/xuhaibiao/archive/2012/05/30/2525001.html" target="_blank">阅读全文</a>