![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Delphi CSDN Answer
kaguo
这个作者很懒,什么都没留下…
展开
-
OleVariant类型 转化到流,用于文件的存储、读取
用流savetofile给出VariantToStream和StreamToVariantprocedure VariantToStream (const V: OLEVariant; Stream : TStream);var P : Pointer;begin Stream.Position := 0; Stream.Size := VarArrayHighBound (V, 1) -原创 2004-09-09 16:23:00 · 907 阅读 · 0 评论 -
获取驱动器的类型
function Get_DiskSerialNo(DriveID : char) : string;var VolumeSerialNumber : DWORD; MaximumComponentLength : DWORD; FileSystemFlags : DWORD; ps:PChar; st:String; dt:DWORD;begin ps:=PChar(DriveID原创 2004-09-10 13:50:00 · 505 阅读 · 0 评论 -
ExtractShortPathName 返回一空的问题
ExtractShortPathName 是在当前驱动器上面实际情况,对于不同的机器就有可能出现不同的shortName所以文件必须存在才行原创 2004-09-10 13:55:00 · 630 阅读 · 0 评论 -
网络蚂蚁"和"FlashGet"的悬浮窗
最近有网友问道如何用 Delphi 实现"网络蚂蚁"和"FlashGet"的悬浮窗口相关技巧做了整理如下:http://dev.csdn.net/develop/article/13/13175.shtm (oopsware原作)原创 2004-09-10 14:09:00 · 985 阅读 · 0 评论 -
一些文件操作函数
FileAge 函数 返回文件已存在的时间 FileClose 命令 关闭指定的文件 FileCreate 命令 用指定的文件名建立新文件 FileDateToDateTime 函数 将DOS的日期格式转换为原创 2004-09-10 14:40:00 · 707 阅读 · 0 评论 -
可设置进度颜色的ProgressBar控件(colorProgressBar)
unit colorProgressBar;interfaceuses Classes, ComCtrls, Graphics, Controls, Windows;type TcolorProgressBar = class(TprogressBar) private { Private declarations } Fcolor:Tcolor; proce原创 2004-09-10 15:13:00 · 929 阅读 · 0 评论 -
TdxTreeList怎样在程序中实现自动列宽
其实是自己判断了列宽自己调整的没有直接属性procedure TForm1.dxTreeList1CustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow:原创 2004-09-10 16:54:00 · 1086 阅读 · 0 评论 -
通过发送消息enable、check鼠标指向的控件
针对想点中其它软件中的某个控件的问题var Pmouse: TPoint; hClientWindow,hWindow:Thandle;begin //enable 一个控件 GetCursorPos(pMouse); hWindow:=WindowFromPoint(pMouse); Windows.ScreenToClient(hWindow,pMouse); hClientWi原创 2004-09-10 17:03:00 · 876 阅读 · 0 评论 -
点中窗体来移动窗体
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin ReleaseCapture;//释放原先的 SendMessage(self.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);//点中标题原创 2004-09-10 17:05:00 · 757 阅读 · 0 评论 -
调用程序,并获得程序结束信息
procedure TForm1.Button3Click(Sender: TObject);var? ExitCode: cardinal;? ExecInfo: TShellExecuteInfo;begin? ZeroMemory(@ExecInfo,SizeOf(ExecInfo));? with ExecInfo do begin??? cbSize := SizeOf(ExecInfo原创 2004-09-10 17:08:00 · 701 阅读 · 0 评论 -
如何在ADO中设置记录书签
这个问题问的人也很多var? bk: TBookmark;begin? if adodsVresult.Active and (adodsVresult.RecordCount > 0) then? begin??? bk := adodsVresult.GetBookmark;??? //操作数据库这里???? if adodsVresult.BookmarkValid(bk) then//原创 2004-09-13 13:56:00 · 897 阅读 · 1 评论 -
如何高速操作大量数据
with ADOQ.RecordSet dobegin MoveFirst; while not EOF do begin FBegDateStrs.Add(Fields[BEG_DATE].Value); //FBegDateStrs is a TStringList FEndDateStrs.Add(Fields[END_DATE].Value); //FEndDat原创 2004-09-13 14:12:00 · 754 阅读 · 0 评论 -
关于定位文件中的位置,截断文件
procedure Seek(var F; N: Longint);定位Truncate(var F);截断后面的,标志位文件结尾原创 2004-09-13 14:34:00 · 848 阅读 · 0 评论 -
PostMessage和SendMessage有什么区别?
在控制别的应用程序的时候,经常需要等待直到某个功能结束,例如:打开一个窗口-->等待直到窗口结束这个时候就可以用到SendMessage如果在打开这个窗口后仍然需要对该窗口的界面进行设置,比如Edit的value等等,比如:打开一个窗口-->控制窗口的control的属性这个时候就需要PostMessage使用一个钩子程序截获消息后,使用SendMessage把消息发送到主处理程序进行处理,但原创 2004-09-13 15:42:00 · 4185 阅读 · 2 评论 -
如何判断一段中文是gb3213还是Big5编码的?
//判断big5实现如下procedure TForm1.Button1Click(Sender: TObject);var i:Integer; str:string;beginstr:=該如何讓他正常怯換到繁體呢;//str:=能支持互转的软件并不多;for i := 1 to length(str) do if Not odd(i) then if Byte(str[i])原创 2004-09-13 14:46:00 · 2468 阅读 · 0 评论 -
无需Dll实现的全程鼠标Hook
该方法能够监控到form 外面的鼠标移动情况,无需Dll实现unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TBut原创 2004-09-10 13:38:00 · 640 阅读 · 0 评论 -
目录操作 直接选择目录的两种形式、强制建立多级目录
直接选择目录的两种形式(SelectDirectory)突然注意到该选择有两种样式这是由于调用的方式不同,该方法有重载var dir:string;begin Dir := C:/; SelectDirectory(FileCtrl,c:/,Dir);//1 SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, s原创 2004-09-07 11:41:00 · 640 阅读 · 0 评论 -
解决MDI相同的窗口被重复打开
Dll声明唯一的frmChild:TfrmChild;调用的时候子窗体的调用函数if Not assigned(frmChild) then frmChild:=TfrmChild.create(Self);try frmChild.Show;finally frmChild.free; frmChild:=Nil;end;已经创建的就不会再创建,只能Show出来原创 2004-09-09 16:34:00 · 535 阅读 · 0 评论 -
透明的控件Groupbox,RadioGroup
interfaceuses Windows, Messages, Controls, Classes, StdCtrls, ExtCtrls;type TTransGroupBox = class(TGroupBox) private protected procedure WMEraseBkGnd(Var msg: TWMEraseBkGnd); message WM_ERA原创 2004-09-09 17:17:00 · 1850 阅读 · 0 评论 -
截取图像一部分 TRect
procedure TForm1.Button3Click(Sender: TObject);var Bitmap: TBitmap; MyRect, MyOther: TRect;begin MyRect := Rect(0,0,100,100); MyOther := Rect(0,101,100, 200); Bitmap := TBitmap.Create; Bitmap.原创 2004-09-09 17:42:00 · 687 阅读 · 0 评论 -
动态调整显示器分辨率
Delphi提供了可以动态改变屏幕分辨率的函数,分别是EnumDisplaySettings()和ChangeDisplaySettings()。有了它们,编程时可以随时改变分辨率以适应要求。下面的CRTReset函数能方便实现这一功能: implementation function CRTReset(X, Y: Word): Boolean; var lpDevMode: TDe原创 2004-09-09 17:46:00 · 767 阅读 · 0 评论 -
FastReport 分页
用一个叫LINER#的变量可以分页,看看REPORT的示例中有或者解释脚本使用FreeSpace函数确定在当前页中有多少空白区域。如果不够,调用NewPage过程插入“手工分页符”并开始新一页。if FreeSpace * 5/18 < 30 then NewPage原创 2004-09-09 17:57:00 · 1999 阅读 · 1 评论 -
free 多个同类控件的循环错误
循环出现的计数错误是因为free的过程改变了ComponentCount,所以只能反向freefor i := Form1.ComponentCount-1 downto 0 do begin if Form1.Components[i] is Tedit then Form1.Components[i].Free; end;原创 2004-09-01 21:14:00 · 437 阅读 · 0 评论 -
怎样用openDialog选取目录
可以用 selectDirectory (須uses FileCtrl)var dir:string;begin Dir := C:/; if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then showmessage(dir);原创 2004-09-01 21:51:00 · 822 阅读 · 0 评论 -
Delphi 控制鼠标到控件区
procedure MoveMouseIntoControl(AWinControl: TControl);var rtControl: TRect;begin rtControl := AWinControl.BoundsRect; MapWindowPoints(AWinControl.Parent.Handle, 0, rtControl, 2); SetCursorPos(rtCo原创 2004-09-02 11:03:00 · 645 阅读 · 0 评论 -
delphi 相关网站
http://www.jazarsoft.com/codebook/index.php一些delphi code的列表原创 2004-09-09 17:14:00 · 474 阅读 · 0 评论 -
移动鼠标到控件 MapWindowPoints
// 移动鼠标到控件procedure MoveMouseIntoControl(AWinControl: TControl);var rtControl: TRect;begin rtControl := AWinControl.BoundsRect; MapWindowPoints(AWinControl.Parent.Handle, 0, rtControl, 2); SetCu原创 2004-09-09 17:47:00 · 1073 阅读 · 0 评论 -
Delphi 新建项目的缺省设置存储位置
Delphi 新建项目的缺省设置存储位置位于delphiX/bin/defprof.dof中原创 2004-09-29 11:46:00 · 869 阅读 · 0 评论 -
D7 语言手册 见闻
1、一个控制台程序program Greeting;{$APPTYPE CONSOLE}var MyMessage:string;veginMyMessage := Hello World!;Writeln(MyMessage);end.Save to GREETING.PAS or GREETING.DPRwin DCC32 Greetinglinux dcc Greeting2、Unit框原创 2004-09-29 13:19:00 · 1180 阅读 · 0 评论 -
打印怪异纸张问题 有时候会设置无效
用的是15×11的纸张。在delphi中自定义设置381×279.4,可打印的时候只显示左边部分。得先用Custom Size 设置一次,设为381*279.4, Apply,再换成 Default Size 设置一次,再Apply,Ok还有打印机要设为纵向打印(默认打印机)原创 2004-09-02 11:01:00 · 699 阅读 · 0 评论 -
DELPHI中Interface的问题
jinzhili (跑) 问声明了两个接口。有两个实现类。遇到一个问题特来求教。 if1 = interface procedure show(); end; if2 = interface procedure if2show(); end; TShixian = class(TInterfacedObject,if1) procedure show(); end原创 2004-09-01 21:00:00 · 984 阅读 · 0 评论 -
Borland ALM
Borland ALMApplication Lifecycle ManagementFor Java,.Net.& C++定义CaliberRM设计Toghther开发JBuilderC#BuilderC++BuilderDelphiC++BuilderX测试OptimizeitSuiteOptimizeitServerTrace部署Borland Enterprise ServerJaneva原创 2004-10-15 09:31:00 · 819 阅读 · 0 评论