
Delphi基础
文章平均质量分 79
LuckyJan
这个作者很懒,什么都没留下…
展开
-
查找目录或文件的几种方法
(A)指定文件查找function TForm1.findSpecFile(sDirectory,fName:string):boolean;var sr: TSearchRec ;begin if FindFirst(sDirectory+fName, faAnyFile, sr) = 0 then begin FindClose(sr); result:=true; end原创 2004-10-10 13:57:00 · 3276 阅读 · 1 评论 -
中国农历算法(delphi)
// 节日算法 请参见 《农历与西历对照、万年历》unit CNYear;interfaceuses sysutils;type TCNDate = Cardinal;function DecodeGregToCNDate(dtGreg:TDateTime):TCNDate; function GetGregDateFromCN(cnYear,cnMonth,cnDay:word;原创 2004-10-09 11:35:00 · 2882 阅读 · 0 评论 -
应用程序中当前路径的两中写法、COM中当前路径取得
ExtractFilePath()函数返回值最后包含 "/"///////////// 应用程序当前路径 ///////////// ExtractFilePath(paramstr(0)) ExtractFilePath(application.ExeName)///////////// COM中当前路径 ///////////// .... .... TC原创 2004-10-09 09:23:00 · 1470 阅读 · 0 评论 -
TextFile读写
function readFromFile:string;var s,s2:string; F:TextFile; begin OpenDialog1.FileName:=; OpenDialog1.Filter:=*.XML|*.xml; s:=; result:=; if not OpenDialog1.Execute then exit; assignfi原创 2004-10-09 11:01:00 · 1645 阅读 · 0 评论 -
直接访问WebBrowser控件中的HTML源码
直接访问WebBrowser控件中的HTML源码 ---- 为了实现在自己的程序中显示HTML文档,我们一般采用IE(Internet Explorer本文中简称为IE)发行时附带的一个ActiveX控件 TWebBrowser。这个控件使用和IE相同的内核,功能强大,并从Delphi5开始,正式得到Inprise公司的支持,取代了原来的那个 THTML控件,成为Delphi中原创 2004-10-09 10:27:00 · 1681 阅读 · 1 评论 -
小知识,如Form淡出、捕捉Form最小化
(*)Form淡出1)AnimateWindow(Form1.Handle,1000,AW_BLEND);//淡入 AnimateWindow(Form1.Handle,1000,AW_HIDE or AW_BLEND);//淡出2)窗体有AlphaBlend属性和AlphaBlendValue属性,将AlphaBlend属性设为True,然后在Timer组件中随着时间改变AlphaBlendV原创 2004-10-09 10:25:00 · 1496 阅读 · 0 评论 -
网络函数库
{============================================================= 功 能: 网络函数库 时 间: 2002/10/02 版 本: 1.0 备 注: 没有事情干,抄抄写写整理了一些网络函数供大家使用。 希望大家能继续补充===============================================原创 2004-10-09 10:20:00 · 1256 阅读 · 0 评论 -
选择一个网路邻居
================= 选择一个网路邻居 =====================function SelectComputerName(handle: hwnd; var ComputerName: string): boolean;var BrowseInfo: TBrowseInfo; ItemIDList: PItemIDList; cName: array[0原创 2004-10-09 10:18:00 · 1156 阅读 · 0 评论 -
delphi 常用函数
Abort 函数 引起放弃的意外处理Abs(real) 函数 绝对值函数AddExitProc 函数 将一过程添加到运行时库的结束过程表中Addr(variant) 函数 返回指定对象的地址AdjustLineBreaks 函数 将给定字符串的行分原创 2004-10-09 10:13:00 · 1507 阅读 · 0 评论 -
(Delphi)如和下载网络文件的例子
FTP下载: http://www.7880.com/Info/Article-19938be0.html http://community.youkuaiyun.com/Expert/topic/3300/3300012.xml?temp=5.028933E-02FTP下载: TIdFTP控件 (Delphi7 Indy)Http下载: (Delphi7)使用设计Indy控件下载网络文件原创 2004-10-15 09:39:00 · 2197 阅读 · 1 评论 -
如何接受消息,中断正在处理的过程
var Interrupt:boolean;procedure TForm1.Button5Click(Sender: TObject);begin memo1.Lines.Add(Button5Click OK); Interrupt:=true;end;procedure TForm1.Button6Click(Sender: TObject);var i,j,n:integer;原创 2004-10-15 15:07:00 · 1767 阅读 · 0 评论 -
设置可以从Windows资源管理器拖文件到 Form 上的 Momo
{如何在Delphi程序中支持文件拖放支持文件拖放关键在于两点:1、使程序能接收WM_DROPFILES 消息;2、在WM_DROPFILES 消息的响应程序中取得被拖放的文件名,然后进行相应处理。使程序能接收WM_DROPFILES 消息 首先,需要调用WINAPI DragAcceptFiles(handle,True);其中的handle为要接收 WM_DROPFILES消息原创 2005-02-06 09:44:00 · 1963 阅读 · 0 评论 -
点击DBGrid的Title对查询结果排序
//欲实现点击DBGrid的Title对查询结果排序,想作一个通用程序,不是一事一议,//例如不能在SQL语句中增加Order by ...,因为SQL可能原来已经包含Order by ...,//而且点击另一个Title时又要另外排序,目的是想作到象资源管理器那样随心所欲。procedure TfrmChild.DBGrid1TitleClick(Column: TColumn);var Sq原创 2005-02-06 10:34:00 · 2247 阅读 · 1 评论 -
无标题窗口的移动
在Delphi编程中有时要对无标题窗体进行移动,以下就结合本人的经验介绍几种对无标题窗体移动的方法。 方法一: 通过响应“wm_NCHitTest”消息来移动窗体。Windows发送“wM_NCHitTest”消息来确定鼠标操作是否发生在窗体的客户区,或边框的特殊区上(非客户区)。如果Windows发现用户单击了窗体标题,系统将移动窗体,单击了窗体边框,则系统将开始改变窗体大小。 例程原创 2005-02-06 10:28:00 · 2381 阅读 · 0 评论 -
Delphi编程点滴
//【1】希望按回车键、上下方向键而不是TAB在其间来回游动procedure TForm1.Tab(Sender: TObject; var Key: Word; Shift: TShiftState);Begin (**) if (key=VK_Down) or (key=13) then SelectNext(ActiveControl,True,True); if key=原创 2005-02-06 10:19:00 · 2012 阅读 · 0 评论 -
调用DLL中的窗体
(1)DLL源码 library ProjectDll; uses Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs, UnitDll in UnitDll.pas {Form1};//DLL中的窗体 procedure ProvaChild(ParentApplication: T原创 2005-02-06 09:30:00 · 2315 阅读 · 0 评论 -
Delphi葵花宝典2.7下载地址
Delphi葵花宝典2.7下载地址http://hubdog.youkuaiyun.com/Download/dlIndex.htm原创 2005-02-06 10:37:00 · 3449 阅读 · 0 评论 -
在Delphi里播放Flash
首先,你的机器里要装有Flash播放软件(你的IE能显示Flash)。IE之所以能显示Flash是安装了由Macromedia公司提供的swflash.ocx控件,我们可以在Win98的$Windows/System/Macromed /Flash中或在Win2000中的$Winnt/System32/ Macromed/Flash中找到它。ActiveX控件在Windows里是通用的,Delph原创 2005-02-06 10:31:00 · 2410 阅读 · 0 评论 -
自动生成拼音(汉字反查到拼音)
unit IMCode; // 简化版拼音反查单元interface{ iMode 二进制功能位说明 X X X X X X X X X X X X X X X X 3 2 1 1: 0 - 只取各个汉字声母的第一个字母; 1 - 全取 2: 0 - 遇到不能翻译的字符不翻译; 1 - 翻译成 ? (本选项目针对全角字原创 2005-02-06 09:54:00 · 11783 阅读 · 0 评论 -
WinInet 下载文件示例
Uses WinInet(1)HTTP下载Function WWWDownFile(Const FTURL,LocalFile : String) : Boolean; //下载函数.Const FTAcceptTypes = */*; FTAgent = Explorer; FTUserName = ; //用户名. FTPassword原创 2004-10-15 12:08:00 · 2542 阅读 · 0 评论 -
提高FastReplace速度 (fStrRep.pas)
{其实还可以在FastReplace中先对FindStr进行判断,如果FindStr完全是中文的话,直接可以在FastReplace中用FastPos,这样可以提高速度。}unit fStrRep;interfaceType TFastPosProc = function( const aSourceString, aFindString : String; const原创 2004-10-09 11:22:00 · 1543 阅读 · 1 评论 -
mdb Utils (Access)
unit mdbUtils;interfaceuses windows,classes,sysutils,dao2000,dao97, comobj,adodb{$ifdef ver140},variants{$endif},dialogs;type TFieldRec=record fieldname:string; fieldType,fieldSize:integer;原创 2004-10-09 11:19:00 · 1665 阅读 · 0 评论 -
合理应用用户登录界面,用户登录时不必创建其他窗体
///////////////////// (一)项目文件 test.dpr //////////////////////program SerialGet;uses Forms, UMain in UMain.pas {frmMain}, ULogin in ULogin.pas {frmLogin}, UDataModule in UDataModule.pas {原创 2004-10-09 09:06:00 · 1439 阅读 · 0 评论 -
用Delphi 压缩Access数据库
uses dao97,dao2000;procedure CompactMdbDatabase(srcDbname,dstDbname,oldpwd,newpwd:string;bAccess97:boolean=true);var idbEngine:_dbEngine;begin if oldpwd if newpwd if bAccess97 then begin原创 2004-09-09 11:09:00 · 1803 阅读 · 0 评论 -
INI文件的读写
uses inifiles;function readInifile(fileName,section,Ident:string):string; //读取配置文件var ini:tinifile;begin ini:=tinifile.Create(fileName); result:=ini.ReadString(section,ident,); ini.Free;e原创 2004-09-08 15:42:00 · 1641 阅读 · 1 评论 -
进程、窗口句柄、文件属性、程序运行状态
uses TLHelp32,PsAPI;(1)显示进程列表:procedure TForm1.Button2Click(Sender: TObject);var lppe: TProcessEntry32; found : boolean; Hand : THandle; P:DWORD; s:string;begin ListBox1.Items.Clear ;原创 2004-08-30 16:31:00 · 2110 阅读 · 2 评论 -
创建不规则窗口
// 方法一 :利用不规则图片(1)procedure TForm1.FormCreate(Sender: TObject);begin self.ClientWidth := HotImage1.Width ; self.ClientHeight := HotImage1.Height ; brush.style:=bsClear;end;(2)把Form1 的 BorderSty原创 2004-09-09 11:33:00 · 1526 阅读 · 0 评论 -
String 和 VariantArray
function StringToVariantArray(const S: string): OleVariant;var P: Pointer;begin Result := NULL; if Length(S) > 0 then begin Result := VarArrayCreate([0, Length(S) - 1], varByte); P := VarArr原创 2004-09-09 11:22:00 · 1524 阅读 · 0 评论 -
自定义DataSet,并写入数据
新建一 DataSet , 并加入数据 : prepareTablefunction TFrm_Print.CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet;var TempTable:TClientDataSet;begin TempTable:=nil; Result:=nil; if AFieldDefs begin原创 2004-09-09 11:18:00 · 2562 阅读 · 1 评论 -
Command 程序示例,可以带参数运行
program softInfo;uses Forms, Windows, Dialogs, shellapi, inifiles, SysUtils ;{$R *.res} procedure install(); begin MessageDlg(install,mtWarning,[mbOK],0) ; end; procedure原创 2004-09-08 16:05:00 · 1543 阅读 · 0 评论 -
Delphi7 的 WebService 与 数据库
Server 端:SoapDataModule中加入 ADOConnection1、ADODataSet1、DataSetProvider1;DataSetProvider1的DataSet设置为ADODataSet1;ADODataSet1的CommandText设置为空,Connection设置为ADOConnection1。DataSetProvider1的DataRequest事件:f原创 2004-08-30 16:46:00 · 2851 阅读 · 0 评论 -
一个应用程序多次点击时,如何只让它只运行一个
///////////////////// (一)项目文件 test.dpr //////////////////////program SerialGet;uses Forms, UMain in UMain.pas {frmMain}, ULogin in UForm2.pas {Form2}, UDataModule in UDataModule.pas {Dat原创 2004-10-09 09:14:00 · 1820 阅读 · 0 评论 -
ADO带密码的数据连接、查询一个记录集、执行一SQL语句
在SQL语句中 like 条件用在Deiphi中 : .... like "%aabbcc%"//////////////////////////////////////////////////////////////////unit UDataModule;interfaceuses Controls,SysUtils, Classes, DB, ADODB,windows,form原创 2004-10-09 09:17:00 · 1376 阅读 · 0 评论 -
数据压缩 -- 应用
例:多个目录下多个文件压缩到一个文件; 对压缩文件解压到个对应目录。 //压缩文件流: 文件名长度 + 文件名 + 文件长度 + 压缩流 uses Lh5Unit.pas; //见 数据压缩 -- 源码procedure Compress;var fOutStr: TFileStream; //压缩文件流原创 2004-10-09 11:15:00 · 1686 阅读 · 1 评论 -
数据压缩 -- 源码
(******************************************************************************)(* *)(* LH5.PAS原创 2004-10-09 11:11:00 · 5599 阅读 · 0 评论 -
数据补丁
当公司要定期给客户发送数据时,而且数据库很大,但每次更改量很小,这样就不毕发送整个数据库,只要发送一个数据补丁,在客户端对数据补丁操作一下即可更新整个数据库。下面对单个表操作=================================================================================== (公司端:源表src:旧数据库,目标表dst:新数原创 2004-10-09 11:09:00 · 1785 阅读 · 0 评论 -
fileStream
procedure TForm1.Button1Click(Sender: TObject);var f1:TFileStream; filename:String;begin OpenDialog1.Execute ; filename:=OpenDialog1.FileName ; f1:=TfileStream.Create (filename,fmopenread原创 2004-10-09 11:05:00 · 1363 阅读 · 0 评论 -
TStrings的AddObject方法应用,以及和 PChar 的相互转化
(1) integer 于 Object cmbBox.Items.AddObject(A_Value,pointer(I_Value)); I_Ret:=cmbBox.itemindex; I_perID:=integer(cmbBox.Items.Objects[I_Ret]);(2) string 于 Object A_Code:=custID; Com原创 2004-10-09 11:03:00 · 2219 阅读 · 1 评论 -
关于时间函数
【0】在工程文件中Application.Run语句之前加入下面语句,可不让主Form在运行时显示: Application.ShowMainForm := False; 【1】显示设置时间的对话框 ShellExecute(Handle, open, control, date/time, nil, SW_SHOW); 【2】FormatDateTime(y原创 2004-10-09 10:24:00 · 1331 阅读 · 1 评论 -
文件与Olevariant
//---------------------------读数据到olevariant//pfileName:带路径的文件名function Getobj(pfileName:string): OleVariant;var fs:TFileStream;begin fs := TFileStream.Create(pfileName,fmOpenRead); try result :=原创 2004-10-09 10:22:00 · 1342 阅读 · 0 评论