10 2013 档案

通过驱动向打印机发送一段(ESC)控制指令
摘要:这个功能看起来挺奇葩的, 写这个是因为有客户在使用驱动连接票据打印机, 但是又要开钱箱, 驱动里只能每张单据都开钱箱, 而这个打印机又不是只打印结帐单所以就需要用软件控制打印机开钱箱票据打印机一般都支持ESC/POS指令, 所以就出现了如下代码, 通过这个函数可以吧ESC/POS指令里的开钱箱指令发... 阅读全文

posted @ 2013-10-25 10:32 黑暗煎饼果子 阅读(7323) 评论(0) 推荐(0)

转一个希尔排序
摘要:procedure ShellSort(var AA: Array of Integer);var i, j, x, nTmp: Integer;begin x := 1; nTmp := High(AA) div 9; while (x 0) do begin for i := x to High(AA) do begin nTmp := AA[i]; j := i; while (j >= x) and (nTmp < AA[j - x]) do begin AA[j] := AA[j - x]; ... 阅读全文

posted @ 2013-10-22 11:05 黑暗煎饼果子 阅读(216) 评论(0) 推荐(0)

关于Memo或者Edit之类控件, 直接设置Text无法撤销的解决方案
摘要:昨天看到群里有人问使用Memo1.Text := '11111';来设置内容的代码无法使用Memo1.Undo的方式来撤销测试了一下果然如此, 跟踪了VCL代码, 发现Text := '11111'的方式使用的是WM_SETTEXT消息来设置内容, 而撤销似乎是需要类似"键入"之类的操作才能有效(猜测, 未实践)所以猜想了一下, 如果是使用类似选择然后键入文字的方式应该是允许撤销的然后查找了一遍Edit可以使用的消息发现了一个EM_REPLACESEL的消息, 是使用参数字符替换所选字符, 其参数的WParam为1表示可以撤销测了一下果然成功 阅读全文

posted @ 2013-10-16 10:02 黑暗煎饼果子 阅读(476) 评论(0) 推荐(0)