博文

最简单的MFC程序(2007-01-27 16:42:00)

摘要: 最简单的MFC程序  #include <afxwin.h> //定义一个CWinApp的派生类
class CMinApp:public CWinApp
{
public:
 virtual BOOL InitInstance();
};
//重载CWinApp成员函数InitInstance()
BOOL CMinApp::InitInstance()                     //应用程序初始化
{
 CFrameWnd* pFrame=new CFrameWnd;     //动态生成主窗口类对象
 pFrame->Create(0,_T("A Minimal MFC Program")); //创建主窗口
 pFrame->ShowWindow(SW_SHOWMAXIMIZED); //显示主窗口
 pFrame->UpdateWindow();                                         //刷新主窗口
 AfxGetApp()->m_pMainWnd=pFrame;                   //指定......

阅读全文(2635) | 评论:0

用C语言进行CGI程序设计(2007-01-27 16:41:00)

摘要: 用C语言进行CGI程序设计 一、CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理, 将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、数据库查询和实现与传统应用系统的集成等工作。CGI程序可以用任何程序设计语言编写,如Shell脚本语言、Perl、Fortran、Pascal、C语言等。但是用C语言编写的CGI程序具有执行速度快、安全性高(因为C语言程序是编译执行且不可被修改)等特点。 CGI接口标准包括标准输入、环境变量、标准输出三部分。 1.标准输入 CGI程序像其他可执行程序一样,可通过标准输入(stdin)从Web服务器得到输入信息,如Form中的数据,这就是所谓的向CGI程序传递数据的 POST方法。这意味着在操作系统命令行状态可执行CGI程序,对CGI程序进行调试。POST方法是常用的方法,本文将以此方法为例,分析CGI程序设计的方法、过程和技巧。 2.环境变量 操作系统提供了许多环境变量,它们定义了程序的执行环境,应用程序可以存取它们。Web服务器和CGI接口又另外设置了自己的一些环境变量,用来向CGI 程序传递一些重要的参数。CGI的GET方法还通过 环境变量QUERY-STRING向CGI程序传递Form中的数据。 3.标准输出 CGI程序通过标准输出(stdout)将输出信息传送给Web服务器。传送给Web服务器的信息可以用各种格式,通常是以纯文本或者HTML文本的形式,这样我们就可以在命令行状态调试CGI程序,并且得到它们的输出。 下面是一个简单的CGI程序,它将HTML中Form的信息直接输出到We b浏览器。 #include <stdio.h> #include <stdib.h> main() { int,i,n; printf (″Contenttype:text/plainnn″); n=0; if(getenv(″CONTENT-LENGTH″)) n=atoi(getenv(CONTENT-LENGTH″......

阅读全文(1793) | 评论:0

让你的程序效率更高一些(2007-01-27 16:28:00)

摘要:让你的程序效率更高一些 问题背景:
英国大数学家哈代(G.H.Hardy,1877-1947)曾经发现过一种有趣的现象: 153=1^3 + 5^3 + 3^3 371=3^3 + 7^3 + 1^3 370=3^3 + 7^3 + 0^3 407=4^3 + 0^3 + 7^3 他们都是三位数且等于各位数字的三次幂之和,这种巧合不能不令人感到惊讶.更为称奇的是,一位读者看过哈代的有趣发现后,竟然构造出其值等于各位数字四(五,六)次幂之和的四(五,六)位数: 1634=1^4 + 6^4 + 3^4 + 4^4 54748=5^5 + 4^5 + 7^5 + 4^5 + 8^5 548834=5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 注:3位3次幂回归数又称位“水仙花数” 像这种其值等于各位数字的 n 次幂之和的 n 位数,称为 n 位 n 次幂回归数.本文只讨论这种回归数,故简称为回归数,人们自然要问:对于什么样的自然数 n 有回归数?这样的 n 是有限个还是无穷多个?对于已经给定的 n ,如果有回归数,那么有多少个回归数? 1986年美国的一位数学教师安东尼.迪拉那(Anthony Diluna)巧妙地证明了使 n 位数成为回归数的 n 只有有限个. 设 An 是这样的回归数,即: An=a1a2a3...an=a1^n+a2^n+...+an^n (其中 0<=a1,a2,...an<=9) 从而 10^n-1<=An<=n9^n 即 n 必须满足 n9^n>10^n-1 也就是 (10/9)^n<10n          (1) 随着自然数 n 的不断增大,(10/9)^n 值的增加越来越快,很快就会使得(1) 式不成立,因此,满足(1)的 n 不能无限增大,即 n 只能取有限多个.进一步的计算表明: (10/9)^60=556.4798...<10*60=600  (10/9)^61=618.3109...>10*61=610 对于 n>=61,便有 (10/9)^n>10n 由此可知,使(1)式成立的自然数 n<=......

阅读全文(1343) | 评论:0

汉字简体繁体转换(2007-01-27 16:20:00)

摘要:     汉字简体繁体转换 这是几年前的Javascrīpt代码,当时纯粹是觉得好玩,好像是发在无忧脚本(51js)论坛上了。结果没想到这个代码居然大受欢迎,甚至有些台湾网站也引用了我做的这个小工具。看来一个受欢迎的代码可以并不复杂,关键是要实用。 charPYStr文件: function charPYStr(){
  return '画一乙二十丁厂七卜八人入乂儿九匕几刁了乃刀力又乜三干亍于亏士土工才下寸丈大兀与万弋上小口山巾千乞川亿彳个么久勺丸夕凡及广亡门丫义之尸已巳弓己卫孑子孓也女飞刃习叉马乡幺丰王井开亓夫天元无韦云专丐扎廿艺木五支厅卅不仄太犬区历友歹尤匹厄车巨牙屯戈比互切瓦止少曰日中贝内水冈见手午牛毛气壬升夭长仁仃什片仆仉化仇币仂仍仅斤爪反兮刈介父爻从仑今凶分乏公仓月氏勿风欠丹匀乌勾殳凤卞六文亢方闩火为斗忆计订户讣认讥冗心尹尺夬引丑爿巴孔队办以允邓予劝双书毋幻玉刊末未示击邗戋打巧正扑卉扒邛功扔去甘世艾艽古节艿本术札可叵匝丙左厉丕石右布夯龙戊平灭轧东匜劢卡北占凸卢业旧帅归目旦且叮叶甲申号电田由卟叭只央史叱叽兄叼叩叫叻叨另叹冉皿凹囚四生失矢氕乍禾仨仕丘付仗代仙仟仡仫伋们仪白仔他仞斥卮瓜乎丛令用甩印氐乐尔句匆犰册卯犯外处冬鸟务刍包饥主市庀邝立冯邙玄闪兰半汀汁汇头汈汉忉宁穴宄它讦讧讨写让礼讪讫训必议讯记永司尻尼民弗弘阢出阡辽奶奴尕加召皮边发孕圣对弁台矛纠驭母幼丝匡耒邦玎玑式迂刑邢戎动圩圬圭扛寺吉扣扦圪考托圳老圾巩执扩圹扪扫圯圮地扬场耳芋芏共芊芍芨芄芒亚芝芎芑芗朽朴机权过亘臣吏再协西压厌厍戌在百有存而页匠夸夺夼灰达戍尥列死成夹夷轨邪尧划迈毕至此乩贞师尘尖劣光当吁早吐吓旯曳虫曲团同吕吊吃因吸吗吆屿屹岌帆岁回岂屺则刚网肉凼囝囡钆钇年朱缶氘氖牝先丢廷舌竹迁乔迄伟传乒乓休伎伏伛优臼伢伐仳延佤仲仵件任伤伥价伦份伧华仰伉仿伙伪伫自伊血向囟似后行甪舟全会杀合兆企汆氽众爷伞创刖肌肋朵杂夙危旬旭旮旨负犴刎犷匈犸舛各名多凫争邬色饧冱壮冲妆冰庄庆亦刘齐交次衣产决亥邡充妄闭问闯羊并关米灯州汗污江汕汔汲汐汛汜池汝汤汊忖忏忙兴宇守宅字安讲讳讴军讵讶祁讷许讹论讼农讽设访诀聿寻那艮厾迅尽导异弛阱阮孙阵阳收阪阶阴防丞奸如妁妇妃好她妈戏羽观牟欢买纡红纣驮纤纥驯纨约级纩纪驰纫巡寿玕弄玙麦玖玚玛形进戒吞远违韧运扶抚坛抟技坏抔抠坜扰扼拒找批扯址......

阅读全文(13729) | 评论:0

程序员四大忌(2007-01-27 16:18:00)

摘要:        程序员四大忌 一忌--轻易言败,没有自信
    没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在
程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。
就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,
可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请
不要做程序员,你不可能成功。执着是最可贵的。
    执着的程序员都是相信自己的人,每时每刻都会鼓励自己,你做的出来,你能解决,你会成功。
这样他才能坚持下去。

二忌--浮华不实,自满自大
    夸夸奇谈的人不是优秀的程序员。整个程序设计的过程就是一个研究学习,应用,再研究学习,
再应用的过程。一名优秀的程序员决不会认为自己足够好了,不需要再提高了。自满自足的人不会是好程序员,
会很快落后以致落伍。所以越是优秀的程序员越是感觉自己懂得少,不会在人前故意卖弄,这并不是故作谦虚,
而是实实在在的感受,亲自体会才能明白。
    浮华的程序员会不懂装懂,不停的强调语言的优劣,平台的好坏。追求所谓最新最时尚的技术,停留在
表面问题上。或假做深沉,用不适合的方式做不适合的事情。就像孔已己一样,以为知道"茴"字有四种写法就是
学问。最后是简单的作不好,困难的也作不好。

三忌--死气沉沉,不求甚解
    优秀的程序员是充满激情和活力的程序员。求知欲和创造欲是原动力。有求知欲你才能不停的学习,
有创造欲你才能不停的超越自己。死气沉沉的程序员已经对程序设计失去了兴趣,很快就会主动或被迫离开。
创造不是指你要发明什么别人不知道的技术或方法,而是说不能仅仅知道怎么做,还要知道为什么这样做。
之后你才能创造,其实程序设计的整个过程就是创造的过程。

四忌--强......

阅读全文(1246) | 评论:0

如何成为优秀程序员?(2007-01-27 16:17:00)

摘要:如何成为优秀程序员? 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快? 我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对 于速度快,只要编得多也就熟能生巧了。 我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。
2、积极向上的态度,有创造性思维。
3、与人积极交流沟通的能力,有团队精神。
4、谦虚谨慎,戒骄戒燥。
5、写出的代码质量高。包括:代码的稳定、易读、规范、易维护、专业。 这些都是程序员的修养,这里我想谈谈“编程修养”,也就是上述中的第5点。我觉得,

果我要了解一个作者,我会看他所写的小说,如果我要了解一个画家,我会看他所画的图 画,如果我要了解一个工人,我会看他所做出来的产品,同样,如果我要了解一个程序员 ,我想首先我最想看的就是他的程序代码,程序代码可以看出一个程序员的素质和修养, 程序就像一个作品,有素质有修养的程序员的作品必然是一图精美的图画,一首美妙的歌 曲,一本赏心悦目的小说。 我看过许多程序,没有注释,没有缩进,胡乱命名的变量名,等等,等等,我把这种人统 称为没有修养的程序,这种程序员,是在做创造性的工作吗?不,完全就是在搞破坏,他 们与其说是在编程,还不如说是在对源程序进行“加密”,这种程序员,见一个就应该开 除一个,因为他编的程序所创造的价值,远远小于需要在上面进行维护的价值。 程序员应该有程序员的修养,那怕再累,再没时间,也要对自己的程序负责。我宁可要那 种动作慢,技术一般,但有良好的写程序风格的程序员,也不要那种技术强、动作快的“ 搞破坏”的程序员。有句话叫“字如其人”,我想从程序上也能看出一个程序员的优劣。 因为,程序是程序员的作品,作品的好坏直截关系到程序员的声誉和素质。而“修养”好 的程序员一定能做出好的程序和软件。 有个成语叫“独具匠心”,意思是做什么都要做得很专业,很用心,如果你要做一个“匠 ”,也就是造诣高深的人,那么,从一件很简单的作品上就能看出你有没有“匠”的特性 ,我觉得做一个程序员不难,但要做一个“程序匠”就不简单了。编程序很简单,但编出 有质量的程序就难了。 我在这里不讨论过深的技术,......

阅读全文(1852) | 评论:0

密码加密码与解密(2007-01-27 16:15:00)

摘要:密码加密码与解密 public void unPassword(String value) {
       String pasword = ""; // 用于接收解密之后的值
       /**定义一个String数组n3的长度*/
       String[] arry = new String[value.split(",").length];
       arry = value.split(","); //根据给定的每个字符串加逗号;split()根据给定的正则表达式的匹配来拆分此字符串。        /**定义一个整型数组b并得到String数组n3长度*/
       int b[] = new int[arry.length];        /**该循环用于String数组n3的值转换成ASCII码值并存放到整型数组b*/
       for (int i = 0; i < arry.length; i++) {
           b[i] = Integer.parseInt(arry[i]) - 5;        }        /**该循环用于String数组n3的值转换成char字符*/
       for (int i = 0; i < arry.length; i++) {
 &nb......

阅读全文(1329) | 评论:0