Delphi
文章平均质量分 70
tobelost
这个作者很懒,什么都没留下…
展开
-
像Windows 一樣地查詢
Win2K + Delphi5 + SQL Server2K 編譯通過,執行正常。const sMAIN_SQL = SELECT ...FROM ... WHERE (...) //用到別名,故下有"A.fItemNo"等 sEMPTY = ; sITEM_TYPE = fItemType;procedure SelectStock;var stItemNo, stIt原创 2003-05-30 14:20:00 · 676 阅读 · 0 评论 -
在ListView 的Column Header上显示任意图片
uses Form, ImgList, CommCtrl;procedure SetHeaderImage(const AListView: TListView; const AImageList: TImageList; const AColIdx, AImgIdx: Integer;原创 2008-07-18 11:55:00 · 931 阅读 · 0 评论 -
精确缩放图片 Resize Picture
这个方法比 Canvas.StretchDraw 要精确,故名。经整理更具可读性。源:http://www.andyz.go.ro/ (andyz@go.ro)procedure ResizeBitmap(AInImg, AOutImg: TBitmap; const ATgtWid, ATgtHgt: Integer);const n_MaxPixCnt = 32768;type PR转载 2008-01-16 14:40:00 · 1684 阅读 · 0 评论 -
有预览的颜色选择下拉框
从网上找到的,原来的代码画框(Rectangle),改进为画块(FillRect),并保持画块前的画布属性。function GetSelectedColor(const AIndex: Integer): TColor;begin case AIndex of 0: Result := clYellow; 1: Result := clRed; 2: Result :=转载 2008-01-29 18:36:00 · 1234 阅读 · 0 评论 -
针式打印机进纸,退纸
EPSON的进纸退纸指令在它的说明文档里有:ESC J n 进纸 n/180 inchESC j n 退纸 n/180 inch0 我们常遇到的问题是要退一页或者几页!例如我通过驱动程序操作打印机,即不直接写端口(如LPT1),自定义纸张打标签,标签高才3.83cm,如果在代码里设置自定义页为15*3.83cm,打印机绝对按A4走纸,那就浪费不只一两个标签,想不浪费就要手动进纸,退纸。原创 2008-01-22 15:17:00 · 9006 阅读 · 0 评论 -
如何取得LPT端口打印机支持的 最小和最大页面大小
由于工作需要,经朋友 (DS,FT)指点,先贴工作中代码,至于使用USB端口打印机,日后再说。 TPrinterSett = record PrinterName: string; MinPaperSize: TPoint; MaxPaperSize: TPoint; end;private FPrnSett: TPrinterSett; uses Print原创 2007-08-15 17:44:00 · 1158 阅读 · 0 评论 -
如何知道COM端口在使用中
假如机器上原来有两个COM口,COM1和COM2安装了一个USB设备后,这个USB设备使用了VCP(virtual com port)把COM3占用了,当我安装另一个新设备时,我如何知道哪些COM口已被分配呢?通过设备管理器无疑是可以看出来,那如何编程实现呢?uses Windows, SysUtils, Registry, Math;const n_MaxComPortCnt =原创 2007-07-02 14:33:00 · 6754 阅读 · 0 评论 -
EPSON 针式打印机 直接打印条形码
虽有帮助文件,还有网络可供参考,最后还是打EPSON客服电话才搞明白。菜!说明是这样的:ESC ( B n1 n2 k m s V1 V2 C data,具体含义请看相关文档,我的文档只读…如果这样发就死定了,我就死了好多回: #27 + (B 14 0 5 3 0 40 0 0 + 12345678;正确的写法是:#27 + (B + Chr(14) + Chr(0)原创 2007-07-02 14:15:00 · 3645 阅读 · 3 评论 -
在Delphi中使用Interface而不使用Variant控制Microsoft Excel
此文背景: 最近,我想通过Interface完全控制数据排版格式导出到Excel。不愿意使用Variant是因为Variant操作慢,编码时需清晰Excel对象层次结构,调试不方便。摸索过程: 基本的操作简单,我搞不定的就是PageSetup与选定一列或一行。别看下面代码简单,我可是花了一天半时间看,搜,问(太菜,惭愧中...)。此文目的: 数据共享并期望数据共享。procedu原创 2004-08-06 15:13:00 · 2775 阅读 · 2 评论 -
Sender 的應用:所有Edit共用一個過濾格式
1. 所有的Edit 都只允許輸入數字,即只可以輸入一次小數點2. 不想對多達幾十個的Edit 都寫onKeyPress 事件那你就寫一個,其它的全部在Object Inspector 中指向這一個:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);var IntCompIdx: Integer; stText:原创 2003-07-10 10:04:00 · 765 阅读 · 0 评论 -
簡單的Windows API示例
說明: 一:新建一個工程,移除Form1。選擇Project/View source,拷貝下面的源代碼覆蓋已有的代碼。保存(如:D:/Projects/Source/WinAPI/WinAPI.dpr)。 二:新建WinAPI.inc文件到保存工程的目錄,用記事本打開,鍵入如下代碼: const cm_About = 101; //此處一定要回車,原创 2003-11-13 00:08:00 · 994 阅读 · 0 评论 -
FloatToFrac
function Chars(const ACount: Integer; const AChar: Char = ): string;var i: Integer;begin Result := ; if ACount SetLength(Result, ACount); for i := 1 to ACount do Result[i] := AChar;en原创 2008-07-29 16:11:00 · 442 阅读 · 0 评论