- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 Add CheckBox to TreeView
SetNodeChecked和IsNodeChecked是在网络上copy的,出处很多,我也不知道谁是原创的,故不指明出处,仅指明转载CheckTreeView是本人原创,因为没找到一个类似的函数,个人觉得这个函数用了Hack技巧,不是正规方法,如果您知道其他方法,望不吝赐教my email:mail549@gmail.comprocedure CheckTreeView(TreeView: TC
2005-11-15 16:27:00
1782
原创 得到ConnectionString中的特定信息
好久没写东西了,也没什么好写的,只好拿一个小函数来充数:(type TConnInfo = record ServerName: String; UserName: String; PassWord: String;end;function GetServerNameUserNameAndPassWord(ConnString: String):TConnInfo;//549@
2005-09-07 11:04:00
1343
原创 GetEIP
今天突然想到一个问题,想得到eip,于是有了下面的函数//程序原理参见任何一本汇编教程里关于ret和call的解释,本人表达能力有限,恕不献丑 function GetEIP: Integer; asm pop eax push eax sub eax, 5//call GetEIP占用5字节 end;不过在调试中发现某些场合如果不修正这5个字节,效果反而更好functio
2005-07-21 14:33:00
1839
原创 关于SQLDMO的使用
关于SQLDMO的使用2005-4-5 16:13:52lw549 sqldmo.dll是一个com,安装SQLServer后位于Program Files/Microsoft SQL Server/80/Tools/Binn文件夹下,关于sqldmo能做什么的问题,不是本文讨论的重点,这里只说明如何使用该com,现在开始。 第一步,导入sqldmo,生成类型说明文件。 打开De
2005-04-05 16:18:00
5806
原创 遍历菜单项
//遍历任何窗体的MenuItem//用了两个多小时//略做修改,就可以实现其他功能,GetMenuItemInfo提供的信息足够用了procedure ExplorerMenuItem(MenuHandle: THandle);var MenuIndex: Integer; MenuCaptionArray: array[1..255] of Char; MenuCaptionStrin
2005-02-25 17:30:00
1706
原创 DBGrid中用光标键控制Cell
{////////////////////////// //// Grids549 //// //// 14:33 2005-2-17 //// //}////////////////////////unit Grids549;interface
2005-02-17 16:01:00
1519
原创 如何在ToolBar中显示文字和图标,自定义图标大小,并和MenuItem关联
要注意以下几个方面,先后顺序未必正确,有可能多设几次1.设置ToolBar可以显示文字ToolBar.ShowCaption := True;2.设置ToolButton大小ImageList.WidthImageList.Height3.设置菜单关联4.设置运行时显示图标(这个是关键)ToolButton.Menuitum.ImageIndex要保证MenuItem所在的MainMenu没有
2005-02-01 15:00:00
8129
原创 忽然之间厌倦了
QQ每天都上只是隐身,群里的消息每天都看,两个Blog、Csdn、Qunluo每天都巡视一下,只是没有参与的欲望,论坛里几乎不回帖,QQ里问什么就回答什么,而且暴简单,除了自己感兴趣的技术问题以外没有说话的欲望,不知道从什么时候开始变得不爱说话,就这样,每天早晨打开csdn,blog,mail,qunluo,qq……企盼有新颖的一天,每天都郁闷地离开。晚上,删除了一些从来没聊过的QQ好友,其实聊过
2005-01-23 20:34:00
1693
10
原创 拷贝DBGrid当前行
procedure CopyCurrentDBLine(DBGrid: TDBGrid);var i: Integer; Line: String;begin for i := 0 to DBGrid.Columns.Count - 1 do begin if Assigned(DBGrid.Columns.Grid.Fields[i]) then if Line =
2005-01-17 12:47:00
1573
原创 [Warning] :Symbol 'CmdShow' is specific to a platform
{$WARN SYMBOL_PLATFORM OFF} winexec(NotePad, cmdShow); {$WARN SYMBOL_PLATFORM ON}实在没什么可写的
2005-01-13 16:54:00
2774
原创 取得字符串中指定子字符串出现第n次的位置,效率不高,勉强可用
function GetNSubStringPos(N: Integer; SubString,AString: String): Integer;//返回第n个SubString在AString中出现的位置//如果没找到,返回-1var FindCount: Integer; Pos: Integer;begin Result := -1; Pos := 0; for FindCoun
2005-01-05 11:46:00
4062
2
原创 创建快捷方式到[启动]
//根据zswang和"超级猛料"部分函数改编//比放到注册表里麻烦多了function GetSpecialFolderDir(const folderid:integer): String;var pidl: pItemIDList; buffer: array[0..255] of char;begin//取指定的文件夹项目表//CSIDL_STARTUP:启动 SHGetSpecia
2004-12-28 12:54:00
1517
转载 zt:时间协议(Time Protocol)
时间协议(Time Protocol)IT.com.cn(IT世界)2004-10-14 13:12:00 文/ 此协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的是以秒数,是从1900年1月1日午夜到现在的秒数,天哪,也不小呢。 设计这个协议的一个重要目的在于,网络上的许多主机并没有时间的观念,在分布式的系统上,我们可以想一
2004-12-21 13:52:00
1985
原创 有时候,汇编比高级语言更易懂
检查某一位是否为1,如果用高级语言就麻烦得多function CheckBit(AByte:Byte; Pos: Byte): Boolean; Assembler;//76543210asm MOV CL, DL; //Pos in DL SHR AL, CL; //AByte in AL AND AL, 1; //Result in ALend;
2004-12-07 13:08:00
1387
7
原创 防止sql注入的简单方法
检查输入内容,如果包含敏感字符则删除敏感字符敏感字符包括: >然后再拼凑SQL语句如果先拼凑,再过滤,工作量就大了,而且副作用太多
2004-12-07 13:04:00
1260
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人