如何读出一个文件的长度?
|
|
程序举例如下:
var
F:File of Byte;
Size:LongInt;
begin
AssignFile(F,'demo.exe');
Reset(F);
Size:=FileSize(F);
CloseFile(F);
end;
或者
var
fh:Integer;
Size:LongInt;
begin
fh:=FileOpen('demo.exe',fmOpenRead);
Size:=FileSeek(fh,0,2);
FileClose(fh);
end;
[上一页]
|
|
有关TListBox的若干使用方法。
|
|
listBox1.Items 为 TString类,符合标准调用。
(1)赋值
ListBox1.Items.Add('STRING') 增加一条
(2)取值
ListBox1.Items[I] 取出一条
(3)删除
ListBox1.Items.Delete(I) 删除一条
(4)数据类型(长度)定义
I:=ListBox1.Items.Count 数据条数
ListBox1.Selected[I] 该项数据选中否
注:I=(0..ListBox1.Items.Count)
(5)其他
清除数据
ListBox1.Clear
访问数据
for I:=0 to ListBox1.Items.Count-1 do
begin
...
end;
存盘
ListBox1.Items.SaveToFile('文件名')
从文件中取出
ListBox1.Items.LoadFromFile('文件名')
[上一页]
|
|
Break 和 Exit 有何区别?
|
|
首先要说,这两个过程有很大的区别。
Break 过程,用在 for,while,repeat 循环中,起到提
早跳离循环体的作用。
比如:
procedure BreakTest;
var
I:Integer;
begin
Edit1.Text:='0';
for I:=0 to 100 do
if I=50 then Break;
Edit1.Text:=IntToStr(I);
end;
//Edit1.Text显示“50”。
Exit 过程,起到提早跳出procedure(过程)或function(函
数)的作用。
比如:
procedure ExitTest;
var
I:Integer;
begin
Edit1.Text:='0';
for I:=0 to 100 do
if I=50 then Exit;
Edit1.Text:=IntToStr(I);
end;
//Edit1.Text显示“0”。
[上一页]
|
|
在Delphi中如何处理程序的参数?
|
|
程序举例如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
if ParamCount>=1 then
Edit1.Text:=ParamStr(1);
end;
说明:
ParamCount用来指出执行程序时参数的个数。
ParamStr(I),用来返回第I个参数,String类型。
特别的,ParamStr(0),返回程序的文件名,包含路径。
[上一页]
|
|
如何制作最小的可执行程序?
|
|
制作最小的可执行程序的关键是不要使用任何窗体,只用一个.dpr文件。当然这样就不能使用Delphi优秀的可视化程序设计方法了,但在对程序大小有严格要求的场合下,我们会需要这样做。
程序举例如下:
program Min;
uses Windows;
begin
MessageBox(0,PChar('教您制作最小的可执行程序。'),
PChar('程序举例'),0);
end.
用任何纯文本文件编辑器输入上述程序,比如用Win95的记事本。然后存盘退出,注意用*.dpr的格式。启动Delphi 后,关闭所有的窗体,再打开刚才存盘的程序,运行一下,看看效果和生成的可执行文件的大小。
[上一页]
|
|
如何在程序中检测<Shift>键是否按下?
|
|
试试这行代码:
if Shift>=[ssShift] then ShowMessage('OK');
[上一页]
|
|
如何使用动态数组?
|
|
动态数组是Delphi 4新增的功能,正确的运用可以提高程
序的灵活性。
procedure Test;
var
A:array of Integer;
begin
ShowMessage(IntToStr(High(A))); //数组长度为1
SetLenght(A,3);
ShowMessage(IntToStr(High(A))); //数组长度变为3
end;
[上一页]
|
|
Form生成时的激活事件的顺序。
|
|
OnCreate
OnShow
OnActivate
OnPaint
[上一页]
|
|
如何把文件删除到“回收站”中?
|
|
举例如下:
Var
T:TSHFileOpStruct;
P:String;
begin
P:='c:\demo.exe';
With T do
Begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar(P);
fFlags:=FOF_ALLOWUNDO
End;
SHFileOperation(T);
End;
说明:SHFileOperation 为Win32的API函数,需要ShellApi
单元。另,文件名必须带有完整路径。
[上一页]
|
|
如何执行Win95的外部程序?
|
|
用法:WinExec(应用软件路径及文件明,窗口显示方式);
比如:
WinExec(PChar('c:\windows\notepad.exe'),SW_ShowNormal);
[上一页]
|
|
如何在自己的程序中更换Win95的壁纸?
|
|
举例如下:
Procedure TForm1.ChangeWallPaper(S:String);
Begin
SystemParametersInfo(SPI_SetDeskWallPaper,
0,PChar(S),SPIF_UpdateIniFile);
End;
比如:
ChangeWallPaper('C:\Windows\Wallpaper1.Bmp')
[上一页]
|
|
如何在自己的程序中设置系统时间?
|
|
举例如下:
procedure SetSystemTime;
Var
SD:TSystemTime;
Begin
With SD Do
Begin
wYear:=1998;
wMonth:=8;
wDay:=8;
wHour:=8;
wMinute:=8;
wSecond:=8;
End;
End;
只要一执行SetSystemTime,系统时间就变为
1999年8月8日8时8分8秒。
[上一页]
|
|
如何发送E-mail?
|
|
举例如下:
ShellExecute(handle,nil,PChar('[email protected]'),
nil,nil,SW_SHOWNORMAL);
别忘了,加上ShellApi单元。
[上一页]
|
|
如何调用系统默认浏览器访问站点?
|
|
举例如下:
ShellExecute(handle,nil,PChar('http://5dweb.yeah.net'),
nil,nil,SW_SHOWNORMAL);
别忘了,加上ShellApi单元。
[上一页]
|
|
如何在Delphi中快速复制文件?
|
|
在Delphi中复制文件可以使用Win32的API函数。
函数说明如下:
Funciton COPYFILE(SourceFile,TargetFile,FailIfExist):Boolean;
使用时,如 COPYFILE('C:\COMMAND.COM','D:\C.COM',True);
其中第三个参数为True时就是如果遇到目标文件已经存在,
就放弃复制,反之则覆盖。
函数返回值代表是否复制成功。
[上一页]
|