星星之火

燎原之势不可挡
随笔 - 128, 文章 - 3, 评论 - 377, 阅读 - 65万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

10 2012 档案

摘要:我们在WinForm应用程序或者Web程序中都会遇到需要将DataGridView或者DataSet中的数据导出成为Excel类型的.xls文件。下面就通过一个示例向大家演示在WinForm程序中如何将DataGridView中的数据导出为Excel文件,从DataSet中将数据导出为Excel的方法跟这个差不多的,这里就不再介绍了。Private void DataGridViewToExcel(DataGridView dgv){ SaveFileDialog sfDialog = new SaveFileDialog();//保存导出的excel对话框 ... 阅读全文

posted @ 2012-10-31 17:16 星星之火116 阅读(6162) 评论(9) 推荐(2) 编辑

摘要:我们在做web程序的时候经常会遇到一些图片处理的问题,今天就把遇到的需要图片处理的地方给总结一下。也算是对自己学习过程的一个总结,希望也能给大家一些启发。一、验证码。我们在某些网站注册或者登录的时候,都可能遇到要填写验证码的地方,当时没搞懂这样的图片是怎样一回事,事实上这是一张随机生成的图片,需要在后台专门新建一个aspx页或者ashx一般程序处理页来专门负责生成这样的图片。下面就通过示例向大家演示这样的一个过程!首先我们新建一个登录页,模拟用户登录。代码如下:<div> <table> <tr><td>账号:</td><td& 阅读全文

posted @ 2012-10-29 12:07 星星之火116 阅读(4943) 评论(6) 推荐(9) 编辑

摘要:嗯,本来只是想把常用的两款感觉效果还不错的在线编辑器给总结下,但是没想到大家对此的反应还挺强烈的,那我就再总结两款用的比较不错的编译器吧。一、SinaEditor(点击这里下载SinaEditor.zip)在上一篇文章的结尾有提到这款编译器,个人觉得是用户体验最好的在线编译器。先上个图:这个也就是我们新浪博客用的发布文章的那款编译器。好了马上进入正题。1、我把压缩包给精简了下,打开之后你可以看到如下的文件:2、把这些文件直接添加到项目的根目录下(如果是其他的目录,在下边的引用中要注意修改引用路径)如图:3、在使用该控件页,做如下处理:<asp:HiddenFieldID="co 阅读全文

posted @ 2012-10-28 13:01 星星之火116 阅读(5282) 评论(9) 推荐(2) 编辑

摘要:我们在做web项目的时候,时常会遇到需要在线编辑的情况,需要我们在网页上进行编辑,就像在Word里编辑一样,今天就把常用的几种在线的编辑器介绍给大家,顺便没一种编辑器都会带有相应的使用示例,方便大家使用。好了,废话不多说,直接进入正题。 一、FreeTextBox(点击下载压缩包FreeTextBox用法.zip) FreeTextBox是一个很好用的在线编辑器,使用很简单,同时在线编辑的感觉就像在word里编辑一样,先给大家一个编辑器的图像显示,然后再一步步的教大家如何配置并使用FreeTextBox。显示效果:(可以在文本框里添加图片以及各种文字效果) 1、先将FreeTextBox文件压 阅读全文

posted @ 2012-10-28 09:27 星星之火116 阅读(4842) 评论(11) 推荐(4) 编辑

摘要:因为最近的做的东西要用到一些关于加密的技术,所以就把一些常用的加密方法给给总结了一下。好了废话不多说,还是按照以往的惯例,我会通过一个个的实例,逐一的把常用算法给大家讲解一下。 一、MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多。那么什么是MD5算法呢?MD5全称是message-digestalgorithm5,简单的说就是单向的加密,即是说无法根据密文推导出明文。 MD5主要用途: 1、对一段信息生成信息摘要,该摘要对该信息具有唯一性,可以作为数字签名。 2、用于验证文件的有效性(是否有丢失或损坏的数据), 3、对用户密码的加密, 4、在哈希函数中计算散列值 从上边的主要用途 阅读全文

posted @ 2012-10-26 15:18 星星之火116 阅读(2931) 评论(8) 推荐(5) 编辑

摘要:在上一节我们主要介绍了Asp.net常用的数据绑定控件,在谈到ListView控件时,我们说这是目前为止微软封装的功能最全的,最好用的数据绑定控件,ListView支持增、删、改、排序、分页,还可以自定义编写的模板格式显示数据。甚至如果你愿意,你不用写一行代码就可以实现数据的绑定,这个控件实在在太简单、太好用了。但是,我们要明白简单好用的东西是要付出代价的,没错,虽然ListView有这么多的优点,但是仍然无法掩盖它的性能劣势,因为它需要一下子加载所有的数据,显示在前台界面,同时会增加很多额外的东西增大服务器的压力,ListView支持分页,其分页功能的实现需要配合分页控件,它分页的原理是将所 阅读全文

posted @ 2012-10-24 16:40 星星之火116 阅读(6052) 评论(8) 推荐(7) 编辑

摘要:本文的初衷在于对Asp.net常用数据绑定控件进行一个概览性的总结,主要分析各种数据绑定控件各自的优缺点,以便在实际的开发中选用合适的控件进行数据绑定,以提高开发效率。因为这些数据绑定控件大部分都已经封装的很好了,稍微有一些基础的朋友都可以很容易的上手使用,所以本文不涉及具体控件的使用,只在于分析各自的优劣点,但是在下一篇文章里,我会主要讲一下ListBox、GridView、Repeater这三个数据绑定控件的“高效分页”,ListBox和GridView内置的有分页,但是其效率太低了,少量的数据还可以,大量的数据根本就没法用,Repeater控件本身不提供分页,但是在实际的开发中可能也会有 阅读全文

posted @ 2012-10-24 09:22 星星之火116 阅读(2372) 评论(3) 推荐(0) 编辑

摘要:上一节我们搭建了即时通信程序的登录端,这一节我们要实现即时通信程序的主客户端的搭建,也就是聊天、发文件端的创建。讲完这一节之后,我们就可以自己实现一个即时通信程序了。好了,先上一个图。该UI布局如下:有一个ListBox用来显示当前在线用户命名为onLineList三个文本框分别为:txtchatContent、txtsendMsg、txtsendFile,分别表示:聊天的记录、发送信息框、要发送的文件框四个按钮分别为:btnsendMsg、btnsendAll、button1、button2,分别表示:发送消息、群发消息、选择要发送的文件、发送文件下面我们通过具体的示例来向大家一步步的进行讲 阅读全文

posted @ 2012-10-23 10:06 星星之火116 阅读(2372) 评论(4) 推荐(0) 编辑

摘要:上一节我们讲了即时通信程序的服务端的搭建,今天我们来实现客户端的登录。就像我们qq登录一样都需要一个唯一的qq号,当然qq号是长久使用的,而我们的这个即时通信程序只是临时的聊天使用,为了区别不同的用户,我们需要用户在使用该程序时注册一个用户名,然后要向固定的IP+端口发送请求,连接服务器。先上个图,然后再开始讲解!上边已经说了,在登录的时候都需要用户起一个用户名,这个用户名用户当然可以随意起,然后登录,连接服务器,这个时候需要服务器注意的是用户名重名的问题,我们还记得我们在搭建服务器端的时候建立了一个Dictionary<string,Socket>字典onlineListServ 阅读全文

posted @ 2012-10-22 18:40 星星之火116 阅读(2368) 评论(4) 推荐(2) 编辑

摘要:在上一节中已经给大家讲述了即时通信程序的通信流程,以及相应的通信格式,在这一节中我会带领大家搭建即时通信程序的服务器端。 在这一节中我们用到的知识有TCPListener、套接字(Socket)多线程(Thread)、文件流(FileStream)、、Dictionary<T,T>集合。 首先新建一个WinForm应用程序,页面布局如下:页面布局:两个单行文本框分别为服务器监听的IP(txtIP)和端口(txtPort), 一个多行文本框(txtServer)来显示服务器运行情况, 一个ListBox(onLineListServer)用来显示在线用户两个按钮分别负责启动服务(bt 阅读全文

posted @ 2012-10-22 15:30 星星之火116 阅读(2420) 评论(9) 推荐(0) 编辑

摘要:在开始讲之前,我想先跟大家描述一下,这个所谓的通信程序具体是一个什么样的东西。该通信程序类似一个弱版本的qq,登录时需要进行注册,登录成功后,可以实现即时的通信,群聊,私聊,同时还可传文件。先上个图服务端: 客户端登录: 客户端主界面: 所谓的即时的通信程序,也就是利用TCP和UDP的传输协议,进行信息、文件的传输。那什么是TCP,什么是UDP呢? TCP是TransmissionControlProtocol(传输控制协议)的简称,是TCP/IP体系中面向连接的运输层协议,在网络中提供全双工的和可靠的服务。TCP协议的主要特点是:基于连接的协议,数据传输比较稳定,且可以保证数据按顺序的准时. 阅读全文

posted @ 2012-10-19 08:33 星星之火116 阅读(7307) 评论(13) 推荐(3) 编辑

摘要:在实际的Web开发中,我们可能会常常遇到后台调用前台JS代码或者前台JS调用后台代码的情况。今天就把比较实用的前后台相互调用的方法总结出来和大家分享。<1>后台代码调用前台JS代码一、说到后台代码调用前台的JS代码很多人首先就会想到使用ClientScript.RegisterStartupScript()方法,该方法主要是注册启动脚本文本,即在后台执行调用前台JS代码该方法有两个重载,1、ClientScript.RegisterStartupScript(Typetype,stringkey,stringscript)//分别表示:1、要注册的启动脚本的类型(一般直接填this 阅读全文

posted @ 2012-10-16 12:53 星星之火116 阅读(8281) 评论(4) 推荐(2) 编辑

摘要:我们知道使用AJAX是为了提供更好的用户体验、提高程序的性能,在实际的开发中有时候不免会遇到从后台数据库读取大量的数据然后在前台加载显示的情况,我们之前两节都有讲过从前台向后台请求数据、登录验证之类的。但是那些都是在数据量较小的情况下,如果请求的数据比较多,这个时候大量数据的传输就成了一个问题,如何将后台的数据传输至前台并显示呢?这里就要用到了JSON!那么什么是JSON呢?之前我在《Serialization全解析》这一篇文章中讲到过,这里就再给大家稍微的讲一下,JSON(即:JavaScriptObjectNotation)是一种轻量级的数据交换格式。Json的语法规则其实很简单:对象是一 阅读全文

posted @ 2012-10-15 17:21 星星之火116 阅读(7028) 评论(4) 推荐(2) 编辑

摘要:上一节我主要讲了AJAX初识,"原生态"的AJAX实现方法,讲了AJAX的核心对象HttpRequest的创建、以及它的相关属性、方法及使用,在这一节中,我主要会将通过JQuery的方式实现AJAX。JQuery就是一个经过封装的Javascript类库,它有自己的语法规范,下面我会讲一下在JQuery下用3中方法实现AJAX。还是先从例子入手吧!第一种方法$.Post(url,data,callback,type);首先新建一个html页,页面布局和上一节的差不多代码如下:<tablestyle="background-color:lightgreen;m 阅读全文

posted @ 2012-10-15 12:46 星星之火116 阅读(3050) 评论(0) 推荐(0) 编辑

摘要:对于做web开发的朋友一定对Ajax这个名字一点也不陌生,那么Ajax到底是个什么呢?先从字面上进行解释。所谓的Ajax即是AsynchronousJavaScript+XML的简写,事实上,它是用Javascript来进行绑定和调用,通过使用XMLHttpRequest同服务器进行异步通信,用Dom模型来交互、动态的显示,最后再用CSS+XHTML来进行表示,通过这一些列技术的综合运用为用户提供良好的用户体验的一种技术。还是延续以往的作风吧,通过一个小的登录示例给大家先初步的讲解一下Ajax的具体应用。该示例主要是用来模拟一个用户登录。新建一个html页布局如下:<body>&l 阅读全文

posted @ 2012-10-13 19:47 星星之火116 阅读(1934) 评论(3) 推荐(3) 编辑

摘要:我们之前讲的那几节,除了LINQTOXML是对专门对XML文档操作的以外,其他的那些内容都是为了讲LINQTOSQL做铺垫的。就像我们在本系列文章开头讲的那样,LINQ的设计理念就是在不同类型的数据之间(关系数据、层次模型数据等)之间实现数据访问的互通有无,为不同的数据类型提供统一的访问接口。前面几节,我们已经循序渐进的把LINQTOObject和LINQTOXML给讲完了。这一节就主要讲LINQTOSQL,也就是实现对数据库的查询。那么什么是LINQTOSQL呢?LINQTOSQL是包含在.NETFramework的中的一种ORM(对象关系映射),ORM允许你使用.NET的类来对关系数据库. 阅读全文

posted @ 2012-10-12 12:37 星星之火116 阅读(2118) 评论(0) 推荐(1) 编辑

摘要:I know that I'm not perfect. I accept this with an open mind and open heart.There may be parts of me that would change if i could,but I also accept that there are somethings that I can't changed,This acceptence isn't easy,but it makes me a stronger person.I wil try my best not to dwell o 阅读全文

posted @ 2012-10-12 09:41 星星之火116 阅读(316) 评论(0) 推荐(0) 编辑

摘要:在开始将之前,先请大家看一下本节的标题,没错!是"LINQTOXML实用解析",所以在这一节里我会以实用为主,向大家一步一步讲解LINQTOXML的知识。首先解释一下什么是LINQtoXML?LINQtoXML是一种启用了LINQ的内存XML编程接口,使用它,可以在.NETFramework编程语言中处理XML。在LINQtoXML之前,我们主要通过XMLDOM来创建XML文档对象。下面我给大家演示一下如何通过XMLDOM创建文档对象。示例:privatestaticvoidUserXMLDOMCreateXML(){XmlDocumentxDocument=newXmlD 阅读全文

posted @ 2012-10-11 13:17 星星之火116 阅读(2186) 评论(4) 推荐(3) 编辑

摘要:接着上一节的讲,在这一节我会带领大家把剩余的一些LINQ语法给大家讲解完。好了,废话不多说,进入正题。1、Cast、OfType操作符Cast和OfType:都用于将一个类型为IEnumerable的集合对象转化为一个类型为IEnumerable<T>的集合对象,两者的功能都是一样的,唯一的区别在于Cast操作符进行类型转换时,如果转换中出现转化失败的情况,则会抛出一个异常,而OfTyoe操作符只是把能够转换的元素转换掉。这里还是用上一节的例子:(该示例参考自Rookie_J博客)先新建一个ArrayList对象ArrayListarraylist=newArrayList(){n 阅读全文

posted @ 2012-10-10 12:42 星星之火116 阅读(1493) 评论(0) 推荐(3) 编辑

摘要:Today I want to share a beautiful poem with you .It's too bad ,because the power was stopped,and I could't connect to the web.So I only write it on the note. Tomorrow you will see it Accomplish the great things in the world,we not only act ,but also dream,not only plan,but also believe.----- 阅读全文

posted @ 2012-10-10 08:44 星星之火116 阅读(276) 评论(0) 推荐(1) 编辑

摘要:通过上一章节的学习,相信大家已经掌握了学习LINQ的前期的准备知识。在这一节里,我会通过一些列的实例向大家讲解LINQ的语法。在开始介绍之前,先把上节最后的一个小例子给温习下。后边的所讲的都围绕这个例子展开:先创建一个Person类,作为数据实体publicclassPerson{publicstringName{get;set;}publicstringSex{get;set;}publicintAge{get;set;}}List<Person>list=newList<Person>(){newPerson(){Name="Olive",Sex 阅读全文

posted @ 2012-10-09 18:16 星星之火116 阅读(1675) 评论(6) 推荐(4) 编辑

摘要:LINQ学习心得分享--------(一)LINQ简介和基础学习 这一节主要向大家讲三个问题,第一个问题什么是LINQ,第二个问题LINQ主要解决什么问题,第三个问题学习LINQ需要做哪些基本的准备。 首先第一个问题,什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated Query),更通俗的讲,它相当于一个通用的数据查询接口。LINQ最初由Anders hejlsberg构思,2007年11月19日,LINQ作为.NET FrameWork3.5的一部分正式发布,同时微软也将LINQ集成到了Visual Studio 2008中,这一巨大的创新,实现了面向. 阅读全文

posted @ 2012-10-08 11:35 星星之火116 阅读(2277) 评论(3) 推荐(7) 编辑

摘要:在以前的章节中,我们不只一次的提到过,不能在非创建UI控件的线程中操作UI元素,否则会和UI控件创建线程(一般是主线程)产生冲突,造成不可预料的后果。该如何解决这个问题呢?除了上一节所讲的BackgroundWorker和Timer以外,微软将Control类实现了ISynchronizeInvoke接口,提供了Invoke和BeginInvoke方法来提供让其它线程更新GUI界面控件的机制。下边还是通过一个例子给大家讲解一下Control.Invoke()和Control.BeginInvoke();首先新建一个WinForm应用程序,在Form窗体上做如下布局:然后,新建一个委托publi 阅读全文

posted @ 2012-10-06 19:37 星星之火116 阅读(1429) 评论(4) 推荐(3) 编辑

摘要:上一节讲到在实际的编程中某些任务执行完成时间可能较长,比如打开大文件、连接远程计算机或查询数据库,这个时候可能会导致UI界面发生长时间未响应,如果你需要在执行某些任务的同时,还要进行UI界面的响应,BackgroundWorker是您最好的选择,同时,从VS2005开始也BackgroundWorker组件,这使Backgroundworker使用起来更加的方便。下面我会通过一个更新UI界面进度条的例子来向大家逐步的讲解BackgroundWorker类首先新建一个Form应用程序,在UI也添加一个按钮和一个进度条processbar如图所示:然后进入.cs页先声明一个全局的Backgroun 阅读全文

posted @ 2012-10-06 10:13 星星之火116 阅读(2914) 评论(1) 推荐(0) 编辑

摘要:在实际的编程中某些任务执行完成时间可能较长,比如打开大文件、连接远程计算机或查询数据库,这个时候如果采用异步操作可以极大提高程序的运行效率,提供良好用户体验。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序仍然可以继续执行当前的程序。下面列举了.NETFramework中支持异步编程的部分,主要包括:文件(File)IO、流(Stream)IO、套接字(Socket)IO,网络,远程处理信道(HTTP、TCP)和代理,使用ASP.NET创建的XMLWebservices,ASP.NETWeb窗体,使用MessageQueue类的消息队列等。谈到异步操作,. 阅读全文

posted @ 2012-10-05 19:33 星星之火116 阅读(1460) 评论(4) 推荐(1) 编辑

摘要:上一节主要讲了创建调用有参(多参)函数的线程和线程池的一些内容,这一节主要讲线程的同步。多线程的出现解决了吞吐量和响应速度的问题,但同时也带来了资源共享问题,如死锁和资源争用。在为单个资源分配多个线程可能会导致同步问题。何为线程同步呢?所谓同步,是指多个线程之间存在先后执行顺序的关联关系。如果一个线程必须在另一个线程完成某个工作后才能继续执行,则必须考虑如何让其他保持同步,以确保在系统上同时运行多个线程而不会出现死锁或逻辑错误。下面先看一个例子:classProgram{staticvoidMain(string[]args){Threadthread=newThread(newThreadS 阅读全文

posted @ 2012-10-05 14:59 星星之火116 阅读(518) 评论(0) 推荐(0) 编辑

摘要:上一节主要是对线程有一个具体的介绍,同时也介绍了线程调用无参函数的方法,这一节主要介绍线程调用有参甚至是多参函数,同时也会进一步的介绍线程池。先介绍线程调用有参函数一、调用有一个参数的函数staticvoidMain(string[]args){//标记显示主线程IDConsole.WriteLine("主线程的ID:"+Thread.CurrentThread.ManagedThreadId);//如果线程要调用有参函数,这时线程的构造函数的参数应为一个ParameterizedThreadStart的实例对象,函数参数必须为Object类型Threadthread=ne 阅读全文

posted @ 2012-10-05 09:36 星星之火116 阅读(1403) 评论(0) 推荐(1) 编辑

摘要:线程解析和认识--------(一)线程初识在开始讲线程之前,先应该讲一下进程。什么进程?简单点说一个应用程序就是一个进程(当然还有有些程序不止一个进程),Windows操作系统下,为了将应用程序之间隔离,以防止各个应用程序之间的互操作产生各种意外的情况,故引入的进程机制。进程是操作系统中获取CPU分配资源的最小单位,仅仅占有资源。在.NET平台下的应用程序,又在进程中引入了应用程序域,应用程序在运行的时候并不是直接加载运行的,而是先将程序集、.exe程序加载到应用程序域中,然后在启动运行,应用程序域相当于一个轻量级的进程,主要是将各个程序集隔离开来单独运行,这样即使其中一个程序集运行异常也不 阅读全文

posted @ 2012-10-04 21:28 星星之火116 阅读(1665) 评论(3) 推荐(1) 编辑

摘要:只要是搞编程的算法、数据结构、操作系统、计算机组成原理这些东西都会有用到,就像医生给人治病一样,只有了解了人的内部机理、运作机制,才能很好的做到对症下药,药到病除。而上面所说的那些计算机理论课就好像人的内部机理一样,我们往往都把这些东西给忽略了,而把更多的精力放在具体的编程语言实现上,当然我也是这样,上学的时候这些计算机理论课都没怎么好好学,觉得这些东西很枯燥无味,最重要的是在我那时期的那个层次跟本看不到这些东西有什么用,学了很长时间的编程语言然后再回来看,发现只有对这些基础理论性的东西有更深刻的体会,才能做出更高效、更优秀的项目。数据结构和算法一直都学得不好,总是当时看了理解的挺好,时间一长 阅读全文

posted @ 2012-10-01 13:08 星星之火116 阅读(1109) 评论(3) 推荐(0) 编辑

点击右上角即可分享
微信分享提示