博文

(转)VC程序员的命运(2007-01-16 13:29:00)

摘要:从小狼上转的,因为我也是学习VC的,自认为前途一片光明,看了这篇文章,有所感触,感觉写的很好,我现在还有1年时间就要毕业了,这篇文章为我敲响了警钟。   文章:VC程序员之无法选择的命运 http://community.csdn.net/Expert/topic/5286/5286537.xml?temp=.5930445 许多人选择做程序员,因为觉得程序员做的是创造性的工作。
   许多人选择做VC程序员,因为想感受掌握一切,君临天下的感觉。
   后来,程序员们都明白了:自己所做的,只是最机械、最重复的劳动。我们并未创造着世界,而是让世界死死地牵着鼻子走。我们一步也不敢停留,害怕着会因此与世界失去联系。
   再后来,程序员知道了除了写程序之外,还要吃饭。许多程序员找到了工作,唯唯诺诺地写公司规定的代码,过上了任人鱼肉的生活。VC程序员却由于一直找不到工作,流浪街头。
   其实,选择做程序员,就意味着比别人受更多的苦。选择做VC程序员,就意味着比别人走更多的弯路。因为我们没有好的书籍参考,没有好的老师指导,没有好的环境实践……我们孤独地在眩目的显示器前或在漆黑的夜里苦苦摸索,寻求出路。然而,蓦然回首,离自己的目标已渐行渐远……
   数百个VC程序员联系上我,说找不到工作,有的说要到我公司来。我要求他们设计一个最简单的项目,但他们都似乎有心无力,屡屡犯错。我知道,这并不是因为我们的VC程序员不认真,不努力。而是在这盲目的大潮中,程序员们找不到方向。举个例子,当今的VC书籍可不能不谓浩如烟海,但真正有用的没有几本。写书的人欺骗着一批又一批的莘莘学子,让一大班程序员跟着他的屁股去啃那些枯燥无味并大多无用的东西。当程序员们探索得有点眉目的时候那技术早已经不流行。如MFC,来不及让程序员们真正理解,却显江河日下。
   我知道,真正让你有进步的行为是进一家软件公司做一个项目。那时,你会真正感受到一日千里是怎么一回事。但是VC朋友说要到我公司来,我总是拒于千里,理由是不能给公司带来效益。公司不是慈善机构,要培养一个VC程序员也不是一朝一夕的事情。朋友说,我们可以合作,这样总可以帮上公司一点忙吧。......

阅读全文(3736) | 评论:1

VC编程小经验(3)(2006-12-09 16:52:00)

摘要:更新中:   14."ctrl+]"  组合键的使用可以帮助你快速检测出括号的配准情况。首先定位光标于 第一个括号前面,然后按下组合键,系统会自动马上找到匹配的括号,并将光标定位 于那里。否则保持不动。 应用指数:★★★★
成功率:80%   15.有时候,你想添加一个系统消息时却发现找不到,,比如是窗口消息,但在一个基于对话框的程序中却找不到。很是烦人。有办法。打开"类向导" 以后,切换到"class Info"选项卡下,在"Message Filter"列表框下选择window,而不是dialog或者其他什么就可以了。 应用指数:★★★★
成功率:80%   16.长久看了VC工作区,眼睛会疲劳,可以试着更改一下设置。方法是菜单栏   -- 工具 -- 选项,切换到"格式"选项卡即可。可以更换 字体,颜色等。   应用指数:★★★★
成功率:100%     17. 写了很多代码,然后更改,最后会发现代码一团糟,格式也不正确,看起来也不美观。有个简单的方法就是 alt+F8,只要选中要整理 的代码,然后按键,即可。   应用指数:★★★★★
成功率:100%     18.如果工作空间中有2个工程,那么每次运行一个的时候,必须设置它为活动工程(方法不在阐述)。这样很麻烦。有种简单的方法是: 右击打开“组建”工具栏,可以看见小的横杆(组合框),里面就 可以设置活动工程。 应用指数:★★★★★
成功率:100%  
  19.每次用”class wizard”来添加消息有点大材小用了,还有种简单的方法: 右击打开“向导条”工具栏(wizardBar),设置类和要处理的消息。   应用指数:★★★★★
成功率:100%......

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

VC编程小经验(2)(2006-11-29 20:34:00)

摘要:更新中: 9.在有些书上会介绍一下菜单或者资源模板的知识,如果想看代码的话,可以找到.rc文件
,改成txt,打开即可
应用指数:★★★★
成功率:100% 10.请在运行程序的时候关闭卡巴,这样好一点,防止冲突。 应用指数:★★★★
成功率:80% 11.如果Build以后,在调试框中到了linking就不动了,那么只好先保存一下,然后在任务管理器中关闭,最后重新打开项目 应用指数:★★★★
成功率:100% 12.可以在一个工作空间中设置2个工程,并且互不干扰。方法是:在工作区,切换到FileView下,选中根节点,右击,选择“添加新工程到工作空间”,然后新建工程即可。 如果要切换运行或者调试的话,只用右击工程,选择“设为活动工程” 应用指数:★★★★
成功率:100% 13.如果要查看某个变量或者常数的定义,把光标定在其中,然后右击选择“转到定义”, 即可。如果要查看某个基类函数的话,如CView::OnDraw() 就用下面的方法: 在菜单兰中,“编辑”,“在文件中查找”,注意设定文件路径为安装目录。 应用指数:★★★★
成功率:100%
......

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

VC编程小经验(1)(2006-10-22 00:51:00)

摘要:更新中: 1.对classview中的类进行整理
经常做大项目的时候会设计很多的类,很容易弄混,查找也很麻烦。可以在classview中右击新建文件夹,
把性质类似的类拖到文件夹中
应用指数:★★★
成功率:100%
2.快速删除DEBUG文件夹中的临时文件
在fileview中选中标题(..files),右击,“清除(仅选定的)”
应用指数:★★★★
成功率:100%
3.如何干净的删除一个类
  首先在fileview下删除对应的头文件和源文件(此时并不是物理删除)
  然后从实际的文件夹中物理删除对应的头文件和源文件
  删除.clw,重新打开即可
应用指数:★★★★
成功率:100%
4.明明添加了一个类,却找不到了
直接删除.clw,重新编译即可
应用指数:★★★
成功率:100%
5.再次打开一个项目时,编译一次报错,错误是不能打开stdafx.h
此时可以删除debug下的所有obj文件
应用指数:★★★★
成功率:90%
6.在编写代码时,发现成员函数和变量的智能提示不能自动弹出来
关掉项目,删除.clw和 .ncb文件
应用指数:★★★★★
成功率:100%
7.如果把所要包含的头文件写在 include "stdafx.h"前面不起作用 把所要包含的头文件语句写在 include "stdafx.h"的后面或者直接写在stdafx.h中
应用指数:★★★
成功率:100%
8.如果你要和别人共享源代码,没有必要把文件夹下的所有文件拷贝。你可以删除一下文件:
.dsw,.ncb,.opt,.clw,.aps,.clw,.plg以及debug、release下的所有文件
应用指数:★★★★
成功率:100%
     ......

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

使用vc的设计工具进行编程的建议(2006-11-29 20:35:00)

摘要:转载:<<矢量图形系统开发与编程>>---陈建春著 1.必须在真正掌握程序的框架构造基础上使用工具 使用这些工具必须首先深刻理解程序的框架构造和这些工具的真正作用.初学者应该花费大量的精力弄懂MFC程序框架的组成结构,这样才能够游刃有余的控制程序.最不可取的是盲目使用它.具体的说,程序设计者只有在用手工能够熟练的完成工具所能自动完成的任务的前提下,再使用这些辅助编程工具(比如CLASSWIZARD,resourceview,classview).使用这些工具的目的是提高书写代码的效率,提高编程程序的速度,而不是用来代替程序设计 2.正确把握程序设计的要点 程序设计的能力体现在对数据的组织和控制.流程的控制上面,不同的计算机语言虽然各有特点,但是几乎所有的计算机语言其设计思想都是内在相通的.程序设计的能力的高低与采用哪中计算机语言没有必然的联系.现在计算机语言书籍多数集中在介绍各种语言的操作功能,缺少对读者进行程序设计实际能力的培养,给初学者造成一些错误的导向,比如盲目的追求语言版本.似乎只要用的语言版本越新,自己进行程序设计的能力就越强.结果是,一些学习程序设计的人,计算机语言的基础知识不牢固,对程序设计的基本思想和方法不明晰,对新出现的一些编程工具本质不了解,所以在进行具体任务的设计时盲目性很大,往往事倍功半,越搞越糊涂.所以用计算机语言进行程序设计,期望具有很高的程序设计能力,并不在于学了多少语句,函数,对象和方法,关键是要有明确的设计思路,把具体任务与程序的创建,编码,使用辅助编程工具等联系起来,对数据和流程进行组织和控制......

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

元数据小悟(2006-11-29 20:35:00)

摘要:
所谓元数据,就是数据的数据.什么意思呢?元数据就是关于数据的描述信息.它的目的经科学界讨论,主要是:促进数据集的高效利用,并为计算机辅助工程服务:
内容包括:
1.对数据集的描述,对数据集中个数据项,数据来源,数据所有者,以及数据序代的说明.
2.对数据质量的描述,如数据精度,数据的逻辑一致性,数据完整性,分辨率,元数据的比例尺;
3.对数据处理信息的说明
4.对数据转换方法的描述
5.对数据库的更新,集成等的说明
看到这里,大家是不是感到概念很抽象,呵呵,没有关系,这是我们专业GIS中的关于元数据的描述(你知道GIS把,地理信息系统).学过VC的人应该知道在VC中也有元数据的概念,它是以元文件设备上下文类形式CMetaFileDC出现的.下面我就谈谈这个.     首先,CMetaFileDC派生于CDC,当用户用元文件DC绘制时,在元文件中就会包含图形所有的绘制命令,注意不是绘制的图形,而是绘制的命令.下次再"播放"这个元文件的时候,它就会将命令重新操作一遍,得到的图形和上次一模一样.那么这样元文件和元数据概念就差不多了.它记录的只是关于这个图形的"数据",什么数据呢?绘制命令.这就是对上面的最好阐释.
具体步骤:
1.构造一个CMetaFileDC类对象,就和CClientDC一样
2.用Create函数创建一个设备上下文
3.绘制
4.调用Close函数来关闭设备上下文,这个不同于自动析构,用Close函数会返回一个元文件句柄(HMETAFILE)
5.调用播放函数 PlayMetaFile
6.删除元文件句柄 DeleteMetaFile     那么看到这里你可能会问了,这个元文件有什么作用呢?要绘制图形直接用CDC的其他派生类就完事了啊?比如CClientDC,CPaintDC.其实不然.你可能以前做过这样的程序:用鼠标左键进行连续绘制功能,为了提高效率,我们直接在响应WM_MOUSEMOVE消息的函数中进行,而不是等到WM_PAINT消息.但是这样的话,如果绘制了一些图形以后,然后最小化,再打开,图形就不见了,因为执行了刷新,而我们又没有处理WM_PAINT,所以就看不见了.
如果我们用元文件的......

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

(转载)VC入门一点体会(2006-09-24 15:37:00)

摘要:转载:白云小飞的BLOG   1。C/C++语法要全面,在学VC时要不断回头看看C/C++语法,因为VCMFC编程充分利用了C/C++方方面面特性,如果对C/C++某方面一知半解都有可能成为你理解上的拦路虎。

2。学习顺序安排如下:
C/C++  
-> Win32SDK程序主框架及与Windows相关API编程 
-> 理解MFC对话框框架并在此框架下学习编程  
->  专门花时间学习CObject及其相关特性(如运行类识别,动态创建、持久化等等的知识)
->理解单文档框架程序流程并在此框架下学习编程 
->理解多文档框架程序流程并在此框架下学习编程
->动态链接库技术
->多线程技术->。。。
3。在学习如上知识的同时还要同步学习和研究程序总体架构设计方面的技巧知识。

4。每一个阶段结束时都应专心完成一个小而完整的软件来,作为这个阶段的总结。这不仅仅学会如何应用所学的语法和局部的知识,还会学会如何从全局架构上去设计,而这一点才会成为我们真正的障碍。   相信对我们班的最有帮助了!......

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