[原创][Delphi]自定义类 ---哎,Delphi又让我BS了一次

今天写了一个自定义的类,用以计算平均数, 又发现我跟Delphi真是格格不入啊,多么简单的功能,而且C++版本的都写好了,可以参照着写,居然还是花了两个多小时才搞定. 先挖个坑,有空再来写
原创 | 2008-05-21 21:46 | 阅读 4501 次 | 评论 0 条

SendMessage函数完全使用手册

SendMessage函数完全使用手册首先 我们了解一下Windows的消息机制。Windows是一个消息驱动式系 统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进 行通信的手段。举个例子,打开记事本程序,该程序有一个 “文件“菜单。 那么,在运行该程序 的时候,如果用户单击“文件菜单“里的“新建“命令, 这个动作将被Windows所捕 捉,Windows经过分析得知这个动作应该由我们打开的记事本程序所来处理,然后 Windows就发送个消息 譬如我们编程的时候有时用到的 WM_COMMAND的消息给记 事本,然后记事本就把这个消息处理掉。 这个过程就...
VB | 2008-05-21 08:34 | 阅读 7067 次 | 评论 0 条

[VB]ListView控件小技巧

1. 让ListView失去焦点的时候,选中行依然高亮显示 方法: 代码中加入 ListView1.HideSelection = False 或者在其属性中设置 虽然失去焦点后,选中行变成灰色的,但是和其它的行还是有区别的 2. 调整ListView每行的间距 方法: 添加一个ImageList控件,然后在ImageList控件里面随便添加一副图片,图片的高度必须是你想设置的行高,然后设置ListView的SmallIcons 为 ImageList控件 (ListView1.SmallIcons = ImageList1) 曲线救国,虽然麻烦了点,但还是可以实现的,个人觉得...
VB | 2008-05-18 16:51 | 阅读 15315 次 | 评论 1 条

[VB]如何在RichTextBox中实现Undo功能

SendMessage函数在RichTextBox中实现:一、一次撤销功能二、无限地撤销功能生活中的What's done cannot be undone在我们的程序中应该改为What's done can always be undone。你不相信?那么请看——如果仅仅象MS的小记事本那样只有一次undo功能,那不是一件麻烦事,用SendMessage函数就可以轻松实现。下列代码能使RichTextBox有一次撤销操作的功能:Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hw...
VB | 2008-05-12 16:09 | 阅读 5262 次 | 评论 0 条

[原创]利用VSS进行代码控制(超详细图文解说)

前言: CCS: Code Composer Studio. TI公司出的用于DSP程序的IDE. 版本3.1VSS: Visual SourceSafe. 微软出的版本控制软件. 版本6.0c VSS一般用于小型软件开发中的版本控制,其功能比较简单,使用也比较简单.另外由于它是属于VS系列,所以它和vb,vc,vfp等软件的配合使用非常方便(据说还能用于access). CCS提供了版本控制的接口,只要机器上装了版本控制软件,就可以在CCS中利用它来对软件的版本进行控制.本文将介绍如何使用VSS对CCS中的程序进行版本控制. 第一部分 VSS的安装和服务器端配置...
原创 | 2008-04-03 15:15 | 阅读 10666 次 | 评论 0 条

[收集]文本比较

http://www.unmean.net/Wiki/wikiedit.aspx?topic=WikiDefault.%E6%96%87%E4%BB%B6%E6%AF%94%E8%BE%83%E7%AE%97%E6%B3%95 http://blog.csdn.net/jcodeer/archive/2007/10/20/1835006.aspx
默认分类 | 2008-03-31 13:20 | 阅读 3062 次 | 评论 0 条

VSS的使用

VSS使用简介 ? 版本控制软件Microsoft Visual Souce Safe6.0使用浅析 ? Microsoft Visual Souce Safe6.0是微软公司开发的版本控制软件,用于软件开发过程中的过程及版本管理,具有管理方便、使用简单的特点,很适合团队开发中的过程及版本控制。其使用步骤描述如下: 1.安装 ?在使用Microsoft Visual Souce Safe6.0的过程中,通常是采用一台机器作为服务器机,用于对软件的统一、集中存放管理;其它客户端机器连接该服务器上的相应数据库,以实现客户端机器之间的版本一致(或者使用一台客户端机器做为服务器,这...
C/C++ | 2008-03-28 15:12 | 阅读 6883 次 | 评论 0 条

[VC]VC提示找不到shsql.dll和eeswt.dll的解决方法

今天重装了一下VC6,把原来的创天中文版换成了英文版, 不是因为我的英文水平有所提高,而是有这么几个原因: 1.创天中文版翻译的实在太离谱了,很怀疑是用了一个什么软件自动翻译的.而且还有很多地方也没有翻译(同样是VS家族,怎么VB和VC的翻译水平就差了这么远呢?)2.基本对VC也熟悉了,基本不需要中文,不认识的单词猜一猜也能猜出来3.下载了一个不错的插件VAX,由于是外国人做的,这个插件不支持创天中文版 由于我的电脑上还有VB,所以只是在添加删除程序里面把VC卸载了,然后用了一个英文版的VS6,安装了VC 安装之后打开,就提示找不到"shsql.dll"这个文件,要我重装,我想想...
C/C++ | 2008-03-28 10:31 | 阅读 16186 次 | 评论 0 条

[原创][DSP]一些错误提示和解决方法

把调试程序的时候的一些错误提示和解决方法记录下来,有备无患 1.symbol referencing errors undefined first referenced symbol in file--------- ----------------_dot_asm E:\CCStudio_v3.1\MyProjects\dot_mpy_6211\Debug\main.obj>> er...
DSP & CCS | 2008-03-25 19:33 | 阅读 5285 次 | 评论 0 条

[原创][DSP]关于tsk和mbx

这两个都是DSP/BIOS中的,先大概介绍一下 tsk: task,任务.在Scheduling中,其优先级高于IDL(背景程序),低于SWI(软中断)和HWI(硬中断).可以被软硬中断打断,也可以被其它事件阻塞(blocked),顺便说一下,SWI和HWI是不能阻塞的.(阻塞和中断的不同,见我的另外一篇文章:CCS的一些问题) tsk和swi和hwi类似,可以调用一个函数,还可以传递多达8个参数,不同的tsk可以有15个优先级,执行任务的顺序相当于一个优先队列,如果一个tsk被阻塞,会自动将这个tsk放到同优先级tsk的后面,等待条件满足的时候执行. tsk有个重要的函数T...
原创 | 2008-03-20 19:10 | 阅读 5756 次 | 评论 0 条

[原创][DSP]关于硬件中断(HWI)的两个猜想

这两个猜想是我在用程序模拟HWI时(利用几个IRQ_开头的函数,具体查看CCS的帮助文件),多次测试之后的一点想法,不保证正确,因为TI的帮助文档没去看(因为讨厌鸟语). 使用软件是CCS3.1,利用其DSP/BIOS系统,这个系统的确方便. ======================================================= 先介绍一下几个和中断有关的寄存器 硬件中断总开关,CSR(Control Status Register)寄存器中的第0位GIE(Global interrupt enable),1表示允许中断(相当于打开大门),0表示禁止中断(...
原创 | 2008-03-20 16:05 | 阅读 4375 次 | 评论 0 条

[原创][DSP]CCS的一些问题

CCS版本:V3.1 1.run和animate的区别 如果没有断点的话,这两个没区别.如果有断点,那么run的时候到断点会停止,直到再次按run或者F5才继续执行.而Animate到断点的时候,会停一小会,将所有窗口刷新一遍,然后就继续执行 一般就是在要看数据变化的时候,先把曲线画出来,然后在改变数据的循环里面设个断点,然后用animate,就能看到图片动态改变了,可以参考Help->tutorial里面的"Code Composer Studio? IDE"->"Using Debug Tools"这一个教程 2.Probe Point 和Breakpoints的区别和联系 ...
原创 | 2008-03-17 15:38 | 阅读 6982 次 | 评论 0 条

[原创][VC]定义超大数组时,stack OverFlow的解决方法

stack overflow,堆栈溢出 (下文中,stack=栈=堆栈) 这次在写一个程序的时候,定义了一个比较大的int数组,发现大概元素个数超过25W个的时候,程序就不正常了,如果个数再多,还可能出现一个Windows错误,然后问要不要发送错误报告. 以前我也碰到过这个问题,不过一直就没去想怎么解决.今天突然一时兴起,就用单步调试试了一下,定义数组的时候没问题,但是在开始对数组赋值的时候,就会弹出一个Stack OverFlow的错误提示,有了程序的错误提示,那就好解决了,在百度上搜索了一下,就找到了解决方法. 如果是英文版:project -> setting -> lin...
C/C++ | 2008-03-13 11:26 | 阅读 22736 次 | 评论 0 条

[VB]注册全局热键

一般有两种方法, RegisterHotKey 和 Hook RegisterHotKey 的方法相对比较简单,就是向Windows注册这个热键,然后就能用了 ========================以下程序未经测试=============================== 新建立一个FORM~Private Sub Form_Load()Dim ret As LongpreWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf W...
VB | 2008-03-04 09:04 | 阅读 5453 次 | 评论 0 条

[vb]Winsock相关

利用Byte数组传输二进制文件 为什么在Winsock的ConnectionRequest事件中要调用Winsock1.close()? ConnectionRequest事件更好的一种处理方法 Winsock的方法属性 远程屏幕 冰河木马 用VB的WINSOCK控件发送大于8K的BMP
VB | 2008-03-03 18:21 | 阅读 2942 次 | 评论 2 条

[VB]byte数组和string相互转换

在vb里,byte数组和string可以互相赋值,利用这个特性处理字符串非常方便。 如果是处理大量文本,以下用法应该熟悉。 字符串与byte数组互相赋值: tbytes()=tstring tstring=tbytes() 需要注意的是,在vb内部字符串是unicode表示的,而asc函数返回的是ascii和gbk编码。因此,asc函数返回的编码值与上面的byte数组返回的值可能是不同的。 从ascii/gbk文本获得unicode数组: tbytes()=strconv(tstring,vbunic...
默认分类 | 2008-02-29 08:17 | 阅读 31541 次 | 评论 0 条

使用DLL进行不同语言之间的调用

__declspec(dllexport)是告诉编译器用来导出函数的,在代码中不另作说明了 extern "C"的意思就是用C的方式来导出函数,为什么要用C的方式来导出呢. 因为C++中有重载,编译器会对函数名进行更改,修饰成唯一的函数名. __stdcall告诉编译器函数调用方式.这点可以参考其他文章, 我预计也会在blog中写上一篇关于函数调用方式. C++编写的DLL extern "C" __declspec(dllexport) int Max(int x,int y) ...{ return x>y?x:y; } __declspec(dllexport) int ...
默认分类 | 2008-02-28 15:52 | 阅读 2048 次 | 评论 0 条

[原创]提取汉字点阵数据的相关知识

提取汉字点阵,一般是用于液晶屏显示,因为现在的液晶一般都是点阵式的,只要能获得汉字的点阵,就可以在液晶上显示所需的汉字,这样将极大的方便用户使用仪器和仪表. 这样就需要知道如何提取汉字点阵的数据,这些数据保存在系统的字库中 汉字字库分为两种,点阵字库和矢量字库,UCDOS中使用的是点阵字库,而Windows中采用的是矢量字库 点阵字库只能表示固定大小和固定字体的汉字,其实相当于一幅汉字的图片了,什么都不能改变,在DOS时代,这样已经是完全够用了,但是在Windows时代,汉字的表现变得丰富多彩了,如果使用点阵字库,将肯...
默认分类 | 2008-02-26 09:02 | 阅读 12482 次 | 评论 0 条

有趣的C程序(无关算法,只有想法)

#include<stdio.h> void main(char _) { for(--_;putchar(_++["J!Mpwf!Zpv\24\1"]-1);); } 注:里面的 \24 是我自己加上去的,在VC中多打印了两个感叹号,如果其它编译器不能通过的话,把这几个字删了 --------------------------------------------------------------------------------------- int main(){int i,a=2,b=6,r=0,n,z,e[4];for(i=4;i;--i,r=0){ --a;-...
C/C++ | 2008-02-22 08:08 | 阅读 2974 次 | 评论 0 条

[Delphi]DLL封装登录框架实现代码复用

DLL封装登录框架实现代码复用 (说明:发布在电脑编程技巧与维护2007年第4期上)摘 要 本文介绍用DLL封装通用的软件注册,系统登录对话窗体、修改密码窗体和关于窗体。形成登录框架,供不同软件系统调用,实现代码复用。 关键字 DLL,Delphi,登录对话,注册表,软件保护,代码复用 一、前言 在软件系统的开发过程中,为了维护软件所有者的权益和保证系统的安全性,软件需要注册授权后才能运行,操作员需要登录授权后才能登录使用。对于软件公司,这部分重复工作量很大。能不能把这部分功能封装起来,实现代码复用呢? 本文提出用DLL封装登录框架的新方法,新开发一个项目时,只需要几...
默认分类 | 2008-01-22 10:16 | 阅读 5695 次 | 评论 0 条