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

 分类: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) 1084℃ 0评论 1喜欢

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

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

7年前 (2016-12-15) 3460℃ 6评论 13喜欢

关于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) 1124℃ 0评论 0喜欢

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

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

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

关于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) 1372℃ 0评论 3喜欢

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

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

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

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) 763℃ 0评论 2喜欢

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) 2012℃ 0评论 2喜欢

C#判断闰年的几种方法

润年 闰年 闰年是公历中的名词,闰年分为普通闰年和世纪闰年。 普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年) 世纪闰年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年) 闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。闰年共有366天(1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天)。 凡阳历中有闰日(二月为二十九日)的年;闰余(岁余置闰。阴历每年与回归年相比所差的时日) 注意闰年(公历中名词)和闰月(农历中名词)并没有直接的关联,公历中只分闰年和平年,平年有365天,而闰年有366天(2月中多一天) 平年中也可能有闰月(如2...

8年前 (2016-04-05) 907℃ 0评论 1喜欢

C#使用反射为两个对象的相同属性赋值

最近有遇到两个对象的赋值问题,两个对象的属性几乎都一样的,所以写了个通过反射获取属性的然后赋值的方法,把一个对象的属性的值赋值给另对象。 public static class MapperHelper { /// <summary> /// 反射实现两个类的对象之间相同属性的值的复制 /// 适用于初始化新实体 /// </summary> /// <typeparam name="R">返回的实体</typeparam> /// <typeparam name="S">数据源实体</typeparam> /// <param name="s">数据源实体</param&...

9年前 (2015-02-20) 681℃ 0评论 1喜欢