五维网络域名:
  5dweb.yeah.net
  5dweb.126.com
  5dweb.iscool.net

电子信箱地址:
  [email protected]

编程维
编程技巧
上界
编程维
信息维
软件维
硬件维
另类维
下界
返回主页

五维网络2,值得您稍稍等待。

如何读出一个文件的长度?
 
程序举例如下:

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时就是如果遇到目标文件已经存在,
就放弃复制,反之则覆盖。 
函数返回值代表是否复制成功。

[上一页]      


版权所有 1997-1999 “五维网络2”由新天赋软件工作室制作
建议在 800*600 分辨率下,使用 Internet Explorer 浏览。