具体要求:
1、计算机及相关专业专科以上学历,有2年以上的工作经验;
2、精通Delphi并有运用Delphi成功开发项目的经验;
3、熟悉网络开发,有控件开发经验者优先考虑;
4、熟悉软件工程,具有良好的开发习惯,能正确使用版本控制工具;
5、具有很强的团队合作和吃苦耐劳的精神,具有一丝不苟的工作作风和认真负责的工作态度。
工作地点:
杭州
工资待遇:
试用期1-2个月,2500-3000
转正后4000-5000
工作时间:
9:00—12:00 13:30--18:00 (单休或调休)
有意向者联系本人qq:914003679(请注明应聘),或直接拨打公司电话:0571-87157782
公司网址:http://www.caiyufu.com/ ......
Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid.Focused then
begin
SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_UP,0);
end;
end
else
begin
if DBGrid.Focused then
SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_DOWN,0);
end;
Handled:= True;
end;
end;
需要在Form创建的时候写入
Application.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件 ......
偶然来找一个文件,却发现这里关于vc++和Delphi的讨论很是激烈。看了大家写的一些
文章,觉得有些看法正确,有些就很偏颇甚至错误(也许无知?很抱歉我这样说:-)。我
无意与任何人争论,更愿意把这看成是技术上的讨论。应该本着公正,不带偏见的态度
(这并不意味着非要平分秋色,一切应以事实为准)。我用过除tp1以外的所有版本的
turbo pascal,所有版本的turbo c/borland c++,所有版本的delphi和c++ builder;
以及msc 5.0/6.0,msc/c++ 7.0和visual c++ 4.2/5.0。不敢说有多高的水平,至少也
算有一点经验吧。下面就谈一下我的看法。
1. 编译器
应该说borland的编译器是最好的。因为borland有全世界最好的编译器开发组(虽然
anders hejlsberg离开了)。从技术上来讲,borland领先任何竞争对手至少2~3年。一
般来说,borland的编译器总是能生成更小的代码并且通常(并不是在任何情况下)更快
的代码。
紫云英、曾登高在文章中说vc++编译的程序小,这其实是使用了动态连接的结果。m$把
vc++的运行库(msvcrt*.dll, msvcp*.dll, mfc*.dll, 你看看这些文件加在一起有多大)
在安装windows时就放在了system/system32目录中了。两位说“协商接口”的问题,恐
......
偶然来找一个文件,却发现这里关于vc++和Delphi的讨论很是激烈。看了大家写的一些
文章,觉得有些看法正确,有些就很偏颇甚至错误(也许无知?很抱歉我这样说:-)。我
无意与任何人争论,更愿意把这看成是技术上的讨论。应该本着公正,不带偏见的态度
(这并不意味着非要平分秋色,一切应以事实为准)。我用过除tp1以外的所有版本的
turbo pascal,所有版本的turbo c/borland c++,所有版本的delphi和c++ builder;
以及msc 5.0/6.0,msc/c++ 7.0和visual c++ 4.2/5.0。不敢说有多高的水平,至少也
算有一点经验吧。下面就谈一下我的看法。
1. 编译器
应该说borland的编译器是最好的。因为borland有全世界最好的编译器开发组(虽然
anders hejlsberg离开了)。从技术上来讲,borland领先任何竞争对手至少2~3年。一
般来说,borland的编译器总是能生成更小的代码并且通常(并不是在任何情况下)更快
的代码。
紫云英、曾登高在文章中说vc++编译的程序小,这其实是使用了动态连接的结果。m$把
vc++的运行库(msvcrt*.dll, msvcp*.dll, mfc*.dll, 你看看这些文件加在一起有多大)
在安装windows时就放在了system/system32目录中了。两位说“协商接口”的问题,恐
......
当A D O开始处理数据后,应用程序必须等到A D O处理完毕之后才可以继续执行。但
是除了同步执行方式之外, A D O也提供了异步执行的方式,允许当A D O处理时,
应用程序仍然能够先继续执行。而当A D O处理数据完毕之后, A D O会以事件的方
式通知应用程序,此时应用程序可以再根据A D O执行的结果来采取相应的动作。
使用异步执行方式有许多用途,例如,如果应用程序需要处理花费大量时间的动
作,那么A D O可以选择以异步执行方式让A D O在后台执行,而让应用程序继续处
理图形用户接口或用户输入的数据。
在A D O中使用异步执行方式非常简单,只需要对A D O数据集的E x e c u t e O p t i o n s
属性值进行适当的设定即可。现在就让我们以一实际的范例应用程序来说明如何让
A D O以异步的方式来处理数据。
下载
1) 在D e l p h i集成开发环境中关闭所有的项目。
2) 建立一个新的应用程序项目,在主窗体中放入TA D O C o n n e c t i o n对象连接到
数据库。
3) 在主窗体中放入TA D O D a t a S e t组件。设定它的C o n n e c t i o n属性值为步骤2) 的
TA D O C o n n e c t i o n,并且在它的C o m m a n d Te x t属性值中使用Se ......
Chr 将一个有序数据转换为一个ANSI字符
Ord 将一个有序类型值转换为它的序号
Round 转换一个实型值为四舍五入后的整型值
Trunc 转换一个实型值为小数截断后的整型值
Int 返回浮点数的整数部分
IntToStr 将数值转换为字符串
IntToHex 将数值转换为十六进制数字符串
StrToInt 将字符串转换为一个整型数,如字符串不是一个合法的整型将引发异常
StrToIntDef 将字符串转换为一个整数,如字符串不合法返回一个缺省值
Val 将字符串转换为一个数字(传统Turbo Pascal例程用于向后兼容)
Str 将数字转换为格式化字符串(传统Turbo Pascal例程用于向后兼容)
StrPas 将零终止字符串转换为Pascal类型字符串,在32位Delphi中这种类型转换是自动进行的
StrPCopy 拷贝一个Pascal类型字符串到一个零终止字符串, 在32位Delphi中这种类型转换是自动进行的
StrPLCopy 拷贝Pascal类型字符串的一部分到一个零终止字符串&n ......
在网上也看到了一些提升进程令牌的函数但都不怎么好用,最后我还是从一个黑客后门程序的源代码中提取出了一个好的提升进程令牌的函数,不敢独享,跟大家分享下.那个后门真的写的很好...
Hysia提示你:
这个函数用在对付病毒的程序中效果很好,只有提升自身权限才能KILL掉病毒进程我曾写写出来尝试结束Winlogon进程,导致的结果是,我的电脑立刻蓝屏后重启!
//提升进程权限为DEBUG权限
procedure SetPrivilege;
var
OldTokenPrivileges, TokenPrivileges: TTokenPrivileges;
ReturnLength: dword;
hToken: THandle;
Luid: int64;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(nil, 'SeDebugPrivilege', Luid);
TokenPrivileges.Privileges[0].luid := Luid;
TokenPrivileges.PrivilegeCount := 1;
TokenPrivileges.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, False, TokenPrivileges, SizeOf(TTokenPrivileges), OldTokenPrivileges, ReturnLengt ......