在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

最新发布 第13页

清风亦平凡-关注IT世界,记录平凡生活

C#

C#实现简单工厂模式

在面向对象程序中,我们经常看到一种模式就是简单工厂模式(Simple Factory Pattern)。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个共同的父类和共同的方法,但每个方法执行的任务不同,而且根据不同的数据进行了优化。简单工厂模式实际上不属于23个GoF模式,但它可以作为学习工厂方法做铺垫。 一、UML类图,简单工厂基本类图 二、代码演示 /// <summary> /// 产品抽象类 /// </summary> public abstract class Product { public abstract void CreateProduct(); } /// <summary> /// 具体产品A /// <...

7年前 (2017-02-02) 852℃ 0评论 0喜欢

IT相关

批处理实现对Windows系统远程连接端口号的修改

批处理实现对Windows系统远程连接端口号的修改,以下代码另存为*.bat即可。 @echo off title 远程连接端口修改 color 0a echo 输入端口请注意: echo 1.不要是用常用端口,例如:21、23、80、139、137、1433等端口。常用端口可能被占用 echo 2.你所修改的端口请大于0且小于65535: echo 3.修改完成后,请把你修改的端口对外开放。例如:在防火墙中放开写权限,以免出现修改成功防火墙不允许通信的情况。: set /p c= 请输入新的端口: if “%c%”==”” goto end goto edit :edit reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wd...

7年前 (2017-01-07) 952℃ 0评论 1喜欢

C#

C#获得Excel第一个工作表的名称

private string getExcelSheetFirstNameFor(string path) { string firstName = ""; Excel.Application objExcelApp = new Application(); objExcelApp.Visible = false; objExcelApp.DisplayAlerts = false; Workbooks objWorkbooks = objExcelApp.Workbooks; _Workbook objWorkbook = null; _Worksheet objWorksheet = null; object objMissing = System.Reflection.Missing.Value; try { objWork...

7年前 (2017-01-06) 1095℃ 0评论 1喜欢

数据结构与算法

七种查找算法

查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。由于查找运算的使用频率很高,几乎在任何一个计算机系统软件和应用软件中都会涉及到,所以当问题所涉及的数据量相当大时,查找方法的效率就显得格外重要。 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。   查找算法分类:   1)静态查找和动态查找;     注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。   2)无序查找和有序查找。     无序查找:被查找数列有序无序均可;     有序查找:被查找数列必须为有序数列。   平均查找长度(Average Search Length,ASL):需和指定key进行比较的关键字的个数的期望值,称为查找算法在查找成功时的平均查找长度。   对于含有n个数据元素的查找表,查找...

7年前 (2016-12-17) 714℃ 0评论 2喜欢

C#

C#实现多个文件(mp3)合并

友情提示以下所诉的音频合并仅仅针对mp3,其他类型音频文件可能存在差异,敬请注意。 公司项目存在多媒体叫号功能,此功能在XP系统上读的速度是可以的,但是在Window7以及以上版本系统读的速度非常慢(不连贯,难以接受)。现在实现方式根据信息拼接了不同的MP3文件,然后进行顺序读取。但是很奇怪为什么在更高版本系统中使用会变的异常的慢,让人难以接受。为了解决这个问题想到了2个方案: 使用flash音乐播放器进行列表播放,但是很多的网页播放器不具备与JavaScript交互的功能,甚至没有列表播放功能。(没有发现其他好用的播放器)对多个MP3文件进行合并后进行播放 经过测试否决了第一种方式,因为压根没有找到一款适合的网页播放器,重新写太费时间了。第二种方式可以解决问题。所以就使用了这个简单的方法来修改现有叫号功能在高版本系统播放缓慢的问题。基本代码如下: using Sy...

8年前 (2016-12-15) 3518℃ 6评论 13喜欢

其他分享

Microsoft VS2012_ULT_chs序列号

Microsoft Visual Studio 2012 旗舰版序列号 YKCW6-BPFPF-BT8C9-7DCTH-QXGWCRBCXF-CVBGR-382MK-DFHJ4-C69G8YQ7PR-QTHDM-HCBCV-9GKGG-TB2TM 转载请注明:清风亦平凡 » Microsoft VS2012_ULT_chs序列号...

8年前 (2016-12-12) 840℃ 0评论 0喜欢

IT相关

ECShop之模版堂的模板首页轮播最后出现空白BUG修复

因朋友需要搭建一个商城做演示用,所以选择了用PHP写的ECShop。他为了减少改动就是用了模板堂的模板。但是首页轮播广告在不足7个的时候总是会有后续的空白,初步猜想是代码中固定了轮播广告数量。经过问题的查找很快确定了自己的猜想,就随手把它给改掉了。 找到模板文件下的文件(library\index_ad.lbi)并打开。找到如下代码: window.onload = function() { function Each(list, fun) { for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); } }; var objs = $("idNum").getElementsByTagNam...

8年前 (2016-12-10) 1233℃ 0评论 2喜欢

Jquery

Jquery插件实现outerHTML

$.fn.outerHTML = function() { return (!this.length) ? this: (this[0].outerHTML || (function(el) { var div = document.createElement('div'); div.appendChild(el.cloneNode(true)); var contents = div.innerHTML; div = null; return contents; })(this[0])); } 转载请注明:清风亦平凡 » Jquery插件实现outerHTML ...

8年前 (2016-11-09) 718℃ 0评论 0喜欢

影像追忆

忆亡母

睡梦惊醒魂未定,方知已是泪盈盈。 梦中依见慈母笑,俯首难言念亲情。 泪洒朱棺声泣泣,断魂茔冢草青明。 奈何良善不长命,善恶终归土一坪。 夜半惊醒魂未定,方知已是泪盈盈。 梦中依见慈母笑,俯首难言念亲情。 泪洒朱棺声泣泣,断魂茔冢草青明。 奈何良善不长命,善恶终归土一坪。 转载请注明:清风亦平凡 » 忆亡母...

8年前 (2016-10-27) 1129℃ 0评论 4喜欢

DataBase

自增长INT主键与GUID主键优缺点

使用INT做主键的优点: 需要很小的数据存储空间,仅仅需要4 byte 。insert和update操作时使用INT的性能比GUID好,所以使用int将会提高应用程序的性能。 index和Join 操作,int的性能最好。 容易记忆。 支持通过函数获取最新的值 使用INT做主键的缺点 如果经常有合并表的操作,就可能会出现主键重复的情况。 使用INT数据范围有限制。如果存在大量的数据,可能会超出INT的取值范围。 很难处理分布式存储的数据表。 使用GUID做主键的优点: 它是独一无二的。 出现重复的机会少。 适合大量数据中的插入和更新操作。 跨服务器数据合并非常方便。 使用GUID做主键的缺点: 存储空间大(16 byte),因此它将会占用更多的磁盘大小。很难记忆。join操作性能比int要低...

8年前 (2016-09-23) 516℃ 0评论 0喜欢

JavaScript

require.js的用法

一、为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。 <script src="1.js"></script> <script src="2.js"></script> <script src="3.js"></script> <script src="4.js"></script> <script src="5.js"></script> <script src="6.js"></script> 这段代码依次加载多个js文件。 这样的写法有很大的缺点。首先,加载...

8年前 (2016-08-22) 894℃ 0评论 0喜欢

C#

关于Zxing.net 自动解码Code39的BUG

使用Zxing.net进行一维条码识别,如果自动识别解码对Code39条码解码的情况下可能会出现解码错误的情况(这里的错误是指解码后的数据和原来进行编码的数据不一致,进行编码的数据均为Code39的合法字符)。原因:自动解码会尝试目前所有支持类型的解码,包括Code39Extended模式。Code39和Code39Extended 是相同的方法处理,在进行Code39解码后会判断是否使用了Code39Extended模式,使用了扩展的话就会再次对返回的结果进行Code39Extended解码。文件所在位置:lib\oned\Code39Reader.cs   代码如下: /* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); ...

8年前 (2016-08-19) 1144℃ 0评论 0喜欢

C#

谷歌百度以图搜图感知哈希算法之C#简单实现

在谷歌百度以图搜索中, 用户可以上传一张图片, 谷歌百度显示因特网中与此图片相同或者相似的图片. 第一步:将图片缩小到8×8的尺寸,总共64个像素。这一步的作用是去除图片的细节, 只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。 第二步:将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。 第三步:计算所有64个像素的灰度平均值。 第四步:将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。 第五步:将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序。 第六步:计算”汉明距离”(Hamming distance),如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。 usi...

8年前 (2016-08-18) 1205℃ 0评论 2喜欢

JavaScript

javascript实现的iframe数据共享接口

在iframe与父窗口或者与子窗口传递数据是一个麻烦的事情,如果我们能够写一个一劳永逸的接口那就再方便不过了,下面就来简答介绍一下如何实现此功能。原理就是将数据缓存早window.top这个窗口,这样无论子窗口父窗口的层次如何变化,数据总是存在不会变化的。 var dataShare = { setData: function(name, value) { var top = window.top, cache = top['_CACHE'] || {}; top['_CACHE'] = cache; return value ? cache[name] = value: cache[name]; }, removeData: function(name) { var...

8年前 (2016-08-17) 933℃ 0评论 0喜欢

C#

关于DllImport调用非托管dll出现“无法加载DLL’*.dll’,找不到指定的模块”错误

项目中有短信发送模块,由于SP提供的SDK升级。在项目中需要新增SDK的版本。新版本新增的同时要更新旧版本的Dll引用方式,旧版本之前通过DllImport引用使用绝对路径。地址更换后,在操作短信发送的时候就会报“无法加载DLL’*.dll’,找不到指定的模块”。(相关的DLL已经放到Bin目录下)。 当使用绝对路径或者把相关DLL拷贝到系统目录(C:\WINDOWS\system32)后,此类错误不再出现。虽说问题得以解决,但无论是绝对路径还是把相关DLL放到系统目录,这都不是很好的解决办法。很多服务器是不允许在非网站应用程序下新建文件的。而在网上基本都是三种解决方案,如下: 1、将相关的DLL拷贝到Bin目录下 2、将相关的DLL放到系统目录(C:\WINDOWS\system32) 3、使用绝对路径,例如:E:\dll\xxxx.dll 以上三种解决方案在不同...

8年前 (2016-08-16) 1400℃ 0评论 3喜欢

其他分享

Microsoft Office 2010序列号

OFFICE 2010 标准版 Office Standard 2010 (BizSpark) BXW2C-39RMQ-64X8V-VW2RF-BK8TT 增强版 26FX2-XFJP4-WJYJV-GGCXV-4KQGD       转载请注明:清风亦平凡 » Microsoft Office 2010序列号 ...

8年前 (2016-08-02) 556℃ 0评论 0喜欢

DotNet

asp.net实现验证码

这个之前(很久之前了吧)使用webform的时候使用的验证码,实现的方式也很简单。 using System; using System.IO; using System.Drawing; using System.Drawing.Imaging; using System.Text; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace WebUI.yzm { public partial class yzm : System.Web.UI....

8年前 (2016-08-01) 585℃ 0评论 0喜欢

设计模式

面向对象设计原则

一、单一职责原则(Single Responsibility Principle,简称SRP)  .一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 二、开闭原则(Open-Closed Principle, 简称OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 三、里氏代换原则(Liskov Substitution Principle,简称 LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象。 四、依赖倒转原则(Dependency Inversion  Principle,简称 DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。 五、接口隔离原则(Interface  Segregation Principle, 简称ISP...

8年前 (2016-07-23) 711℃ 0评论 1喜欢

设计模式

设计模式简介

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。通俗点讲就是设计过程中可以反复使用的、可以解决特定问题的设计方法。 使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。 一、设计模式的分类。软件开发发展到现在已经有了很多的模式,其中经典的设计模式要属GoF提出的23种设计模式。这23种设计模式又可以分为三大类:...

8年前 (2016-07-21) 644℃ 0评论 0喜欢

C#

C#获取指定文本文件的编码格式

在某些情况下对文本文件进行读取会出现乱码,这种情况是因为指定的文本文件的编码类型不是系统默认的编码类型或者不是读取时指定的编码类型。解决这种出现乱码的情况可以先获取指定文本文件的编码类型,然后在进行内容的读取。这样尽可能的避免读取文本文件时出现乱码的机率。代码如下: /// <summary> /// 获取指定文件的编码 /// 以防止在不知道文件编码格式的情况下处理文件而造成的乱码问题 /// </summary> /// <param name="filename">文件路径</param> /// <returns></returns> public System.Text.Encoding GetFileEncodeType(string filename) { if (!File.Ex...

8年前 (2016-07-19) 1495℃ 0评论 4喜欢

C#

C#生成Code39(extend)条形码【非条形码字体】

简介 Code39是条形码的一种。由于编制简单、能够对任意长度的数据进行编码、支持设备广泛等特性而被广泛采用。 能够对任意长度的数据进行编码。其局限在于印刷品的长度和条码阅读器的识别范围。 支持设备广泛。目前几乎所有的条形码阅读设备都能阅读Code39码,打印机也是同样情况。 编制简单。简单的开发技术就能快速生成相应的编码图像。 一般Code39码由5条线和分开它们的4条缝隙共9个元素构成。线和缝隙有宽窄之分,而且无论线还是缝隙仅有3个比其他的元素要宽一定比例。39码因此得名 Code39条形码规则   1、 每五条线表示一个字符;   2、 粗线表示1,细线表示0;   3、 线条间的间隙宽的表示1,窄的表示0;   4、 五条线加上它们之间的四条间隙就是九位二进制编码,而且这九位中必定有三位是1,所以称为39码;   5、 条...

8年前 (2016-07-15) 780℃ 0评论 2喜欢

C#

C#利用书签定位到Word文档的指定位置 (四种方法)

首先在Word文档中,插入一个新的书签,并命名(假设建了一个名为”BOOKMARKNAME”的书签),然后使用C#操作Word: using MSWord = Microsoft.Office.Interop.Word; //引用命名空间 private MSWord.Application wordApp; //Word应用程序变量 private MSWord.Document wordDoc; //Word文档变量 private Object Nothing = Missing.Value; //初始化 wordApp = new MSWord.ApplicationClass(); wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref ...

8年前 (2016-07-14) 2026℃ 0评论 2喜欢

数据结构与算法

快速排序算法(Quicksort)

一、排序算法(Sorting algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。目前,最常见的排序算法大概有七八种,其中”快速排序”(Quicksort)使用得最广泛,速度也较快。它是图灵奖得主C. A. R. Hoare(1934–)于1960时提出来的。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 (1) 分治法的基本思想 将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。 (2)快速排序的基本思想,整个排序过程只需要三步 在数据集之中,选择一个元素作为”基准”(pivot)。 所有小于”基准”的元素,都移到”基准&#...

8年前 (2016-07-05) 842℃ 0评论 1喜欢

其他分享

Microsoft Visio 2010 和 Project 2010 序列号

Visio 2010 (x86 and x64) – DVD (Chinese-Simplified) BC738-VBX37-HW32R-DX9Y7-MWH7M Project Professional 2010 (x86 and x64) – DVD (Chinese-Simplified) 9JBQ7-8D4PG-3V2RV-WBHKM-XT7KT 转载请注明:清风亦平凡 » Microsoft Visio 2010 和 Project 2010 序列号 ...

8年前 (2016-07-04) 670℃ 0评论 0喜欢

生活随笔

网络传销的五大表现形式

据中国消费网介绍,当前网络传销主要有以下五种表现形式。 1.“电子商务”式。不法分子首先注册一个电子商务企业,再以此名义建立一个电子商务网站,并以“网购”“网络营销”“网络直购”等形式从事网络传销活动。 2.“免费获利”式。社会上出现不少“免费获利”“增值消费”式传销行为,宣称“消费不用花钱,免费购买商品”,“消费=存钱=免费”“消费满500返500”等,欺骗性强,诱惑力大,引起不少人的兴趣,最终上当受骗。 3.“网上创业”式。打着“一边上网娱乐,一边上网赚钱”、“吃着火锅刷着微博,月收入10万元”的宣传旗号。一些网络传销分子抓住年轻人急于创业、渴望成功的心理,以“在家创业”“网络创业”“网络资本运作”“网络投资”为诱饵,欺骗、引诱年轻人上当,从而达到发展会员进行网络传销的目的。 4.“网络博弈”式。以玩网络游戏、网上博彩为名,发展会员从事“游戏股票”“幸运博彩”等游戏充值卡业务,以直销奖...

8年前 (2016-07-03) 867℃ 0评论 1喜欢