摘要: 除了循环以外,有没有更好的方法统计数据窗口中处于选中状态的行数?方法一: long ll_Selected ll_Selected = long(dw_1.describe("evaluate('sum( if(IsSelected(), 1, 0) for all)',1)")) 方法二: long ll_Selected ll_Selected = long(dw_1.describe("evaluate('count(IsSelected() for all)',1)")) 方法三:upperbound(dw_1.O 阅读全文
posted @ 2010-10-21 16:45 lenya 阅读(141) 评论(0) 推荐(0) 编辑
摘要: // ... Init docname // ... GetFileOpenName or any other methodif dw_1.SaveAs(docname, HTMLTable!, True) = -1 then MessageBox("Warning", "Unable to export data. Error writing to file!", Exclamation!)return end if // Convert HTML file to Excel native format OLEObject excel excel = 阅读全文
posted @ 2010-10-21 16:40 lenya 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 怎样对分组里的行加上序号,要求每个组里行的序号从1开始! --------------------------------------------------------------- 用计算域,放在明细区: getrow() - first(getrow() for group 1) + 1 --------------------------------------------------------------- first(getrow() for group 1) 可以取得每一组的第一行的行号 --------------------------------------------- 阅读全文
posted @ 2010-10-21 16:39 lenya 阅读(1185) 评论(0) 推荐(0) 编辑
摘要: 如何连续在同一张纸打印两个数据窗口?dw_1.object.datawindow.print.filename="temp.prn"dw_2.object.datawindow.print.filename="temp.prn"dw_1.print()dw_2.print() 阅读全文
posted @ 2010-10-21 16:38 lenya 阅读(170) 评论(0) 推荐(0) 编辑
摘要: string szselectszselect=dw_1.describe("datawindow.table.select")szselect=dw_1.describe("datawindow.table.sqlselect")szselect=dw_1.describe("datawindow.table.select.attribute")szselect=dw_1.getsqlselect() 阅读全文
posted @ 2010-10-21 16:37 lenya 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 用消息WM_NCACTIVATE Constant Long WM_NCACTIVATE = 134 //86h Send(Handle(dw_1),WM_NCACTIVATE,1,0) //变兰 ;1=>0恢复 注:具体消息参数请查找MSDN 阅读全文
posted @ 2010-10-21 16:34 lenya 阅读(141) 评论(0) 推荐(0) 编辑
摘要: declare lup dynamic procedure for sqlsa;msql="update mma set stock_gd = stock_gd - 10 where m_id like '"+mlike+"%'"prepare sqlsa from :msql;execute dynamic lup;close lup; 阅读全文
posted @ 2010-10-21 16:32 lenya 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 接着前面提到过的如何写Event Log到NT Server一文,此处将实现Store procedure中写Event Log到NT Server的功能。其实,写Event Log到NT Server还是采用vb COM实现,而在此处所做的是在Store procedure中调用该VB COM。首先介绍几个SQL Server自带的Store Procedure。1:sp_OACreate 建立自动操作对象的一个实例 这里自动操作对象可以是 ActiveX EXE、COM、Shell等。其中还可以利用wscript.Shell进行入侵攻击(扯远了)。 可以采用如下方式创建COM: EXEC 阅读全文
posted @ 2010-10-21 16:27 lenya 阅读(185) 评论(0) 推荐(0) 编辑
摘要: Winsock提供了一个有用的异步I / O模型。利用这个模型,应用程序可在一个套接字上, 接收以Windows消息为基础的网络事件通知。具体的做法是在建好一个套接字后,调用 WSAAsyncSelect函数。 异步通知,但不提供异步数据传送。异步数据传送有“重叠及完成端口模型提供”。 要想使用WSAAsyncSelect模型,在应用程序中,首先必须用CreateWindow函数创建一个窗口,再为该窗口提供一个窗口例程支持函数( Winproc)。亦可使用一个对话框,为其提供一个对话例程,而非窗口例程,因为对话框本质也是“窗口”。 int WSAAsyncSelect ( SOCKET s,. 阅读全文
posted @ 2010-10-21 16:26 lenya 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 有什么函数可以得到桌面区大小和得到任务栏的高度? --------------------------------------------------------------- 任务栏的高度? uses shellapi; procedure TForm1.Button1Click(Sender: TObject); var abd:TAppBarData; begin abd.cbSize:=sizeof(abd); SHAppBarMessage(ABM_GETTASKBARPOS,abd); Caption:=IntToStr(abd.rc.Bottom-abd.rc.Top); end 阅读全文
posted @ 2010-10-21 16:25 lenya 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 类 别:用户界面 你是不是有时觉的你的应用程序的子窗口弹出的方式是不是太单调呢,最近本人学习API函数时发现了一个可以让你的子窗体用不同的方式弹出的函数,函数原形为: BOOL AnimateWindow( HWND hwnd, // handle to window DWORD dwTime, // duration of animation DWORD dwFlags // animation type );参数说明: 1。hwnd : 一个你要显示窗体的句柄。 2。dwTime : 完成显示操作的时间。(一般为500-1000,你可以自己调节) 3。dwFlags : 这是一个关键的东东 阅读全文
posted @ 2010-10-21 16:24 lenya 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 在处理事务的时候,一般都用RollBack Transaction来回滚,但是如果在嵌套事务中这样使用的话,就会出现错误。 在SqlServer里,嵌套事务的层次是由@@TranCount全局变量反映出来的。每一次Begin Transaction都会引起@@TranCount加1。而每一次Commit Transaction都会使@@TranCount减1,而RollBack Transaction会回滚所有的嵌套事务包括已经提交的事务和未提交的事务,而使@@TranCount置0。例如: Begin Transaction -- @@TranCount = 1 BeginT... 阅读全文
posted @ 2010-10-21 16:24 lenya 阅读(219) 评论(0) 推荐(0) 编辑
摘要: API Function List - 32 Bit:FUNCTION ulong AbortDoc(ulong hdc) LIBRARY "gdi32.dll" FUNCTION ulong AbortPath(ulong hdc) LIBRARY "gdi32.dll" FUNCTION ulong AbortPrinter(ulong hPrinter) LIBRARY "winspool.drv" FUNCTION ulong AbortSystemShutdown(ref string lpMachineName) LIBR 阅读全文
posted @ 2010-10-21 16:20 lenya 阅读(562) 评论(0) 推荐(0) 编辑
摘要: CREATE PROCEDURE sp_defragment_indexes @maxfrag DECIMALAS --王成辉翻译整理,转贴请注明出处--声明变量SET NOCOUNT ONDECLARE @tablename VARCHAR (128)DECLARE @execstr VARCHAR (255)DECLARE @objectid INTDECLARE @objectowner VARCHAR(255)DECLARE @indexid INTDECLARE @frag DECIMALDECLARE @indexname CHAR(255)DECLARE @dbname sysn 阅读全文
posted @ 2010-10-21 16:18 lenya 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 流水号连续生成的问题解决方法育龙网 WWW.CHINA-B.C0M 2009年08月26日 来源:互联网育龙网核心提示:解决方法方法一:采用最大号表的形式在数据库中创建一个表专门存放其他数据库的最大流水号,table_maxOrderID {table1_max,table2_max};在向数据库中插入数据的时候,首先想table_maxOrderId表查询到当前表的最大号,然后保存到数据库中。优点:效率高缺点:号码浪费大一些(例如保存的时候失败了,那么这个号码就浪费了。)方法二:采用抢号的形式这个不需要创建最大号表,在向数据库中保存数据的时候,获取当前表的最大流水号。例如:select ma 阅读全文
posted @ 2010-10-21 16:11 lenya 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 在现在面向对象的编程的时代,代码重用是个永远值得讨论的话题,关于PB代码的重用,不少人都有提过,不过我觉得有些观点是不适当的,如何提高PB代码的重用性,我谈谈我的看法. 首先说的应该就是如何在PB程序内部实现代码的重用.这个相信大家都比较熟悉,那就是面向对象编程的3个关键:继承,封装,多态.相信用过PB一段时间的人都熟悉如何做到这3点,继承,封装不说了,多态也可以通过函数重载的方式实现. 上面说的是在一个程序项目中如何重用代码,就是说这些代码都是源代码.那对于非原代码的已有PB代码资源如何利用呢? 最常用的应该就是如何利用PBD了. 在开发环境中包含PBD应该是最常用的方法,也就是说,将P.. 阅读全文
posted @ 2010-10-21 16:07 lenya 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 鉴于现在很多朋友询问 pb 数据导出到excel 中的问题,导出去后格式和数据类型不对了,自己写了几个用户对象,希望能抛砖引玉,加强技术交流,得到大家的支持。1. nvo_excel 只要是两个接口函数导出数据存储的数据,可以定义 excel 的标题public function integer uf_toexcel (datastore ads_data, readonly string as_title)导出数据窗口的数据,可以定义 excel 的标题public function integer uf_toexcel (datawindow adw_data, readonly stri 阅读全文
posted @ 2010-10-21 16:04 lenya 阅读(1597) 评论(0) 推荐(0) 编辑
摘要: windows消息 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,[编辑本段]消息定义 它在Windows单元中是这样声明的: type TMsg = packed record hwnd: HWND; / /窗口句柄 message: UINT; / /消息常量标识符 wParam: WPA... 阅读全文
posted @ 2010-10-21 16:03 lenya 阅读(186) 评论(0) 推荐(0) 编辑