上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
  2013年8月31日
摘要: 使用google chart api生成报表图片截图 折线图 饼图 柱状图实现方法原理是调用google的报表服务,动态拼接url字符串,得到一张图片,数据和说明文字都是从url中传进去的。核心代码如下图所示的GoogleChartApi类库。 其中,BaseChart.cs是抽象基类,所有的报表都会继承此类。源代码https://github.com/FrankFan/GoogleChartA... 阅读全文
posted @ 2013-08-31 16:50 Frank.Fan 阅读(1502) 评论(0) 推荐(0) 编辑
  2013年7月23日
摘要: 在SQL SERVER2008中,新建数据表以后,若再对该表进行更改,则会出现警告信息“不允许保存更改阻止保存要求重新创建表的更改”,等等,需要进行一下设置:工具--->选项--->Designers--->表设计器和数据库设计器--->组织保存要求重新创建表的更改,去掉复选框。 阅读全文
posted @ 2013-07-23 13:35 Frank.Fan 阅读(317) 评论(0) 推荐(0) 编辑
  2013年7月20日
摘要: 前言在web开发的时候经常会遇到页面重定向的问题,说起重定向就不得不说HTTP STATUS CODE 301 和302. 301 是Moved Permanently,也就是"永久转移", 302则是Temporarily Moved,是"暂时转移"。在生产环境,建议使用301永久重定向,不使用302临时跳转,因为对于搜索引擎来说,会自动将原来页面的收录和权重转移到新的页面,有利于SEO. 一、C#实现301和302跳转把C#代码写在前台aspx页面中,好处是不用编译就可以发布。直接使用Redirect就是302跳转。如果在跳转的时候加一些HTTP H 阅读全文
posted @ 2013-07-20 16:32 Frank.Fan 阅读(14815) 评论(0) 推荐(0) 编辑
  2013年6月28日
摘要: oracle 、mysql、 sql server使用记录mysql常用命令:mysqld --启动mysql数据库show databases; -- 查看数据库use database; -- 选择数据库show tables; -- 查看表desc tableName; -- 查看表结构sho... 阅读全文
posted @ 2013-06-28 14:54 Frank.Fan 阅读(2526) 评论(2) 推荐(0) 编辑
摘要: 一开始是在windows下VirtualBox虚拟机中搞了一个Ubuntu玩,时间一长,感觉卡的厉害,浪费时间,那就装个双系统!在win8下磁盘管理中的最后一个盘中压缩出20G左右的空闲硬盘分区;使用EasyBCD引导分区;重启计算机,进入Ubuntu安装界面;打开Terminal,输入 sudo umount –l /isodevice打开桌面上的Ubuntu进行系统安装安装的时候其他都简单,最重要的是系统分区,1) 交换分区 swap area 1G2) 添加一个引导分区,/boot 大小150M,Ext4文件系统格式,3)把剩下的分区全部给/目录参考资料:秀才ubuntu视频教程-第1期 阅读全文
posted @ 2013-06-28 14:46 Frank.Fan 阅读(4397) 评论(0) 推荐(0) 编辑
  2013年6月26日
摘要: 介绍\uxxxx这种格式是Unicode写法,表示一个字符,其中xxxx表示一个16进制数字,范围所0~65535. Unicode十六进制数只能包含数字0~9、大写字母A~F或者小写字母A~F。需要注意到是:Unicode的大小端问题,一般都是小端在前,例如 \u5c0f 表示汉语中的 '小'字,转换成10进制就是9215,所以在byte数组中应该是1592.汉字转Unicode private string Unicode2Chinese(string strUnicode){ string[] splitString = new string[1]; splitStrin 阅读全文
posted @ 2013-06-26 21:18 Frank.Fan 阅读(37142) 评论(5) 推荐(1) 编辑
  2013年6月7日
摘要: 介绍二分查找,又称折半查找,二分搜索,是一种在有序数组中查找某一特定元素的算法。优点是比较次数少,查找速度快,平均性能好;缺点是要求待查数组有序,且插入删除困难。因此二分查找适合于那些不经常变动而查找频繁的的有序列表。假设数组中元素是有序的,搜索过程首先从数组的中间开始,如果中间元素刚好是要查找的元素,则搜索过程结束;否则利用中间位置记录的元素将数组分成前后两个字数组,如果某一特定元素大于或者小于中间元素,则在数组中大于或者小于中间元素的那一半查找,也从数组中间元素开始比较,重复以上步骤。虽然第一篇二分搜索论文在1946年就发表了,但是第一个没有错误的二分搜索程序却直到1962年才出现.复杂度 阅读全文
posted @ 2013-06-07 22:58 Frank.Fan 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 自定义html代码运行框设置Html运行框,需要准备材料如下: 1.textarea<textarea style="width: 450; height: 300" id="theCode" title="双击运行代码" ondblclick="runCode('theCode');">这里放入运行的Html代码。</textarea><br /><input onclick="runCode('theCode')" v 阅读全文
posted @ 2013-06-07 22:58 Frank.Fan 阅读(1262) 评论(0) 推荐(0) 编辑
  2013年6月2日
摘要: 写一个小程序玩玩:括号匹配问题。要求如下:本题目要求编一个程序,该程序能够输入一段字符串进行括弧匹配检查。如果语句中"("和")"数目相等,且能够完整的匹配成对,此时输出"正确"。否则输出"错误"。方法一:计数式基本思路:思路:设置一个计数器counter,遇到(,就+1,遇到),就-1,最后看counter是不是0就行.对于")("这种情况,可以用首个)>0来排除。实现代码:/// <summary>/// 返回0为匹配,否则不匹配/// </summary>pu 阅读全文
posted @ 2013-06-02 23:29 Frank.Fan 阅读(954) 评论(0) 推荐(0) 编辑
摘要: 求2个集合的交集 第一种方法最简单、粗暴的循环遍历2个集合,判断如果有相同的元素就取出来。假设集合1的长度为M,集合2的长度为N,那么,时间复杂度为:O(M*N) 代码:public static List<string> GetIntersection(List<string> list1, List<string> list2){ List<string> list3 = new List<string>(); //第一种方法:循环遍历 //O(n×m) for (int i = 0; i < list1.Coun 阅读全文
posted @ 2013-06-02 17:31 Frank.Fan 阅读(11493) 评论(2) 推荐(0) 编辑
  2013年5月31日
摘要: 使用markdown格式记录笔记1介绍要是不玩github就不知道markdown。md格式是一种类似于html的语义化标签,但是要比html简单(个人理解)。最简单的使用方法是在github任意页面上按键盘M键,就会加载出Markdown Cheat Sheet,如下图。md格式是很多牛人推荐使用的一种格式,如阿里前端大神射雕,MacTalk by 池建强等。2.编辑器MarkdownPad下载地址:http://markdownpad.com/3.如何使用 阅读全文
posted @ 2013-05-31 15:18 Frank.Fan 阅读(1265) 评论(0) 推荐(0) 编辑
摘要: 分享一个IIS日志分析工具 LogParser工具的使用1)先安装LogParser2.2.msi,是一个命令行工具,功能强大,但使用不便; 下载地址:http://www.microsoft.com/DownLoads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en 2)再安装LogParserLizard1.0.exe,UI界面的管理工具。 下载地址:http://www.brothersoft.com/log-parser-lizard-download-238815.html — 阅读全文
posted @ 2013-05-31 11:20 Frank.Fan 阅读(9006) 评论(0) 推荐(0) 编辑
摘要: 总结一个拿来即用的Excel操作帮助类。ExcelHelper.cs v0.1 1 // Copyright (C) 2013 fanyong All rights reserved. 2 // Created Date: 2013-04-10 3 // Modified Date 2013-04-11 4 // File: ExcelHelper.cs 5 // Author: fanyong@gmail.com 6 // Version: V1.0 7 // Description: Exce... 阅读全文
posted @ 2013-05-31 09:33 Frank.Fan 阅读(1173) 评论(0) 推荐(0) 编辑
  2013年5月30日
摘要: C#中Math.Round()实现中国式四舍五入 C#中的Math.Round()并不是使用的"四舍五入"法。其实在VB、VBScript、C#、J#、T-SQL中Round函数都是采用Banker's rounding(银行家算法),即:四舍六入五取偶。事实上这也是IEEE的规范,因此所有符合IEEE标准的语言都应该采用这样的算法。 .NET 2.0开始,Math.Round方法提供了一个枚举选项MidpointRounding.AwayFromZero可以用来实现传统意义上的"四舍五入"。即:Math.Round(4.5, MidpointR 阅读全文
posted @ 2013-05-30 18:03 Frank.Fan 阅读(80453) 评论(7) 推荐(10) 编辑
  2013年5月26日
摘要: 发布一个小工具——数据库表结构生成器用途:面对大型项目,根据数据库表结构生成图片,可以瞬间摸清项目底细,一切尽在掌握。功能介绍:* 根据数据库表结构生成图片* 适用于MS Sql Server 2000, Sql Server 2005 and Sql Server 2008 etc.* 根据系统sql语句导出数据库表结构* 利用GDI+将表结构生成图片符程序截图:截图1:登录截图2:生成后截图3:生成的表结构下面记录下程序的实现思路:连接到指定数据库,由特定系统sql语句得到数据表table根据table name得到该表单表结构,如字段名、类型、长度以及注释说明等,当然,还有table的. 阅读全文
posted @ 2013-05-26 21:50 Frank.Fan 阅读(2366) 评论(0) 推荐(2) 编辑
  2013年5月17日
摘要: 先来无事,做了一个小工具:实体类生成器。仅支持Sql Server数据库;可以根据所选数据库的数据表,生成对应的实体类;命名规则进行了统一。程序截图:图1:截图2:下面总结下遇到的问题:winform中DataGridView数据绑定和web开发中的Dropdownlist不同,绑定winform中的下拉框不需要DataBind()事件,这是坑1;第二,绑定的时候:/// <summary>/// cbChooseTable的触发事件/// </summary>private void cbChooseTable_SelectedIndexChanged(object 阅读全文
posted @ 2013-05-17 20:44 Frank.Fan 阅读(784) 评论(0) 推荐(0) 编辑
  2013年5月4日
摘要: 因为在winform程序中,UI线程负责界面相关的工作。Winform中使用进度条的方法有很多,可以直接创建一个新的线程Thread执行耗时的方法;也可以使用线程池。例如://使用线程池异步执行longTime方法,不阻塞UI线程System.Threading.ThreadPool.QueueUserWorkItem(_ =>{ DoSomething();}如果想使用进度条,可以模拟进度操作,在一个循环内,//使用线程池异步执行longTime方法,不阻塞UI线程System.Threading.ThreadPool.QueueUserWorkItem(_ =>{ DoSome 阅读全文
posted @ 2013-05-04 11:34 Frank.Fan 阅读(578) 评论(0) 推荐(0) 编辑
  2013年4月30日
摘要: 1.获取某个目录下的所有文件方法1:DirectoryInfo TheFolder = new DirectoryInfo(dirPath);FileInfo[] fileInfo = TheFolder.GetFiles();//获取文件信息//遍历文件,提取文件名foreach (FileInfo file in fileInfo){ list.Add(file.Name);}方法2:string curDir = workSpacePath + "\\" + fileName;//获取当前目录下所有的文件,文件名是全路径的string[] fileNames = Di 阅读全文
posted @ 2013-04-30 16:34 Frank.Fan 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 在进行winform开发的时候经常会使用打开文件对话框(OpenFileDialog)和文件夹浏览对话框(FolderBrowserDialog)。一、文件夹浏览对话框(FolderBrowserDialog)第一步、从工具箱中引入一个FolderBrowserDialog组件,当这个组件被添加到窗体上时会出现在窗体下方的空白区域,如图:第二步、需要一个按钮激发打开文件夹的行为,针对这个按钮btnSelectPath我们可是使用如下方法:private void btnSelectPath_Click(object sender, EventArgs e){ folderBrowserD... 阅读全文
posted @ 2013-04-30 14:52 Frank.Fan 阅读(1771) 评论(0) 推荐(0) 编辑
  2013年4月6日
摘要: 一个印度传说:在一个神庙里有有一个汉诺塔,就是一个铜板上插着3个宝石针,其中一根针从上到下的穿着由小到大的铜片64片,僧人们一次只能移动一个铜片,并且不论移到哪个针上,必须保持小片在大片上面。僧侣们预言,当所有的铜片都从穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消亡。当然,这只是个传说,如果每秒钟移动一次,那么移完这个汉诺塔将耗费大约 5845亿年,到那时说不定又有新的星系被人类发现了。汉诺塔算法可以根据推理得出:public class HanioDemo{ //把第几个盘子从哪个杆子上移动到哪个杆子上 private void Move(int iNum, char... 阅读全文
posted @ 2013-04-06 22:19 Frank.Fan 阅读(656) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页