程序员便利贴
分类: C#/.Net | 评论

发现有人用php实现了wap飞信的协议,不看不知道,一看吓一跳,协议非常简单,总共代码也不超过100行。 我花了一小段时间,将那php的代码翻译成了C#的,测试了一下,还挺好用的,速度也挺快的。 下面是具体的代码实现,看看非常简单,占内存和CPU肯定也会非常的少。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Sockets; using System.Net; using System.Web; using System.Text.RegularExpressions; namespace Fetion { public class WapFetion { private static string server = “http://f.10086.cn”; private string mobile; private string password; private CookieContainer cookies = new CookieContainer(); /// /// 构造函数 /// /// 手机号码 /// 密码 public WapFetion(string mobile, [...]

分类: C#/.Net | 评论

目前支持中文的Speech SDK最高版本为Windows平台下的SAPI 5.1(),本文介绍如何在.net平台下利用SAPI5.1开发中文语音应用程序。 1. SAPI.51 SDK浅析以及安装 SAPI SDK是微软公司免费提供的语音应用开发工具包,这个SDK中包含了语音应用设计接口(SAPI)、微软的连续语音识别引擎(MCSR)以及微软的语音合成(TTS)引擎等等。目前的5.1版本一共可以支持3种语言的识别 (英语,汉语和日语)以及2种语言的合成(英语和汉语)。SAPI中还包括对于低层控制和高度适应性的直接语音管理、训练向导、事件、语法编译、资源、语音识别(SR)管理以及TTS管理等强大的设计接口。 语音引擎则通过DDI层(设备驱动接口)和SAPI(SpeechAPI)进行交互,应用程序通过API层和SAPI通信。通过使用这些API,用户可以快速开发在语音识别或语音合成方面应用程序。 SAPI5.1 SDK可以从微软网站下载:http://www.microsoft.com/speech/download/sdk51/ 需要安装程序的有Speech SDK 5.1(68M)和5.1 Language Pack (81.5M)。 2. 用C#开发中文TTS应用程序示例 下面通过一个实例来介绍如何利用C# 进行开发语音应用程序,开发环境为: 操作系统: Windows 2000 中文版+ SP3 .Net Framework: 1.0.3705(英文版) Visual Studio.Net 7.0.9466(英文版) 首先,新建一个C#的Windows Application工程SpeechApp,在开发环境的右边的解决方案管理器(Solution Explorer)中,添加DotNetSpeech对象库。右键点击”Reference”(参考),选择”Add Reference”(添加参考),在弹出的文件选择对话框中找到D:/Program Files/Common Files/Microsoft Shared/Speech/目录下面找到SAPI.dll, 以下为引用的内容: //朗读 private void buttonSynthesis_Click(object sender, System.EventArgs e) { try { SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync; [...]

分类: C#/.Net | 评论

判断磁盘是否是USB连接的磁盘可以使用C#中的DriveType.Removable属性,但是在实际使用中有时候这个属性经常把NTFS类型的硬盘判断为系统的本地盘。不过还有一种方式来判断是否为USB磁盘,就是使用USBDISK.dll判断,这个网上有下载,不过这个dll只能使用在32位环境下,64位的环境还是要靠DriveType.Removable来判断。 使用方法: [DllImport("USBDISK.dll", EntryPoint = "ReInitUSB_Disk_Letter")] public static extern string ReInitUSB_Disk_Letter(); string usbDisk = ReInitUSB_Disk_Letter();//获取到的是usb盘符的名称。 该dll下载地址为:http://dllzj.com/Down_UsbDisk.dll.html

分类: C#/.Net | 评论
从DataSet导出到txt

网上已经存在很多从DataSet导出到Word、Excel、Txt等的文章了,为什么还要写这篇文章呢,因为搜索了好长时间都没有找到符合要求的(不代表没有),只好自己动手写一个。后面我还遇到了问题,希望园子里的朋友帮忙解决一下,看有没有更好的办法。 在这篇文章中,我涉及两个导出的问题。第一个问题是导出的每一列根据这一列的长度自动分配宽度,这样说还是不够明了,下面通过例子来看。 首先,构造我们的DataSet。本来想从数据库中查询得到,这样虽然麻烦点,但是更直接。 DataSet ds = new DataSet(); DataTable table = new DataTable(); DataColumn[] columns = new DataColumn[7]; columns[0] = new DataColumn(“EmpNo”); columns[1] = new DataColumn(“EmpName”); columns[2] = new DataColumn(“Dept”); columns[3] = new DataColumn(“Post”); columns[4] = new DataColumn(“Salary”); columns[5] = new DataColumn(“Bank”); columns[6] = new DataColumn(“BankNo”); table.Columns.AddRange(columns); DataRow row1 = table.NewRow(); row1["EmpNo"] = “1001″; row1["EmpName"] [...]

分类: C#/.Net | 评论

using System; using System.Data; using System.Configuration; using System.Net; using System.IO; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Threading; using System.Web; using System.Web.UI.MobileControls; /// /// 网页类 /// public class WebPage { #region 私有成员 private Uri m_uri; //url private List m_links; //此网页上的链接 private string m_title; //标题 private string m_html; //HTML代码 private string m_outstr; //网页可输出的纯文本 private bool m_good; [...]

分类: C#/.Net | 评论

 估计有很多人没有搞清楚,包括我自己,也是搞不大清,找了篇文章,大家随便看看,概念性问题,一看就明白的。 1 .NET是一个平台,一个抽象的平台的概念。 .NET平台其本身实现的方式其实还是库,抽象层面上来看是一个平台。 个人理解.NET核心就只是.NET Framework。 .NET Framework包括了两个关键组成元素: Common Language Runtime, 公共语言运行时  --提供内存管理、代码安全性检测等等功能。 .NET Framework Class Library, .NET框架类库   --提供大量应用类库、提高开发效率。 2 .C#是一个程序设计语言,仅仅是一个语言。 程序设计语言仅仅是为了方便开发人员和计算机沟通的工具,虽然C#语法相对C和C++要多一些,但是相对来看C#语法都比较固定,这样使用起来却都很容易。 3 .ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。 用微软公司ASP.NET快速入门中的一句话来解释,ASP.NET 是用于生成基于 Web 的应用程序的内容丰富的编程框架。   ASP.net和C#的区别: 编写asp.net通常包括两部分的代码:网页层和后台处理层.网页就是用标记语言来写的,而网页对应的后台处理程序则需要.net语言来完成,目前主要是采用c#和vb.net 可以说整个的asp.net网站通过c#或者vb.net来实现。而c#则是ms .net framework的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。

分类: C#/.Net | 评论

/// ///版本:SQLHelper 2.0 ///作用:数据库访问通用类 ///作者:appfen.com /// using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Collections; namespace PIMgr.DAL.DBHelper { public class SQLHelper { #region 私有字段 SqlConnection conn; SqlCommand cmd; string connStr = ConfigurationManager.ConnectionStrings["PIMgrConnectionString"].ConnectionString; #endregion /// /// 打开连接 /// public void ConnectionOpen() { if (conn == null) { conn = new SqlConnection(this.connStr);//建立一个连接 [...]

分类: C#/.Net | 评论

应用: 类似新浪微博传图片那个东西,不刷新页面上传图片。当然,扩展下是可以实现图片拼接神马的功能,不需要用到Flash的。 思路: 网页default.aspx和上传页面picupload.aspx,在default.aspx中内置iframe嵌入picupload.aspx,通过default的js调用picupload中的FileUpload实现上传,picupload上传成功后回调主页面default的回调函数,提示上传结果。 具体实现: 一、Default.aspx Asp.net 异步上传示例 上传结果 二、PicUpload.aspx Code Behind using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class PicUpload : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack && fileUpload1.HasFile) { fileUpload1.SaveAs(System.IO.Path.Combine(MapPath(“~”), fileUpload1.FileName)); ClientScript.RegisterClientScriptBlock(this.GetType(), “callback”, “callback(‘” + fileUpload1.FileName + “‘)”, true); } } [...]