摘要: 字符串的模式匹配,就是通常见的IndexOf函数的实现过程。就是查询某个字符串T在另外一个字符串S中出现的位置使用定长顺序存储结构的字符串可以简单的描述这个过程先假定几个前提,设置几个类型#define SIZE 80typedef struct Chunk{char ch[SIZE];struct Chunk *next;}Chunk;typedef struct{Chunk *head,*tail;//串的头尾指针int curLen;//串的当前长度}//c,c++的字符串中0位置存储的是串的长度匹配思想如下:分别用指数i和j指示主串S和子串T的当前要比较的字符串的位置。基本思想是:从主 阅读全文
posted @ 2009-12-16 23:19 音乐啤酒 阅读(534) 评论(0) 推荐(0)
摘要: update一般是做单表操作的。但是有时候某些业务下update某个表的时候,用的数据可能是其他表的数据,这个时候可以使用jion方式语句如下update a set count = a.count + b.count from a left join b on a.id=b.id 阅读全文
posted @ 2009-12-15 01:04 音乐啤酒 阅读(3173) 评论(0) 推荐(0)
摘要: 好久没跟新博客了,最近在研究Mozilla的框架技术,真是麻烦 MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称,是在windows平台下搭建linux环境下的c++开发环境。从官网可以下载这个安装文件是exe文件,简单的安装就可以,只是安装目录不要有空格mingw安装的时候回让你选择一个编译器,一般就是gcc编译器了,但是Mozilla推荐的一个工具集中mingw使用的是你本机安装的vs版本的编译器。如果是gcc编译器,在编译cpp文件的时候就是有g++命令,如果使用的vs中的vc编译器就是有cl命令对单个c+ 阅读全文
posted @ 2009-12-04 00:09 音乐啤酒 阅读(1394) 评论(0) 推荐(0)
摘要: winSocket下有4个非阻塞的方式;select模型是winSocket下最常见的i/o模型,通过select可以判断是否存在一个或多个有效的socket连接状态,判断套接字是否可以读取或者写入。他既能防止socket处于阻塞状态下时候,最后一次io操作以后进入阻塞状态,也可以套接字处于非阻塞状态下出现的wsaewouldblock错误,select 函数原型:int select ( int nfds, //用来与Berkely socket兼容, 通常写0 fd_set* readfds, //检查可读性的socket集合 fd_set* writefds, //检查可写性的... 阅读全文
posted @ 2009-09-10 23:19 音乐啤酒 阅读(1368) 评论(0) 推荐(0)
摘要: 在使用CSocket编写网络程序的时候,在进行create,或者connect操作的时候都要求指定ip地址和端口号,以及socket类型有时候会报10022错误,这个错误的意思参数不正确,不是合理的参数。但是使用默认参数是不会报这个错误端口号很容易明白就是UINT类型,写数字就行但是ip地址是lpctstr类型,这个地方就有问题,经过我的测试,这个ip参数,必须先定义一个cstring的参数,然后再转换为lpctstr才可以。而且项目的编码格式最好使用多字节编码CString x = “127.0.0.1”;LPCTSTR ip = (LPCTSTR)x;本文使用Blog_Backup未注册版 阅读全文
posted @ 2009-09-08 17:45 音乐啤酒 阅读(1004) 评论(0) 推荐(0)
摘要: 这是头文件#pragma once#include "stdafx.h"class SQLDB{public: SQLDB(void); ~SQLDB(void); public: _ConnectionPtr m_con; _RecordsetPtr m_record;public: void InitConnection(); _RecordsetPtr& GetRecordSet(_bstr_t sql); BOOL ExecuteSql(_bstr_t sql); void ExitConnection();};这是cpp文件#include "S 阅读全文
posted @ 2009-09-01 00:05 音乐啤酒 阅读(387) 评论(0) 推荐(0)
摘要: vc++在,mfc中连接sqlserver配置问题,vc好像很少有sdk或者msdn上连接sqlserver的资料最近在网上找了很多资料,问了几个群友重要知道如何配置连接了。是ado方式,不用odbc。1.如果是mfc的话,在建立mfc向导的时候,选择有数据连接,这样在初始化函数中会有这个代码// 初始化 OLE 库 if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; }因为vc可以使用ole方式的连接数据库,比odbc方便很多2.主要代码如下: _ConnectionPtr m_pConnectio.. 阅读全文
posted @ 2009-08-28 19:26 音乐啤酒 阅读(840) 评论(0) 推荐(0)
摘要: 在网友“萌丫”大师的指点下,终于到对c++的构造函数列表有了一点认识,写下来一是要温故这个概念,二是感谢萌丫master的指点,并让她斧正。(萌丫,一研究生,数学专业,计算机专业具精通,是我认识的技术很高很深的网友,目前已经在Microsoft了)c++中的构造函数初始化在 《C++ Primer》中涉及到过,具体的代码形式就是类::构造函数():对象a初始化,对象b初始化,。。。{//其他成员的赋值}书中也讲到初始化列表中的对象或者变量也可以再函数体内执行,但是其实这里是有严格的限制的,有的成员必须放在初始化列表中执行,有的可以放在函数体内执行。先说说构造函数的一般知识:构造函数是特殊的成员 阅读全文
posted @ 2009-08-14 23:15 音乐啤酒 阅读(283) 评论(0) 推荐(0)
摘要: vs2005和2008中,很多函数的中字符串是用LPCTSTR类型来表示,如果直接使用“hello world”来使用,会报错比如:cannot convert paramter from const char[12] to lpctstr微软提供了两种方法来解决这个问题1.右键项目 打开属性 ,将字符集选择“多字节字符集”2.在类似“Hello world”的字符串前面加L或者_T()来解决这个问题 阅读全文
posted @ 2009-08-11 23:31 音乐啤酒 阅读(407) 评论(0) 推荐(0)
摘要: 今天在看到数据结构 静态表的查找的时候,看到一个算法挺有意思,理解也 比较容易。这是一个有序表的查找算法,比如(2,3,4,5,11,22,23,44,55,57,88)这样的有序结构。折半查找(binary search)的过程:先确定带查记录所在的范围或者区间,然后逐步缩小范围,直到找到或者找不到该记录为止。比如待查的记录key是23.刚开始low的位置1,high的位置是11.那么中间的mid的位置是(1+11)/2;相对于的结构对象arr[low/mid/hight]可以找到对应的各个数据记录。2,3,4,5,11,22,23,44,55,57,88|| |lowmidhigh使用ar 阅读全文
posted @ 2009-08-06 18:51 音乐啤酒 阅读(1324) 评论(0) 推荐(0)
摘要: *普通行列转换(爱新觉罗.毓华 2007-11-18于海南三亚)假设有张学生成绩表(tb)如下:Name Subject Result张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94*/-------------------------------------------------------------------------/*想变成 姓名 语文 数学 物理 ---------- ----------- ----------- ----------- 李四 74 84 94张三 74 83 93*/createtable tb(... 阅读全文
posted @ 2009-05-20 03:26 音乐啤酒 阅读(298) 评论(0) 推荐(0)
摘要: 虽然Symbian使用的是c++语言,但是由于手机系统的硬件限制,与c++语言差别还是比较大,Symbian定义了一套自己的东西。主要是对象的二阶段构造,清除栈。1.堆和栈。堆资源比较大,可以动态分配内存空间,在堆上创建的对象,使用以后都要显式的清除。一般使用new来在进程的默认堆上分配一个空间。如果内存不足就会报一个异常。一个小列子//CMyClass类定义class CMyClass : public CBase{public:CMyClass();//构造函数~CmyClass();//析构函数void Function();//普通函数}//在堆上创建cmyclass类的对象CMyCl 阅读全文
posted @ 2009-05-20 00:59 音乐啤酒 阅读(222) 评论(0) 推荐(0)
摘要: 一般Symbian程序结构包括:application,document,appUI,view(container)4个类文件application类负责启动应用程序(在cardide2.0中application和项目名称。cpp文件一起完成这个任务),并创建一个document类对象。document类对象负责创建程序引擎和用户界面appui类的对象。application类和document类都没有对应任何界面元素。appui类负责管理视图部分,并且响应用户命令。有个engine类是一个独立的应用程序引擎。对于引擎部分,针对不同的需求会有不同的实现方式。有些程序引擎复杂,包括多个独立的可 阅读全文
posted @ 2009-05-20 00:25 音乐啤酒 阅读(220) 评论(0) 推荐(0)
摘要: 看了几天Symbian开发,感觉真的复杂,还是微软程序员好干。先说说开发环境吧,需要安装active perl,Java,s60的sdk和ide网上文章比较多,搜索一下就找了这个ide的问题,现在比较推荐carbide c++2。0完全免费的,算是eclipse的,完整的ide。还有一个carbide.vs是一个插件,就可以是vs2003,2005来开发,但是好像nokia已经不发展了。还有一个比较新的就是QT creator,网上的文章说这个太厉害了。有质的变化,提供新的完整类库,原来要写100行代码实现的功能,现在10行就搞定了,呵呵,不过只是技术预览版,而且好像还是收费的版本。所以现在还 阅读全文
posted @ 2009-05-19 04:01 音乐啤酒 阅读(257) 评论(0) 推荐(0)
摘要: 需要安装,sqlserver2005,里面集成有sqlserver ce版本还要安装这个:适用于 Windows 桌面平台的 Microsoft SQL Server Compact 3.5 和 Microsoft Synchronization Services for ADO.Net 1.0 版里面提供了system.data.sqlserverce的dllhttp://www.microsoft.com/downloads/details.aspx?familyid=7849B34F-67AB-481F-A5A5-4990597B0297&displaylang=zh-cn本文使 阅读全文
posted @ 2009-05-08 23:16 音乐啤酒 阅读(239) 评论(0) 推荐(0)
摘要: 开发环境呢,还是vs2008,asp.net,c#之类的奇怪的是vs2008里面没有开发wap网站的模板。没有项目模板,也没有页面模板,要去下载模板http://www.ywle.com/down/ASPNETMobileTemplates.zip解压缩以后,放到“我的文档”下面vs2008模板文件里面就行,可以仔细查看里面的解压缩后的readme.txt文件只有建立一个空白的website,添加移动web页面。还是有问题,不能使用设计视图,而且控件还是asp前缀,应该是mobile是前缀的,反正很多。我手写了一个mobile:lable随便测试一下然后打开vs2008的设备仿真模拟器,选择一 阅读全文
posted @ 2009-04-20 17:57 音乐啤酒 阅读(326) 评论(0) 推荐(0)
摘要: 小灵通cngp的短信也搞出来了,还是c#写的,但是还有的逻辑问题 阅读全文
posted @ 2009-04-07 19:43 音乐啤酒 阅读(156) 评论(0) 推荐(0)
摘要: 最近突然想把一个在windows下的用c#写winform程序放到 Linux下运行,于是就是看了2天大名鼎鼎的Mono至于Mono是什么,大家去百度,Google一下就明白了,他就是Novell公司赞助的一个开源项目,把net程序移植到Linux系统上去,包括unix系统,比如opensuse,redhat,macOS之类的。先说安装吧。Linux安装软件真的很复杂了,累死了。其实也不复杂了,主要是对Linux不熟悉1.现在Linux系统,我是在本机安装了一个虚拟机,然后安装了红帽企业版本的Linux5.0也技术RHEL5.然后去http://www.go-mono.com/mono-dow 阅读全文
posted @ 2009-03-25 22:11 音乐啤酒 阅读(1286) 评论(0) 推荐(0)
摘要: 界面很粗糙了,呵呵,但是基本流程已经完全实现和跑通了,和移动飞信功能基本一致(呵呵,只是文字聊天方面),实现pc和pc通信,手机终端和pc终端通信。另外还有一个服务端界面,记录登陆在线的用户。这个简单的项目是用net做的。涉及多线程,socket,socket的同步异步,短信协议,联通网关等内容。这样项目结构图。主要功能1.客户端连接服务器,服务器记录在线用户。2.客户端实时获得最新的在线用户。3.在线用户通过pc交流:点击左侧的在线用户,当做聊天对象,可以点击“发送”进行pc客户端聊天,这个很easy,4.pc客户端可以“发送手机”给手机用户,手机用户直接通过短信回复内容,显示在pc客户端上 阅读全文
posted @ 2009-03-05 01:25 音乐啤酒 阅读(230) 评论(0) 推荐(0)
摘要: 引言如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。为什么要使用事件而不是委托变量?在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,而不是直接使用委托变量的原因。主要是从封装性和易用性上去考虑,但是还漏掉了一点,事件应该由事件发布者触发,而不应该由客户端(客户程序)来触发。这句话是什么意思呢?请看下面的范例:NOTE:注意这里术语的变化,当我们单独谈 阅读全文
posted @ 2009-02-28 22:50 音乐啤酒 阅读(182) 评论(0) 推荐(0)