- 博客(61)
- 资源 (2)
- 收藏
- 关注
原创 Directx----索引缓冲区
<br />索引缓冲<br /> 很多时候,相邻的三角形会共用一些顶点,例如组成四方形的两个三角形就共用了一条边,即共用了两个顶点信息。如果不使用索引,我们需要六个顶点的信息来绘制这个四方形,但实际上绘制一个四方形只要四个顶点信息就足够了。如果使用了索引就不一样了,在顶点缓冲区里我们可以只保存四个顶点的信息,然后通过索引来读取顶点信息。要使用索引得先创建一个索引缓冲。也许读到这里你会有个疑问,创建一个索引缓冲不就更浪费内存空间了吗?其实不然,索引缓冲区的元素保存的是数字,一个数字所占用的内存肯定要比一个
2011-03-25 17:40:00 1456
原创 directx---D3DPRESENT_PARAMETERS结构讲解
<br />struct D3DPRESENT_PARAMETERS{<br />UINT BackBufferWidth;<br />UINT BackBufferHeight;<br />D3DFORMAT BackBufferFormat;<br />UINT BackBufferCount;<br />D3DMULTISAMPLE_TYPE MultiSampleType;<br />DWORD MultiSampleQuality;<br />D3DSWAPEFFECT SwapEffect;<b
2011-03-25 17:18:00 1561
原创 DirectX D3DMULTISAMPLE_TYPE是什么意思,请问怎么用的
<br />是屏幕抗锯齿方式 <br /><br />屏幕都是一个个象素点组成的,画线的时候会出现锯齿,通过设置这个参数可以降低锯齿现象 <br />但是会牺牲显存和渲染的速度的 <br />它是硬件支持的特性,如果硬件不支持就不能设置<br />缺省的设置为NONE方式——不支持全屏幕抗锯齿功能 <br />要设置成什么样的方式合适,要看你的显示卡的类型了 <br />通过d3d枚举,可以罗列所有的支持的抗锯齿的方式 <br /><br />在dxsdk的例子当中,使用F2更改设备选项的对话框,当中有这个
2011-03-25 16:41:00 1284
原创 case integer of 的理解
case integer of在delphi的结构中非常常见那么怎么会出现这样的定义方式呢?例如: TRect=record Case Integer Of 0:(Left,Top,Right,Bottom:integer); 1:(TopLeft,BottomRight:TPo
2009-09-01 14:01:00 3117 1
原创 DELPHI 的第一个内嵌汇编程序
程序的功能是做次方运算 procedure TForm1.Button1Click(Sender: TObject);begin //proc(1,2,3); ShowMessage(IntToStr(cf(2,0))); {1024}end;function TForm1.cf(x, n: integer):integer;asm MOV ec
2009-06-03 16:05:00 996
转载 delphi下使用jclDebug,在运行时显示详细的调试堆栈信息的范例
delphi的异常信息比起java来太简单了,java的异常不但有错误提示,还有详细的堆栈信息甚至还能分级,可以一直追溯到最顶级的异常发生处,非常方便。相比较而言delphi的异常就太小儿科了。不过jcl 提供的jclDebug多多少少的弥补了这个不足,通过jcldebug,也可以在运行时获取到详细的异常堆栈信息了。这个功能简直太棒了,假如在24小时不间断运行的服务器上加上jclDebug,当错误
2009-03-02 17:58:00 5681 1
原创 最近在分析代码中的一些发现,以前没有注意到。
1、delphi 下的STRING类型 在delphi下如果直接赋值常量字符串长度仅仅为255 例如 var a :string a := aaaaaaaaaaaaaaa; 上边的‘’内仅仅可以拥有255个字符。但是如果进行运算操作后,STRING的长度就变了 例如 a := 222222+2222 这个时候A的长度就可以超过255了。2、动
2009-02-05 18:19:00 727
原创 vc 编译连接选项
vc 编译连接选项 大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能
2008-11-12 11:11:00 671
原创 什么是好的架构!
1. 目标我们希望一个好的架构能够:1.1. 重用:为了避免重复劳动,为了降低成本,我们希望能够重用之前的代码、之前的设计。重用是我们不断追求的目标之一,但事实上,做到这一点可没有那么容易。在现实中,人们已经在架构重用上做了很多的工作,工作的成果称为框架(Framework),比如说Windows的窗口机制、J2EE平台等。但是在企业商业建模方面,有效的框架还非常的少。1.2. 透明:有些时候,我
2008-09-11 17:09:00 1507 1
原创 C++中的指针的指针的含义。
关于指针的指针郁闷很久了,一直不知道该怎么用,和其中每个元素的含义 ,今天又空搞了下,明白点了,写下来,以便以后参考。我写了如下代码: char * arr[20]; /*########################################################## 关于int **p的应用范围的问题,通常他被当作是一个指针数组的##指针,那么这个指针通常是这样
2008-07-18 15:08:00 822
转载 Hash
Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。根据上边的话我们可以总结一下,HASH就是将输入的值进行压缩映射。这是HASH的目的。hash
2008-07-03 15:34:00 1999
原创 GetMessage PeekMessage
最近在忙活进程通讯的东西,其中在A进程中有个通讯线程ATHREAD,B进程中有通讯线程Bthread,研究了半天这个THREAD该怎么写,研究结果如下。1、线程中创建一个窗口。这个窗口的消息循环需要在线程中,2、处理线程的消息循环代码如下 while (PeekMessage(message,0,0,0,PM_REMOVE)) do //这里如果没有消息就继续 begi
2008-05-28 19:08:00 2625
原创 软件架构师的工作职责
function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/storeit.
2008-04-06 22:35:00 3759 1
原创 什么叫架构师
什么叫架构师 系统分析员属于Analyst角色组合,与其相比,架构师则是属于Developer 角色组里的一个角色,一个非常重要的角色。架构师的职责及工作描述The software architect role is responsible for the software architecture, which includes the key technical decis
2008-04-06 22:34:00 2671
原创 判断内存流中的图片格式
procedureTForm1.BitBtn4Click(Sender:TObject);varMyImage:TMemoryStream;Buffer:Word;i:integer;beginifOpenDialog1.ExecutethenbeginMyImage:=TMemoryStream.Create;MyImage.LoadFromFile(OpenDialog1.FileName);
2008-02-28 17:50:00 931
原创 WINDOWS MEDIA Format 之 EnumCodec
void CEnumCodecDlg::EnumCodec()...{ ::CoInitialize(NULL); //定义一个ProfileManager; IWMProfileManager * pProfileMgr = NULL; //HRESULT hr = WMCreateProfileManager() // Create Profile Ma
2008-01-29 16:11:00 973
原创 VC++快捷键大全
F1: 帮助Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有书签F2 :上一个书签Shift+F2 :上一个书签Alt+F2 :编辑书签Ctrl+F2 :添加/删除一个书签F12 :Goto definitionShift+F12 :Goto referenceCtrl+Num+ :Displays the next symbol
2007-11-23 11:18:00 912
原创 接口的生存期管理
依据我的常识(此处是编程常识,不是Delphi使用常识)来讲,我认为接口是不需要生存期管理的,因为接口根本不可能生成真正的对象。但是Delphi却又一次打击了我的常识(咦,为什么要说“又”呢?),它的接口是有生存期的,而且必须实现以下三个方法:function QueryInterface(con
2007-11-06 15:06:00 769
原创 一个读取速度超快的FileStream
最近一直为自己制作的相册软件(http://www.tonixsoft.com/ultraalbum/index.php?lang=chs)打开大文件时速度慢而郁闷,我以前的做法是先用TFileStream打开一个文件,然后在其中找到其中的数据段,把其中内容复制给一个TMemoryStream,之
2007-11-06 15:02:00 969
原创 按名字调用方法高级解决方案
按名字调用方法似乎一直以来都是大家比较关注的技术,在论坛上有一个经典的答复: type TProcedure = procedure(Test: string) of object; procedure ExecuteRoutine(Obj: TObject; Name, Param: string); var PMethod: TMethod; AProcedure: T
2007-11-06 15:01:00 1292
原创 基本算法(用 PASCAL 描述)
var style=;var url=http://www.e-midas.cn/count/; 基本算法(用 PASCAL 描述)1.数论算法 求两数的最大公约数 function gcd(a,b:integer):integer; begin if b=0 then gcd:
2007-11-06 14:52:00 1152 1
原创 领取了社保生育保险
需要携带的资料,1 本人身份证,户口本,结婚证及生育证明原件及复印件(可以到隔壁复印,0.50元一张)2 配偶身份证,户口本,结婚证3 银行软卡(有转帐功能),请先咨询12333,不是每个银行的卡都可以。。。据我知道,工商,建设,浦发的可以4 如果是委托他人代领,需要委托书和代领人身份证 名称
2007-07-02 14:43:00 3201
转载 delphi 快捷键
Ctrl+PageUp 将光标移至本屏的第一行,屏幕不滚动。 Ctrl+PageDown 将光标移至本屏的最后一行,屏幕不滚动。 Ctrl+↓ 向下滚动屏幕,光标跟随滚动不出本屏。 Ctrl+↑ 向上滚动屏幕,光标跟随滚动不出本屏。 Ctrl+Shift+NUM 在光标行设置最多九个临时标志号,对临时切换非常有用。
2007-05-29 11:46:00 806
原创 mfc中控件更随窗体变化而变化1
void CTestDlg::OnSize(UINT nType, int cx, int cy){ CDialog::OnSize(nType, cx, cy); if (nType==SIZE_RESTORED){ CStatic * myStatic = (CStatic *)GetDlgItem(1000); if(myStatic!=NULL&&IsWin
2007-05-21 22:24:00 867
原创 安全的鼠标全局钩子---代码粘贴
一个鼠标全局钩子做了3天,3天里充分理解了温故而知新的道理,呵呵。大道理少讲现在我们来 看代码:1、Hook Dll Code: Mouse unit MouseHook; interfaceuses Win
2007-05-15 10:51:00 1183
原创 设计模式学习笔记 一
一、什么是模式? 无论我们学什么东西,我们都需要先搞清楚它是什么,不然我们学了半天等于白学了。那么模式是什么呢?模式总的来说,模式是在实践中被检验过的前人的经验和范例,在类似情况下它具有普遍性。我们身边就有很多模式比如孙子兵法中36计就是36种战争模式,各种商业运营模式,也都是模式。各种模式的存在都有它的特定环境,在这些环境下它可以解决特定的问题。 从上边我们不难总结出
2007-04-12 16:22:00 725
原创 BDS2006的Update2,安装后显示需要重新注册的解决办法
今天下载了BDS2006的Update2,安装后显示需要重新注册。查了网上一些资料,解决办法如下首先确定关闭BDS在BDS2006安装目录下查找sanctuarylib.dll用ultraedit打开,找到地址000197a0处,找到“75 04”,改成“75 00”打开BDS即可
2007-04-11 11:18:00 1140
转载 BASM(Borland汇编语言)精要
BASM(Borland汇编语言)精要 3.1 BASM概念简要 汇编语句由指令和零至三个表达式构成。表达式由常数(立即数)、寄存器和标识符构成。例如: movsb // 单指令语句 jmp @Here // 一个表达式: 标识符 add eax,1 // 两个表达式: 寄存器和立即数 // 三个表达式: 寄存器, 标识符(内存地址), 立即数 imul edx, [e
2007-04-09 16:01:00 2175
原创 delphi中嵌套一个ASM的总结
今天用BASM实现了一个ADD的方法代码,实现的过程中我最初写下了如下的代码:function Add(const a,b:integer):integer;asm Mov EAX,DWORD ptr[a]; Mov EBX,DWORD ptr[b]; ADD EAX,EBX; Mov Result ,EAX; DB $F3; RET;end; 上边的
2007-04-09 13:45:00 1161
原创 我的宝宝有了他/她的乳名!
终于想到了一个乳名,叫乐乐,取这个名字就是希望他可以每天快快乐乐的成长.不知道名字叫智康怎么样.哎总算有点成绩吧,继续努力给即将到来的小生命想至少我和她/他妈妈都觉得合适的名字,哈哈
2007-04-05 00:41:00 868
原创 谈谈我们如何积累
软件开发,在现在软件开发中,快速开发大行其道。众多公司都要求自己的开发人员在短期的开发过程中能够,尽快的,高质量的开发出符合自己公司需求的产品。那么如何能够快速高质量的开发出好的产品呢?积累在这里就起到了很大的作用。 我们用盖房子作为一个隐喻先来说明积累的作用(不确定这个隐喻一定准确,只表术自己的想法):我们盖一个房子,首先要有设计图。有了设计图,那么我们就需要有原料,这里的原料指的是砖,
2007-04-03 12:01:00 1145
原创 谈积累
软件开发,在现在软件开发中,快速开发大行其道。众多公司都要求自己的开发人员在短期的开发过程中能够,尽快的,高质量的开发出符合自己公司需求的产品。那么如何能够快速高质量的开发出好的产品呢?积累在这里就起到了很大的作用。 我们用盖房子作为一个隐喻先来说明积累的作用(不确定这个隐喻一定准确,只表术自己的想法):我们盖一个房子,首先要有设计图。有了设计图,那么我们就需要有原料,这里的原料指的是砖,
2007-04-03 10:45:00 1402
原创 E908
机,浏览N多手机网站,问遍友人N多高手前辈,终于决定在三星里面挑,深入研究才发现,怎么三星的手机都 这么像?继续在网上收集三星各款手机资料,照片都很漂亮,犹豫,非常犹豫。挑到头大,还是决定去看 实物,到三星专卖,看E908一眼,决定了,就是它了。呵呵,感觉自己头大得冤枉。 既然已经决定了三星E908,就要开始挑卖家了,一开始考虑了淘宝,但是仔细一算,淘宝是可以找到“最 低”价,但是把邮费加进去,
2006-12-05 11:27:00 5218 1
UML参考手册PDF
2008-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人