随笔分类 -  DELPHI VS PASCAL

摘要:var pSource,pDest:PChar; len: integer;.......................//一些代码Move(pSource,pDest,len); //错误Move(pSource^,pDest^,len); //正确看起来确实好像是传值,而不是传地址,但是各位别忘了,这不是C,C++,而是DelphiObject Pascal,所以,绝不能从函数调用的方法判断是传值还是串地址!!必须看函数的定义,只有定义才能说明是传值还是传地址,再说一遍,这不是C,C++!!我们看到的函数定义是这样的procedure Move(const Source; var Des 阅读全文

posted @ 2012-03-15 14:41 严武 阅读(5394) 评论(0) 推荐(0) |

摘要:WORD MAKEWORD( BYTE bLow,// low-order byte of short value BYTE bHigh// high-order byte of short value);((WORD) (((BYTE) (a)) | ((WORD) ((BYTE) (b))) << 8)) makeword是将两个byte型合并成一个word型,一个在高8位,一个在低8位 makelparam、makelong和makewparam都是一样的,将两个word型合并成一个dword型。一个在高16位,一个在低16位delphi:word((byte(a)) or 阅读全文

posted @ 2012-03-15 11:30 严武 阅读(1820) 评论(0) 推荐(0) |

摘要:?1.Property Name : Typeread Getter|nodefault; ?2.Property Name : Type write Setter; ?3.Property Name : Type read Getter write Setter; ?4.Property Name : Type Index Constant read Getter {default : Constant|nodefault;} {stored : Boolean}; ?5.Property Name : Type Index Constant write Setter {default : 阅读全文

posted @ 2011-12-14 16:14 严武 阅读(3725) 评论(0) 推荐(0) |

摘要:在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?FormatMessage 可以, 但这个函数太复杂了; 可以用 SysErrorMessage 代替它.举例:var err: string;begin err := SysErrorMessage(ERROR_INVALID_HANDLE); ShowMessage(err); {句柄无效。}end;下面就是用 SysErrorMessage 获取的部分系统错误信息表:信息常数常数值对应信息ERROR_SUC... 阅读全文

posted @ 2011-11-22 10:15 严武 阅读(831) 评论(0) 推荐(0) |

摘要:strFileName := FcxLV[nIndex].Items.Item[FcxLV[nIndex].ItemIndex].SubItems.Strings[0]; //路径 ShellExecute(0, nil, PChar('explorer.exe'),PChar('/e, ' + '/select,' + strFileName), nil, SW_NORMAL); 阅读全文

posted @ 2011-09-23 14:19 严武 阅读(2016) 评论(0) 推荐(0) |

摘要:非常实用的东西!过去知道这个方法的话可以解决多少问题啊首先建立一个C#的DLL工程,写一个类//Test.csnamespaceTest...{publicclassMyTest...{publicstringFun()...{returnthis.ToString();}}},编译然后在cmd里执行VS的vsvars32.bat设置环境变量,然后执行regasmcscomtest.dll/tlb:cscomtest.tlb/codebaseMicrosoft (R) .NET Framework 程序集注册实用工具1.1.4322.573版权所有 (C) Microsoft Corporat 阅读全文

posted @ 2011-09-15 12:58 严武 阅读(1944) 评论(0) 推荐(0) |

摘要:procedure imgListMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);privateprocedure WMNCHITTEST(var Msg: TWMNCHITTEST); message WM_NCHITTEST;procedure TfrmStartHit.WMNCHITTEST(var Msg: TWMNCHITTEST);const cOffset = 10;var vPoint: TPoint;begin inherited; vPoint := Scr 阅读全文

posted @ 2011-08-31 15:28 严武 阅读(689) 评论(0) 推荐(0) |

摘要:unitUnit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ActiveX,ComCtrls, RxRichEd,ImageOleLib_TLB;//RxRichEd单元是Rxlib下的RxRichEdit,一套增强功能的RichEdit//ImageOleLib_TLB是从qq的ImageOle.dll引入的类型库const IID_IOleObject: TGUID = ( D1: $00000112; D2: $0000; D3: $ 阅读全文

posted @ 2011-08-18 23:02 严武 阅读(628) 评论(0) 推荐(0) |

摘要:第一步: 使用过Activex的人都知道,Activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的Activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在Windows的system文件夹下有一个regsvr32.exe的程序,它就是Windows自带的Activex注册和反注册工具。它的用法为:regsver32详解 regsvr32 [/s] [/n] [/i(:cmdline)] dllname其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。 参数有如下意义: /u——反注册控件 / 阅读全文

posted @ 2011-08-18 23:00 严武 阅读(1765) 评论(0) 推荐(0) |

摘要:我们一般在调用了一些API后都会用GetLastError来获得错误信息,但是信息都是Integer的,我们知道是什么意思么?嘿嘿,是的,有msdn呀,当然还可以用FormatMessage函数来.正好看了下Windows核心编程第一章有个例子,来用Delphi试一下.主要用了FormatMessage函数,具体用法和注意事项就很多了,大家可以看MSDN了.Unit UtMain;InterfaceUses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CxGraphics 阅读全文

posted @ 2011-08-17 12:33 严武 阅读(933) 评论(2) 推荐(0) |

摘要:if MessageDlg('Welcome to my Delphi application. Exit now?',mtConfirmation, [mbYes, mbNo], 0) = mrYes thenbeginClose;end;MessageDlg用法对话框类型:mtwarning——含有感叹号的警告对话框mterror——含有红色叉符号的错误对话框mtinformation——含有蓝色i符号的信息对话框mtconfirmation——含有绿色问号的确认对话框mtcustom——不含图标的一般对话框,对话框的标题是程序的名称按钮组中的按钮:mbYes——mrYes 阅读全文

posted @ 2011-08-16 08:59 严武 阅读(270) 评论(0) 推荐(0) |

摘要:delphi在RichEdit控件中插入GIF动画表情在UDP即时通讯软件中实现类似于QQ的动画表情,在richEdit控件中插入gif动画表情。发送的时候将表情转为命令,接收之后,再将命令转换为相应的动画表情。需要引用一个QQ的DLL,文件在附件中。将此DLL导入到DELPHI中。unit URichEdit;interfaceusesWindows, Messages, SysUtils, Classes, Controls, StdCtrls, ActiveX, ComCtrls,RxRichEd, OleServer, ImageOleLib_TLB, coconst, UConst, 阅读全文

posted @ 2011-08-10 23:53 严武 阅读(1578) 评论(0) 推荐(0) |

摘要:beginbmp:=TBitmap.Create;jpeg:=TJPEGImage.Create;jpeg.LoadFromFile(fname);withbmpdobeginPixelFormat:=pf24bit;Height:=60;Width:=self.RzListBox.Width;Canvas.Brush.Color:=$00F0EDE6;Canvas.FillRect(Canvas.ClipRect);Canvas.StretchDraw(Bounds(0,0,80,60),jpeg);end;//这里你可以用save之类的方法了bmp.Free;jpeg.Free;----- 阅读全文

posted @ 2011-08-10 16:44 严武 阅读(2535) 评论(0) 推荐(0) |

摘要:(1)方法1varIcon : TIcon;Bitmap : TBitmap;begin Icon := TIcon.Create; Bitmap := TBitmap.Create; Icon.LoadFromFile('c:\picture.ico');//Load an ICOfrom File Bitmap.Width := Icon.Width; Bitmap.Height := Icon.Height; Bitmap.Canvas.Draw(0, 0, Icon ); Bitmap.SaveToFile('c:\picture.bmp'); //Co 阅读全文

posted @ 2011-08-10 16:20 严武 阅读(1019) 评论(0) 推荐(0) |

摘要:uses RichEdit;{将RichEdit1的内容保存为图片,此函数也适合于RxRichEdit,即RichEdit: TRxRichEdit}procedure RichEditToCanvas(RichEdit: TRichEdit; Canvas: TCanvas; PixelsPerInch: Integer);varImageCanvas: TCanvas;fmt: TFormatRange;beginImageCanvas := Canvas;with fmt dobeginhdc:= ImageCanvas.Handle;hdcTarget:= hdc;rc:= Rect( 阅读全文

posted @ 2011-08-10 10:05 严武 阅读(1497) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3