今天写了一个自定义的类,用以计算平均数,
又发现我跟Delphi真是格格不入啊,多么简单的功能,而且C++版本的都写好了,可以参照着写,居然还是花了两个多小时才搞定.
先挖个坑,有空再来写
SendMessage函数完全使用手册首先 我们了解一下Windows的消息机制。Windows是一个消息驱动式系 统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进 行通信的手段。举个例子,打开记事本程序,该程序有一个 “文件“菜单。 那么,在运行该程序 的时候,如果用户单击“文件菜单“里的“新建“命令, 这个动作将被Windows所捕 捉,Windows经过分析得知这个动作应该由我们打开的记事本程序所来处理,然后 Windows就发送个消息 譬如我们编程的时候有时用到的 WM_COMMAND的消息给记 事本,然后记事本就把这个消息处理掉。 这个过程就...
1. 让ListView失去焦点的时候,选中行依然高亮显示
方法: 代码中加入 ListView1.HideSelection = False 或者在其属性中设置
虽然失去焦点后,选中行变成灰色的,但是和其它的行还是有区别的
2. 调整ListView每行的间距
方法: 添加一个ImageList控件,然后在ImageList控件里面随便添加一副图片,图片的高度必须是你想设置的行高,然后设置ListView的SmallIcons 为 ImageList控件 (ListView1.SmallIcons = ImageList1)
曲线救国,虽然麻烦了点,但还是可以实现的,个人觉得...
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...
前言:
CCS: Code Composer Studio. TI公司出的用于DSP程序的IDE. 版本3.1VSS: Visual SourceSafe. 微软出的版本控制软件. 版本6.0c
VSS一般用于小型软件开发中的版本控制,其功能比较简单,使用也比较简单.另外由于它是属于VS系列,所以它和vb,vc,vfp等软件的配合使用非常方便(据说还能用于access).
CCS提供了版本控制的接口,只要机器上装了版本控制软件,就可以在CCS中利用它来对软件的版本进行控制.本文将介绍如何使用VSS对CCS中的程序进行版本控制.
第一部分 VSS的安装和服务器端配置...
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
VSS使用简介 ? 版本控制软件Microsoft Visual Souce Safe6.0使用浅析
?
Microsoft Visual Souce Safe6.0是微软公司开发的版本控制软件,用于软件开发过程中的过程及版本管理,具有管理方便、使用简单的特点,很适合团队开发中的过程及版本控制。其使用步骤描述如下:
1.安装
?在使用Microsoft Visual Souce Safe6.0的过程中,通常是采用一台机器作为服务器机,用于对软件的统一、集中存放管理;其它客户端机器连接该服务器上的相应数据库,以实现客户端机器之间的版本一致(或者使用一台客户端机器做为服务器,这...
今天重装了一下VC6,把原来的创天中文版换成了英文版,
不是因为我的英文水平有所提高,而是有这么几个原因:
1.创天中文版翻译的实在太离谱了,很怀疑是用了一个什么软件自动翻译的.而且还有很多地方也没有翻译(同样是VS家族,怎么VB和VC的翻译水平就差了这么远呢?)2.基本对VC也熟悉了,基本不需要中文,不认识的单词猜一猜也能猜出来3.下载了一个不错的插件VAX,由于是外国人做的,这个插件不支持创天中文版
由于我的电脑上还有VB,所以只是在添加删除程序里面把VC卸载了,然后用了一个英文版的VS6,安装了VC
安装之后打开,就提示找不到"shsql.dll"这个文件,要我重装,我想想...
把调试程序的时候的一些错误提示和解决方法记录下来,有备无患
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/BIOS中的,先大概介绍一下
tsk: task,任务.在Scheduling中,其优先级高于IDL(背景程序),低于SWI(软中断)和HWI(硬中断).可以被软硬中断打断,也可以被其它事件阻塞(blocked),顺便说一下,SWI和HWI是不能阻塞的.(阻塞和中断的不同,见我的另外一篇文章:CCS的一些问题)
tsk和swi和hwi类似,可以调用一个函数,还可以传递多达8个参数,不同的tsk可以有15个优先级,执行任务的顺序相当于一个优先队列,如果一个tsk被阻塞,会自动将这个tsk放到同优先级tsk的后面,等待条件满足的时候执行.
tsk有个重要的函数T...
这两个猜想是我在用程序模拟HWI时(利用几个IRQ_开头的函数,具体查看CCS的帮助文件),多次测试之后的一点想法,不保证正确,因为TI的帮助文档没去看(因为讨厌鸟语).
使用软件是CCS3.1,利用其DSP/BIOS系统,这个系统的确方便.
=======================================================
先介绍一下几个和中断有关的寄存器
硬件中断总开关,CSR(Control Status Register)寄存器中的第0位GIE(Global interrupt enable),1表示允许中断(相当于打开大门),0表示禁止中断(...
CCS版本:V3.1
1.run和animate的区别
如果没有断点的话,这两个没区别.如果有断点,那么run的时候到断点会停止,直到再次按run或者F5才继续执行.而Animate到断点的时候,会停一小会,将所有窗口刷新一遍,然后就继续执行
一般就是在要看数据变化的时候,先把曲线画出来,然后在改变数据的循环里面设个断点,然后用animate,就能看到图片动态改变了,可以参考Help->tutorial里面的"Code Composer Studio? IDE"->"Using Debug Tools"这一个教程
2.Probe Point 和Breakpoints的区别和联系
...
stack overflow,堆栈溢出
(下文中,stack=栈=堆栈)
这次在写一个程序的时候,定义了一个比较大的int数组,发现大概元素个数超过25W个的时候,程序就不正常了,如果个数再多,还可能出现一个Windows错误,然后问要不要发送错误报告.
以前我也碰到过这个问题,不过一直就没去想怎么解决.今天突然一时兴起,就用单步调试试了一下,定义数组的时候没问题,但是在开始对数组赋值的时候,就会弹出一个Stack OverFlow的错误提示,有了程序的错误提示,那就好解决了,在百度上搜索了一下,就找到了解决方法.
如果是英文版:project -> setting -> lin...
一般有两种方法, 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...
利用Byte数组传输二进制文件
为什么在Winsock的ConnectionRequest事件中要调用Winsock1.close()?
ConnectionRequest事件更好的一种处理方法
Winsock的方法属性
远程屏幕
冰河木马
用VB的WINSOCK控件发送大于8K的BMP
在vb里,byte数组和string可以互相赋值,利用这个特性处理字符串非常方便。 如果是处理大量文本,以下用法应该熟悉。 字符串与byte数组互相赋值: tbytes()=tstring tstring=tbytes() 需要注意的是,在vb内部字符串是unicode表示的,而asc函数返回的是ascii和gbk编码。因此,asc函数返回的编码值与上面的byte数组返回的值可能是不同的。 从ascii/gbk文本获得unicode数组: tbytes()=strconv(tstring,vbunic...
__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 ...
提取汉字点阵,一般是用于液晶屏显示,因为现在的液晶一般都是点阵式的,只要能获得汉字的点阵,就可以在液晶上显示所需的汉字,这样将极大的方便用户使用仪器和仪表.
这样就需要知道如何提取汉字点阵的数据,这些数据保存在系统的字库中
汉字字库分为两种,点阵字库和矢量字库,UCDOS中使用的是点阵字库,而Windows中采用的是矢量字库
点阵字库只能表示固定大小和固定字体的汉字,其实相当于一幅汉字的图片了,什么都不能改变,在DOS时代,这样已经是完全够用了,但是在Windows时代,汉字的表现变得丰富多彩了,如果使用点阵字库,将肯...
#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;-...
DLL封装登录框架实现代码复用
(说明:发布在电脑编程技巧与维护2007年第4期上)摘 要 本文介绍用DLL封装通用的软件注册,系统登录对话窗体、修改密码窗体和关于窗体。形成登录框架,供不同软件系统调用,实现代码复用。
关键字 DLL,Delphi,登录对话,注册表,软件保护,代码复用
一、前言
在软件系统的开发过程中,为了维护软件所有者的权益和保证系统的安全性,软件需要注册授权后才能运行,操作员需要登录授权后才能登录使用。对于软件公司,这部分重复工作量很大。能不能把这部分功能封装起来,实现代码复用呢?
本文提出用DLL封装登录框架的新方法,新开发一个项目时,只需要几...