Welcome 微信登录

首页 / 软件开发 / C#

仿查询分析器的C#计算器——4.语法分析

仿查询分析器的C#计算器——4.语法分析

仿查询分析器的C#计算器——4.语法分析2011-07-16 博客园 conexpress上一篇中介绍通过词法分析将表达式转换成TokenRecord对象列表。在第一篇中提到将表达式用树形结构表示,然后就可以很方便的从下级 节点取值计算了。那么如何将列表分析成一棵树的结构呢?还是以例子来说明,比如3*7+56/8-2*5,分析成TokenRecord列表就是记号对象对应表达式TokenValue3TokenMultiply*TokenValue7Token...
仿查询分析器的C#计算器——5.计算求值

仿查询分析器的C#计算器——5.计算求值

仿查询分析器的C#计算器——5.计算求值2011-07-16 博客园 conexpress前面几篇文章介绍了各种分析过程,本篇作为完结篇,介绍如何调用之前实现的代码,如何实现多行表达式或者选择部分表达式进行运算, 以及如何定位错误。本程序可以不需要UI界面,独立成一个模块。如果表达式分析与计算功能打包成一个dll,那入口只有一个,SyntaxAnalyse类。new一个 SyntaxAnalyse类之后,调用其中的Analyse方法,将要计算的运算表达式作...
仿查询分析器的C#计算器——6.函数波形绘制

仿查询分析器的C#计算器——6.函数波形绘制

仿查询分析器的C#计算器——6.函数波形绘制2011-07-16 博客园 conexpress最近把计算器完善了一下,添加了变量的支持,添加了更多的函数,把逻辑短路操作也实现了,并修正了一些小错误。想起来以前在一本书 里看到过一个示例,输入函数表达式,就可以绘制函数的波形。最开始学VB的时候,就喜欢用函数来画图。再加上对电子技术有点兴趣,很多 波形都可以用函数来表示,很自然就想到用程序来模拟示波器显示波形。但是因为函数都需要在代码里面写死,如果需要新增函数...
也谈鹰眼(AE+C#)

也谈鹰眼(AE+C#)

也谈鹰眼(AE+C#)2011-07-27 博客园 张亚最近,看到打听鹰眼问题的朋友特别多。AE+C#的鹰眼在网上代码已经很多了,我今天也放一个版本上 来,主要有以下几个功能:1.主地图窗口视图范围改变后,鹰眼窗口绘制一个红色的框显示当前区域;2.主地图比例尺发生改变后,鹰眼地图的比例尺也发生改变,只是改变的程度将小而已;(这和网上其 它代码不同,借鉴google地图鹰眼的显示效果)3.在鹰眼地图上,用鼠标左键可以移动红色的区域框,松开鼠标后,主窗口地图视...
为List添加排序的函数处理并列排名情况(上篇)

为List添加排序的函数处理并列排名情况(上篇)

为List添加排序的函数处理并列排名情况(上篇)2011-07-27 博客园 陈亮今天.做了个排名显示的功能. 需要处理并列的情况.. 首先相到了 SQL SERVER2005 的的Rank 函数 ..后来想是否可以为List<T> 实现一个扩展方法 实现并列排名..想了想 可以实现 .. 有这个想法就来实现吧..我的想法是 List<T> 调用Rank方法后 T类型就多了个属性 用来获取 名次..但是怎么为T类型动态添加属...
为List添加排序的函数 处理并列排名情况(下篇)

为List添加排序的函数 处理并列排名情况(下篇)

为List添加排序的函数 处理并列排名情况(下篇)2011-07-27 博客园 陈亮在上篇文章中 我们完成了动态创建类型、动态设置值、动态获取值、动态获取属性和返回值的一些方 法准备工作完成了.. 我们现在来完成排序的功能实现方式肯定还是扩展方法..实现比较2个值的方法 我们可以给用户提供. 我们不提供比较的方法 这样设计灵活性更好..用户提供方法?? 怎么实现 很简单 2种方式 一种使用接口.. 另外一种使用的是委托..我比较喜欢委托 我就使用委...
一个简单的多线程即时通讯程序(类似QQ,MSN)

一个简单的多线程即时通讯程序(类似QQ,MSN)

一个简单的多线程即时通讯程序(类似QQ,MSN)2011-07-27 木子博客 本文实现一个简单的多线程客户/服务器即时通讯应用程序,它将使用TCP连接。允许客户之间及客户 和服务器之间,个人消息与会议通信。最终目标是实现象雅虎/msn这样的即时通讯工具。[库]我创建一个ChatLibrary,它包含命令及可以着色的消息。public enum Command{Login = 0,PersonalMessage = 1,ClientList = 2,Con...
与动态执行的C#代码进行通讯

与动态执行的C#代码进行通讯

与动态执行的C#代码进行通讯2011-07-27 博客园 xiaotie1、简介能够动态执行 C# 代码是一件很酷的功能,比如,我们可以在控制台中输入一行 C# 代码,然后程序 自动编译并执行这一行代码,将结果显示给我们。这差不多就是一个最简单的 C# 代码解释器了。动态执行 C# 代码又是一件很有用的功能,比如,我们可以将某些代码写在某个文件之中,由程序集 在执行时进行加载,改变这些代码不用中止程序,当程序再次加载这些代码时,就自动执行的是新代码了 。下...
C#代码文件生成扩展代码文件

C#代码文件生成扩展代码文件

C#代码文件生成扩展代码文件2011-07-27 cnblogs henry看到这标题的朋友可能搞不懂到底在搞什么,不过不要紧有兴趣的朋友可以先了解一下 IVsSingleFileGenerator到底是用来做什么用的《实现自定义的VsSingleFileGenerator 》;在vs.net里 提供一个IVsSingleFileGenerator接口可以方便地为项目文件生成附属文件,如刚才那文章提到的根据XML 文件自动生成一个附属的C#代码文件;当然这...
扩展方法(1) DataTable和List相互转换

扩展方法(1) DataTable和List相互转换

扩展方法(1) DataTable和List相互转换2011-07-27 博客园 陈亮最近自从公司的开发环境改了.从VS2003 改到VS2008 后 用了C# 3.0 的新东西,自己积累的方法就慢 慢的多起来了.由于经常使用以前经常DataTable 现在都使用List<T>就此需要经常转换..用的多了,自然需要 写个简单的方法来实现互相转换由于C#3.0出现了扩展方法 我们可以通过这样一个特性来简化我们的开发.DataTable 转换为L...
扩展方法(2) GridView单元格合并

扩展方法(2) GridView单元格合并

扩展方法(2) GridView单元格合并2011-07-27 博客园 陈亮大家GridView都用的比较多吧..有没遇到单元格需要合并的需求..单元格合并原理其实很简单,就是逐行判断要合并的单元格里的值是否和上一行的相同,要是相同的 话就合并,不同的话就接着判断我们可以通过扩展方法为GridView添加单元合并 public static class GridViewExtensions { /// <summary>...
通过编程管理windows 防火墙

通过编程管理windows 防火墙

通过编程管理windows 防火墙2011-07-27肖波最近项目中需要通过程序自动设置windows 防火墙,查了一下资料,可以通过命令行netsh firewall 来实现。封装了一个类来实现对允许放开的程序(Allowed program)进行管理。管理其他内容比如放开端 口等方法是类似的。程序中用到一个公共类 RunProcess,这个类可从我的另一篇文章 一个C#写的调用外部进程类 获得namespace WinFirewall{ publi...
使用Visual Studio生成安装程序并设定连接字符串及其他自定义操作

使用Visual Studio生成安装程序并设定连接字符串及其他自定义操作

使用Visual Studio生成安装程序并设定连接字符串及其他自定义操作2011-07-27 博客园 武广敬应该很多人都有遇到这个问题.现在给个完整的解决方案.1.添加一个安装项目(当然你的其他项目应该都已经OK了.现在我们已经做好了一个WinUI的项目.记得 要建立App.config文件,而且要有连接字符串的配置节存在.不然之后会出错.因为我没做错误处理.)目前的App.config文件内容,connectionString值为空,需要用户在安装时输...
用DataReader分页与几种传统的分页方法的比较

用DataReader分页与几种传统的分页方法的比较

用DataReader分页与几种传统的分页方法的比较2011-07-31肖波对于数据库的分页,目前比较传统的方法是采用分页存储过程,其实用 DataReader 也可以实现分页 ,不需要写存储过程,实现效率上也比几种比较流行的分页方法要略快。在开始这个方法之前,让我们先创建一个简单的测试环境:use TestGOif exists (select * from sysobjects where id = object_id("R_Student") and...
隐藏接口实现及ReadOnlyDictionary

隐藏接口实现及ReadOnlyDictionary

隐藏接口实现及ReadOnlyDictionary2011-07-31 博客园 Anders Liu接口代表着一种契约。但有的时候,接口所达成的契约并不适用于全部的场景,或者说,接口可能定 义得“太宽了”。这个时候,就有必要隐藏起某些接口成员。然而,接口既然是一种“契约”,这就要求实现方必须为接口中的所有成员提供实现。所以,这里说 到的“隐藏”,是指从对象的视角上隐藏。换言之,就是只有...
在C#中如何创建和调用DLL

在C#中如何创建和调用DLL

在C#中如何创建和调用DLL2011-07-31一、写在前面C# 语言是一种简单但功能强大的编程语言,用于编写企业应用程序。C# 语言从C和C++语言演化而来,在语句、表达式和运算符方面使用了许多C++ 功能。C# 语言在类型安全性、版本转换、事件和垃圾回收等方面进行了相当大的改进和创新。C# 语言提供对常用API 样式(如 .NET 框架、COM、自动化和 C 样式 API 等)的访问。和大多数程序员一样,你一定使用过DLL。也一定曾感受到它的带给你程序...
<< 181 182 183 184 185 186 187 188 189 190 >>