Archive for the ‘Delphi天空’ Category

常用日期函数(delphi)

Delphi天空 | Posted by 老沙
11月 12 2008

常用日期函数(delphi)

Day 开头的函数

Unit

DateUtils

function DateOf(const AValue: TDateTime): TDateTime;

描述
使用 DateOf 函数用来把一个 TDateTime 类型的变量转变成一个
只带有日期的 TDateTime 类型变量。
例如:
showmessage(DateTimetostr(dateof(now())));
你得到的是 2003/03/19
而 showmessage(DateTimetostr((now())));
得到的是 2003/03/19 10:50:49

●function DateTimeToStr(DateTime: TDateTime): string;

描述
DateTimeToString 函数将 TDateTime 类型的参数 DateTime 转换成一个
字符串,使用给定的全局变量 ShortDateFormat 的格式,时间部分按照
给定的全局变量 LongTimeFormat 的格式。
其中 DateTime 为零的部分将不会显示出来。

例如:
ShortDateFormat:='yyyy mm dd';
showmessage(DateTimetostr((now())));
你将得到:2003 03 19 10:50:49

●procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);

描述:
DateTimeToString 方法将TDateTime类型的参数DateTime 按照由参数Format提供的格式
转化成字符串,并保存在Result中。
对于Format的格式类型,请看 Date-Time format strings 的帮助。

例如:
DateTimeToString(result,'yyyy mm dd',now());
那么 result的结果为:2003 03 19 10:50:49

●procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);

描述:
有时为了调用API函数来使用系统时间,你可以使用 DateTimeToSystemTime 方法,来将一个
TDateTime 类型的时间变量转换成一个 TSystemTime 类型的 系统时间。

●function DateTimeToUnix(const AValue: TDateTime ): Int64;

描述:
使用 DateTimeToUnix 函数来将一个 TDateTime 型时间变量转换成一个相应的 Unix 格式
的日期和时间。
Unix date-and-time values are encoded as the number of seconds that have elapsed
since midnight at the start of January 1, 1970.

●function DateToStr(Date: TDateTime): string;

描述:
使用 DateToStr 函数能得到 TDateTime 日期时间类型的日期部分。日期的转换格式依赖于
全局变量 ShortDateFormat。

●function DayOf(const AValue: TDateTime): Word;

描述:
对于给定的TDateTime类型的日期时间,使用 DayOf 函数能得到该日期是该月份的第几天。
该函数的返回数值在 1 到 31 之间
注意:DayOf 函数得到的结果与 DayOfTheMonth 相同。

例如:
showmessage(inttostr(dayof(now)));
得到的是:19 (今天是 某月19日)

●function DayOfTheMonth(const AValue: TDateTime): Word;

与 DayOf 相同。

●function DayOfTheWeek(const AValue: TDateTime): Word;

描述:
对于给定的TDateTime类型的日期时间,使用 DayOfTheWeek 函数能得到该日期是该星期的
第几天。DayOfTheWeek 函数的返回数值为 1 到 7,其中 1 表示星期一,而 7 表示星期日。
注意:DayOfTheWeek 是 ISO 8601 标准的(此标准为 星期一是一周的第一天)。对于一周
的第一天是星期日的标准,如果想获得星期数,请使用 DayOfWeek 函数。
Tip: To make the return value more readable, use the Day of week constants.

●function DayOfTheYear(const AValue: TDateTime): Word;

描述:
根据给定的日期时间参数AValue,使用 DayOfTheYear 函数能得到在该日期所在的年份中,该
日期按照顺序所计算的天数。因此,作为TDateTime类型的变量 “1月1日”在该函数所得到的
结果为 1 ,“1月2日”所得到的结果为 2,“2月1日”所得到的结果就为 32,依次类推。

●function DayOfWeek(Date: TDateTime): Integer;

Description

DayOfWeek returns the day of the week of the specified date as an integer between
1 and 7, where Sunday is the first day of the week and Saturday is the seventh.

Note: DayOfWeek is not compliant with the ISO 8601 standard, which defines Monday
as the first day of the week. For an ISO 8601 compliant version, use the DayOfTheWeek
function instead.

描述:
按照给定的TDateTime类型的参数Date,DayOfWeek 函数得到一周中的第几天,从1到7。
这里 星期日 是一周的第一天,而 星期六 是第七天。

●function DaysBetween(const ANow, AThen: TDateTime): Integer;

描述:
根据两个TDateTime类型的日期时间变量 ANow 和 AThen,DaysBetween函数能得到两者之间的
天数的差距。
DaysBetween 仅仅根据天数的不同来计算。因此,对于 1999年12月31日 下午11点59分 到
2000年1月1日 11点58分,该函数得到的结果是 0,因为两者之间的时间差别还差 1 分钟才到
1 天。

●function DaysInAMonth(const AYear, AMonth: Word): Word;

描述:
对于各定的 年份和月份,DaysInAMonth 函数能得到 该月份的总天数。
年份应该为 从 1 到 9999
月份应该为 从 1 到 12

●function DaysInAYear(const AYear: Word): Word;

描述:
对于给定的年份,DaysInAYear函数能得到该年份的总天数。
年份应该为 1 到 9999。

●function DaysInMonth(const AValue: TDateTime): Word;

描述:
根据给定的TDateTime类型的时间日期参数AValue,DaysInMonth函数能得到该月份的总天数。

●function DaysInYear(const AValue: TDateTime): Word;

描述:
根据给定的TDateTime类型的时间日期参数AValue,DaysInYear函数能得到该年份的总天数。

●function DaySpan(const ANow, AThen: TDateTime): Double;

描述:
根据两个TDateTime类型的日期时间参数ANow和AThen,DaySpan能得到在天数上的差距。
与 DaysBetween 函数不同,DaysBetween 函数 只是计算 整的天数,而 DaySpan函数会
将不足一天的数也得到。
注意:此函数返回的数值为 Double 型。

☆ Month 开头的函数

●function MonthOf(const AValue: TDateTime): Word;

描述:
根据给定的TDateTime类型的时间日期参数AValue,MonthOf函数能得到该年份的该月份数。
MonthOf返回数值为 1 到 12。
注意:MonthOf函数得到的数值与MonthOfTheYear函数相同

●function MonthOfTheYear(const AValue: TDateTime): Word;

与MonthOf函数相同。

●function MonthsBetween(const ANow, AThen: TDateTime): Integer;

描述:
根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份
上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似
值基于每个月份为 30.4375 天。不足一个月的数字将不被计算。
因此,例如,对于 2月1日 到 2月28日,MonthsBetween 返回的数值为 0。
同样,对于 2月1日 到 3月1日,MonthsBetween 返回的数值也是 0。

●function MonthSpan(const ANow, AThen: TDateTime): Double;

描述:
根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份
上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似
值基于每个月份为 30.4375 天。与 MonthsBetween 函数不同,MonthsBetween函数不计算不足
一个月的数字,MonthSpan函数将会得到不足一个月的数字。
注意:此函数返回的类型为 Double

●function MonthStr(DateTime: TDateTime): string;

Description

HTTP me

ssage headers permit several formats for the representation of date and time
values. MonthStr converts a TDateTime value into a string representing the month.
MonthStr allows server applications to work with date values taken from HTTP request
messages, without worrying about the details of how they are formatted.

☆ Week 开头的函数

●function WeekOf(const AValue: TDateTime): Word;

描述:
根据TDateTime类型的日期时间参数AValu,WeekOf函数会得到该星期为一年的第几个
星期。

●function WeeksInAYear(const AYear: Word): Word;

描述:
WeeksInAYear 函数根据年份得到在该年份中共包含多少个星期。

●function WeeksBetween(const ANow, AThen: TDateTime): Integer;

描述:
根据两个TDateTime类型的日期时间参数ANow和AThen,WeeksBetween函数将得到这两个时间在
星期上的差数。如果差数不足一个星期,则忽略掉。

●function WeekSpan(const ANow, AThen: TDateTime): Double;

描述:
根据两个TDateTime类型的日期时间参数ANow和AThen,WeeksBetween函数将得到这两个时间在
星期上的差数。如果差数不足一个星期,则WeekSpan函数不会忽略掉。
注意:此函数的返回类型为 Double

☆ Year 开头的函数

●function YearOf(const AValue: TDateTime): Word;

描述:
根据给定的TDateTime类型的日期时间参数AValue,YearOf函数能得到该日期的年份数字。
YearOf函数返回的数值为从 1 到 9999

●function YearsBetween(const ANow, AThen: TDateTime): Integer;

描述:
根据两个给定的TDateTime类型的参数ANow和AThen,YearsBetween函数能得到两个日期在年份
上差距数。因为年份的天数是不同的,所以 YearsBetween 函数返回的是一个近似值,该近似
值基于每年的天数为 365.25 天。不足的一年的差距将不会被计算。
因此例如:对于 1月1日和12月31日,如果这两个日期在同一年,则 YearsBetween 返回数值
为 0;如果这两个日期在临近的年份,则 YearsBetween 函数返回数值为 1。

●function YearSpan(const ANow, AThen: TDateTime): Double;

描述:
根据两个给定的TDateTime类型的参数ANow和AThen,YearsBetween函数能得到两个日期在年份
上差距数。因为年份的天数是不同的,所以 YearsBetween 函数返回的是一个近似值,该近似
值基于每年的天数为 365.25 天。与 YearsBetween 函数不同,YearsBetween函数将忽略掉不
足一年的数字,而 YearSpan 将计算不足一年的数字。
注意:该函数返回类型为Double

●function Yesterday: TDateTime;

描述:
Yesterday函数能得到当前日期的前一天的日期,返回数值中不包括时间部分。
例如:
当前日期是 2003/3/19
则 showmessage(datetimetostr(Yesterday));
将得到 2003/3/18

☆日期的合成
●function EncodeDate(Year, Month, Day: Word): TDateTime;

描述:
EncodeDate函数将根据参数 年份、月份、日子 而得到一个TDateTime类型的时间变量。

●function EncodeDateDay(const AYear, ADayOfYear: Word): TDateTime;

描述:
EncodeDateDay将根据参数年份和天数,而得到一个TDateTime类型的时间变量。
其中AYear 为 1 到 9999。
ADayOfYear 为日子在该年份顺序排列的天数,例如,1月1日时,ADayOfYear为1,
2月2日时,ADayOfYear为2,3月1日时,ADayOfYear为32。

●function EncodeDateMonthWeek(const AYear, AMonth, AWeekOfMonth: Word; const ADayOfWeek: Word =

1): TDateTime;

描述:
EncodeDateMonthWeek 函数将根据参数 年份、月份、星期数,星期几,来得到一个TDateTime类型
的时间变量。
其中AYear 为 1 到 9999。
其中AMonth 为 1 到 12。
AWeekOfMonth是在该月份的星期数,1 表示第一个星期,可能包含4天或更多的天数。
注意,一个月的第一天如果是 星期5,星期6或星期日,用表示这三天的AMonth数值必须设定
为上一个月份的数字,同时 AWeekOfMonth 要设为在上一个月所在的星期数。
同样,如果一个月的最后一天是 星期1,星期2,或星期3,那么用表示这三天的AMonth数值
必须设定为下一个月份的数字,同时 AWeekOfMonth 为 1。
ADayOfWeek表示星期几,星期一为1,星期二为2。

●function EncodeDateTime(const AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond:

Word):TDateTime;

描述:
EncodeDateTime 根据参数 年份、月份、日子、小时、分、秒、毫秒 来得到一个TDateTime类型
日期时间。

●function EncodeDateWeek(const AYear, AWeekOfYear: Word; const ADayOfWeek: Word = 1): TDateTime;

描述:

EncodeDateWeek 根据参数 年份、星期数、星期几 来得到一个TDateTime类型日期时间。

AWeekOfYear是在该年份的星期数,1 表示第一个星期,可能包含4天或更多的天数。
注意,一年的第一天如果是 星期5,星期6或星期日,用表示这三天的AYear数值必须设定
为上一个年份的数字,同时 AWeekOfYear 要设为在上一个年所在的星期数。
同样,如果一年的最后一天是 星期1,星期2,或星期3,那么用表示这三天的AYear数值
必须设定为下一个年份的数字,同时 AWeekOfYear 为 1。
ADayOfWeek表示星期几,星期一为1,星期二为2。

●function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;

描述:
EncodeTime函数根据参数 小时、分、秒、毫秒 得到个一个TDateTime数值。

☆日期的分解

●procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);

描述:
DecodeDate从一个TDateTime类型参数Date中分解出得到年份、月份、日子。

●procedure DecodeDateDay(const AValue: TDateTime; out AYear, ADayOfYear: Word);

描述:
DecodeDateDay 方法会根据TDateTime类型参数AValue 得到相应的年份和日期总数。
ADayOfYear:1月1日,此数值为1;1月2日,此数值为2。

●procedure DecodeDateMonthWeek(const AValue: TDateTime; out AYear, AMonth, AWeekOfMonth,

ADayOfWeek: Word);

描述:
DecodeDateMonthWeek方法根据TDateTime类型参数AValue 得到相应的年份、月份、月份中的第几个
星期、星期几
AYear:年份
AMonth:月份,1 到 12
AWeekOfMonth:在该月份中的第几个星期
ADayOfWeek:星期几。星期一为1。

●procedure DecodeDateTime(const AValue: TDateTime; out AYear, AMonth, ADay, AHour, AMinute,

ASecond, AMilliSecond: Word);

描述:
DecodeDateTime 方法根据TDateTime类型参数AValue 得到相应的年份、月份、日子、小时、分、秒、
毫秒。

●procedure DecodeDateWeek(const AValue: TDateTime; out AYear, AWeekOfYear, ADayOfWeek: Word);

描述:
DecodeDateWeek方法根据TDateTime类型参数AValue 得到相应的年份、在该年中的第几个星期、星期几。

静态数组的定义方法

Delphi天空 | Posted by 老沙
11月 11 2008

静态数组的定义方法
//1. 标准方法:
var
MyArr: array[0..10] of Integer; //定义静态数组
——————————————————————————–

//2. 可以使用非0下标:
var
MyArr: array[9..10] of Integer; //不能提倡,这样不容易与系统函数沟通
——————————————————————————–

//3. 根据预定义类型来声明数组:
type
TMyArr = array[0..10] of Integer; //先定义一个数组类型
var
MyArr: TMyArr; //再定义静态数组
——————————————————————————–

//4. 在非过程区可以直接赋值:
var
MyArr: array[0..2] of Integer = (11,22,33);
——————————————————————————–

//5. 多维数组:
var
MyArr: array[0..2, 0..2] of Integer;
begin
//使用
MyArr[1,2] := 100;
end;
——————————————————————————–

//6. 根据子界定义数组:
type
TRange = 0..10;
var
MyArr: array[TRange] of Integer;
——————————————————————————–

//7. 根据枚举定义数组:
type
TEnums = (Enum1,Enum2,Enum3);
var
MyArr: array[TEnums] of string;
begin
MyArr[Enum1] := '万一';
ShowMessage(MyArr[Enum1]); //万一
end;
——————————————————————————–

//8. 根据其他类型定义数组:
var
MyArr: array[Byte] of Char;
begin
MyArr[255] := #65;
ShowMessage(MyArr[255]); //A
end;

//应尽量不使用内建类型,可以新建类型:
type
TNewByte = Byte;
var
MyArr: array[TNewByte] of Char;
begin
MyArr[255] := #65;
ShowMessage(MyArr[255]); //A
end;

//也可以使用类型别名:
type
TChar = type Char;
var
MyArr: array[TChar] of Byte;
begin
MyArr['C'] := 255;
ShowMessage(IntToStr(MyArr['C'])); //255
end;

//同时定义类型:
type
MyRec = record
s: string;
r: Real;
b: Byte;
end;
var
Arr1: array[0..100] of MyRec;
Arr2: array[0..100] of record s: string; r: Real; b: Byte; end; //可以直接这样定义
Arr3: packed array[0..100] of MyRec; //压缩数组定义, 好像没有区别?

汉字转16进制(网页上的%)

Delphi天空 | Posted by 老沙
11月 05 2008

写一个程序,要把汉字转成网址里的%什么什么的
比如"小杰的博客"转成"%D0%A1%BD%DC%B5%C4%B2%A9%BF%CD"

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
mName:array[0..255] of byte;
display:string;
i:byte;
begin
zeromemory(@mName,256);
getwindowtextA(edit1.Handle ,@mName,sizeof(mName));
display:='';
i:=0;
while mName[i]<>0 do
Begin
display:=display+'%'+inttohex(mName[i],2);
inc(i);
End;
edit2.Text:=display;
end;

end.

MYIE 监控IE上网记录 MYSQL记录 有查询器 适用于网吧 或 公司使用

Delphi天空 | Posted by 老沙
8月 04 2008

今天发布一个我写的一个IE监控程序,写起来真累,本打算把查询做成一个网站的,由于时间问题没有做,只写了一个查询程序,有空再写个网站查询的方式,用起来也方便,有IE就OK了:) 下边说正题了

程序的组成:一共有四个文件,和两个批处理,外加一个MYSQL数据库。
libmySQL.dll和MYIE.dll是完成客户机向服务器发送数据的。libmysql.dll大家也许不陌生,对~他就是mysql的API,MYIE.dll是我写的IE的插件。MYIECONFIG.exe是配置MYIE.dll所需参数的工具。

MYIESEE.exe是查看别人上网记录的工具,就是上边所说的查询网站的替代品,网站嘛,以后再说:)
两个批处理分别是install.bat是注册MYIE.dll这个插件用的,uninstall.bat是取消注册。

安装方法:
1. 服务器的安装:下载MYIESERVER.rar,把它放在磁盘空间较大的分区,鼠标右键,选择将文件解压缩到MYIESERVER/,然后进入MYIESERVER目录,运行'安装amp.bat'这个文件,稍等一会,直到屏幕出现,图一
uploads/200808/05_213622_1.jpg
这里输入用户名和密码,用户名用root(最好用这个,否则你要手动更改配置文件),密码随便(不要用空密码,这样不安全)但一定要记住,后边的网页就是网站服务器的页面表示网站服务器安装成功,不要急,再往下边看看见图二
uploads/200808/05_213710_2.jpg
表示MYSQL数据库也安装成功,好像大功告成了!!~~~~不~~还没有完。还要对MYSQL进行一下设置,方法很简单找到C:windowsmy.ini这个文件,用写字板打开(不要用记事本)
然后再打开刚才安装服务器的 MYIESERVERampmysql3mysqlconfig.txt,把里边的内容全选复制下来,找到MY.ini 文件中的#set-variable=key_buffer=16M这一行,把mysqlconfig.txt里的内容粘到这里保存
如图三
uploads/200808/05_213756_3.jpg
然后重启MYSQL就可以了,如果不会重启MYSQL,从启电脑也行呀。然后在安装MYIESERVER的磁盘的根目录会出现一个www的文件夹,把MYIESERVER目录下的www目录里的全部内容复制到根目录的WWW文件夹里,如果在本机打开,IE输入http://localhost/phpmyadmin在其它电脑上就把localhost用IP地址代替,会出现图四
uploads/200808/05_213856_4.jpg
还记得你刚才安装时输过的用户名用root和密码吗?对输进去,就会出现图五
uploads/200808/05_213927_5.jpg
在这里就可以管理你的MYSQL数据库了。

2. 客户机的安装:下载MYIE压缩包后,解压出来,运行MYIECONFIG.exe把服务器的IP,用户名,密码,输入(如果你没有加入新的用户名和密码请使用 用户名:look密码:123456)然后点修改就行了.
把libmySQL.dll和MYIE.dll复制到c:windowssystem32目录下,然后运行install.bat然后显示注册成功即可(如果服务器运行不正常,在打开IE的时候会出现提示)如果一切正常就算完工了。
你也可以打开IE->工具->管理加载项 中看到图六
uploads/200808/05_215156_6.jpg
表示MYIE安装成功,然后用MYIESEE查询记录就可以了
(如果没有自己加新的远程用户,也使用用户名:look密码:123456)

2008年8月5日 MYIE和MYIESEE更新到了V1.1版,优化了数据库的连接。

关于PHPMYADMIN的使用其实很简单,看看就会了,如果还是不会就上网查查。

再发两个图
图七是MYIESEE.exe普通模式下的查找,图八是MYIESEE.exe高级模式的查找,高能模式多了按IP和MAC地址查询的功能,并且结果显示IP和MAC地址

uploads/200808/04_231942_see1.jpg
uploads/200808/04_232150_see2.jpg
ftp://ftp.aafox.com/
程序下载地址:
地址1: 点击下载MYIE.RAR
地址2:ftp://ftp.aafox.com/MYIE.rar
MYSQL数据库下载:
ftp://ftp.aafox.com/MYIESERVER.rar
本站开通了匿名FTP空间
ftp://ftp.aafox.com/
在这里也可以找到你想要的东西

也可以到天空软件站下载
http://www.skycn.com/soft/47403.html

delphi 通过 libmysql.dll+mysql.pas 远程连接mysql 附一个mysql类和例程

Delphi天空 | Posted by 老沙
7月 25 2008

我要写一个无窗体的程序,试过用dbexpress和odbc 但是没有窗体好像是用不了控件吧,我不太了解,但是用mysql.pas+libmysql.dll(mysqlapi)可以实现现在功能.下发布一个例子,包括了mysql.pas支持到mysql3.23.49版本,4.X和5.X的版本找不到了,如果谁有,可以发给我一份:)
libmysql.dll 3.23.X版的,还有一个mysqlclass.pas的类,是网上找到的,用起来很方便,可发出来,全在下边这个压缩包里,有需要的就下载吧.

例程下载:
点击下载

Delphi2006 DBExpress 连接 Mysql5.1

Delphi天空 | Posted by 老沙
7月 22 2008

DBExpress+dbxopenmysql50.dll

由于Delphi2006中的DBExpress对Mysql高版本的支持很差,从国外论坛上看到的说法似乎是根本就没实现,所以说虽然TSQLConnection组件中提供了Mysql选项,但直接使用的话是不行的(低版本的mysql可能可以),我遇到的现象是提示“Unable to Load libmysql.dll”,但其实我已经在系统目录System32下、Delphi安装目录的bin中、开发工程项目文件夹中都安放了该文件,还是找不到该dll。
dbxopenmysql50.dll是由老外开发的,而且开源,还是老外好啊,可以到如下网址去下载:
http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html
使用时需要将dbxopenmysql50.dll和libmysql.dll都放到工程文件夹下。顺便提一下,libmysql.dll在mysql安装目录下的libopt目录中。
使用方法有两种,一种是直接修改BorlandBDS4.0dbExpress下的dbxdrivers.ini,调整其中关于mysql的各参数。
另一种就是在程序中指定,现在我以这种方式为例说明这种连接方式的开发方法。
在Form上放上TSQLConnection、TSQLQuery、TStringGrid、3个TButton、TLable。

在FormCreate事件中:
SQLConnection1 := TSQLConnection.Create(nil);
SQLConnection1.DriverName := 'dbxmysql';
SQLConnection1.GetDriverFunc := 'getSQLDriverMYSQL50';
SQLConnection1.LibraryName := 'dbxopenmysql50.dll';
SQLConnection1.VendorLib := 'libmysql.dll';
SQLConnection1.LoginPrompt := false;
在此设置TSQLConnection的各个具体参数,当然也可以直接在组件属性面板中修改,或者修改dbxdrivers.ini中的对应参数,方法是多种的。
Connect按钮的事件:
SQLConnection1.Params.Append('Database=user');
SQLConnection1.Params.Append('User_Name=mysql');
SQLConnection1.Params.Append('Password=mysql');
SQLConnection1.Params.Append('HostName=localhost');
SQLConnection1.Open;
if SQLConnection1.Connected = true then
Label1.Caption := 'success'
else
Label1.Caption := 'fail';
设置数据库连接的各参数配置后,打开数据库连接,同时显示连接是否成功。
Query按钮的事件:
var
i,j: Integer;
begin
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('SELECT * FROM userinfo');
SQLQuery1.Active := true;
i := 0;
SQLQuery1.First;
while not SQLQuery1.eof do
begin
for j:=0 to SQLQuery1.FieldCount-1 do
StringGrid1.cells[j,i]:=SQLQuery1.Fields[j].AsString;
SQLQuery1.next;
inc(i);
end;
SQLQuery1.Active := false;
查询表数据并在StringGrid中输出。
Disconnect按钮的事件:
if SQLConnection1.Connected = true then
SQLConnection1.Close;
FormDestroy事件:
if SQLConnection1.Connected = true then
SQLConnection1.Close;
SQLConnection1.Free;
运行程序,点击connect按钮,如果数据库连接成功可以看到success提示,然后点击query按钮就能查询到表中的数据。

下载(dbxopenmysql50.dll)
点击下载
下载(dbxopenmysql50.dll源码)
点击下载

结束进程 或 窗口名

Delphi天空 | Posted by 老沙
3月 20 2008

我写的一个杀进程的小程序
用法:
"程序名"+"本地配置文件名"+"远程配置文件名"

cell.txt是我的配置文件
远程配置文件是用局域网共享文件的方法实现的
比如我这里用的是\a02c1cell1.txt
在配置文件里的延时是指从远程同步配置文件的时间,单位是秒
配置文件里有杀的进程的窗口名或进程名请自行修改

例:
做个启动,启动方法为
kill.exe e:killcell.txt \a02c1cell1.txt
也就是run.bat
还有个MAC地址绑定的功能,更详细的说明就没有了:)
如果想更了解它的工做方式,请看原代码。
点击下载

小杰(SSJ)

热键关闭显示器(附delphi源码)

Delphi天空 | Posted by 老沙
11月 26 2007

功能:按ALT+X关闭显示器

先COPY文件close.exe到C:WINDOWS
再双击1.reg导入注册表即可
点击下载

全局热键隐藏当前窗口(附delphi源码)

Delphi天空 | Posted by 老沙
10月 12 2007

你是公司白领吗?是不是总是偷偷在电脑上玩连连看之类的小游戏?老板过来了,怎么办?不用担心,有我在,只要按下ALT+Z就可以隐藏当前窗口,再按即会显示出来刚刚被隐藏的窗口.双击有说明 🙂
点击下载

隐藏dos运行时的窗口(附delphi源码)

Delphi天空 | Posted by 老沙
10月 11 2007

如果你是网管,那你一定会经常用到一些批处理,但是在运行的时候会出现讨厌的黑窗口.
这个东东就是隐藏运行批处理文件用的,双击有说明.
方法:
run 1.bat
运行里或加在注册表启动项里.
点击下载