易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : delphi

Delphi函数和过程

     过程无返回值,函数有返回值。
     procedure MyProc(m,n : Integer; o : String; p : Single = 2.5; q : String = 'Delphi');
     如上例所示,过程声明和定义中,多个参数是用分号隔开的,但在调用时是用逗号隔开的 。eg:
     MyProc(3, 4, 'me', 3.14);
     上例中省略了最后一个参数,当指定一个参数的缺省值后,其后的所有参数都必须指定一个缺省值,如上面的声明中的参数 p 和 q 。或者说,应该把所有指定默认值的参数放在参数列表的后面。
     Delphi函数的值有两种方式返回,第一:把值赋给函数名;第二:把值赋给Result。而Result实际上是函数名的一个别名,同时它也是每一个函数内部自动隐含的局部变量,其类型跟函数的返回类型相同。
     一般情况下,使用Result方式返回函数值,而不用函数名来返回。因为在调用一个无参数的函数时只写函数名就可以调用,不像C语言等其它语言一样即使无参数也要在函数名后加上括号,这样很容易不小心就写成递归调用,进入死 ......

delphi的取整函数round、trunc、ceil和floor

1.Round(四舍六入五留双)
功能说明:对一个实数进行四舍五入。(按照银行家算法)
例:
var
i, j: Integer;
begin
i := Round(1.5); // i等于2
j := Round(2.5); // j等于2
end;
在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理
,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。
例:
i:= Round(11.5)//i等于12
i:= Round(10.5)//i等于10
这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。
如果要使用传统的"四舍五入"方法,可以使用下面函数:
function RoundClassic(R: Real)
2.trunc(取得X的整数部分)
如:trunc(-123.55)=-123, floor(123.55)=123
3.ceil(取得大于等于X的最小的整数)
如:ceil(-123.55)=-123, ceil(123.15)=124
4.floor(取得小于等于X的最大的整数)
如:floor(-123.55)=-124,floor(123.55)=123 ......

delphi线程池【转】


[code=Delphi(Pascal)]
unit uThreadPool;
{  aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }
interface
uses
  Windows,
  Classes;
// 是否记录日志
// {$DEFINE NOLOGS}
type
  TCriticalSection = class(TObject)
  protected
    FSection: TRTLCriticalSection;
  public
    constructor Create;
    destructor Destroy; override;
    // 进入临界区
    procedure Enter;
    // 离开临界区
    procedure Leave;
    // 尝试进入
    function TryEnter: Boolean;
  end;
type
  // 储存请求数据的基本类
  TWorkItem = class(TObject)
  public
    // 是否有重复任务
    function IsTheSame(DataObj: TWorkItem): Boolean; virtual;
    // 如果 NOLOGS 被定义,则禁用。
    function TextForLog: string; virtual;
  end;
type
  TThreadsPool = class;
  //线程状态
  TTh ......

delphi调用选择目录对话框

delphi调用选择目录对话框
经常见网上有人问选择目录对话框的控件,其实只用一个函数就可以实现。
注意引用 Filectrl 单元
use Filectrl;
procedure TForm1.Button1Click(Sender: TObject);
var
Dir: String;
begin
SelectDirectory('Select a directory', '', Dir);
ShowMessage(Dir);
end; ......

Delphi调用Excel的其它技巧

1>向指定的区域或形状添加超链接。
语法
表达式.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)
表达式   一个代表 Hyperlinks 对象的变量。
参数
名称必选/可选数据类型描述
Anchor
必选
Object
超链接的位置。可为 Range 或 Shape 对象。
Address
必选
String
超链接的地址。
SubAddress
可选
Variant
超链接的子地址。
ScreenTip
可选
Variant
当鼠标指针停留在超链接上时所显示的屏幕提示。
TextToDisplay
可选
Variant
要显示的超链接的文本。
返回值
一个 Hyperlink 对象,它代表新的超链接。
说明
指定 TextToDisplay 参数时,文本必须是字符串。
示例
本示例向单元格 A5 添加超链接。
Visual Basic for Applications
With Worksheets(1)
.Hyperlinks.Add Anchor:=.Range("a5"), _
Address:="http://example.microsoft.com", _
ScreenTip:="Microsoft Web Site", _
TextToDisplay:="Microsoft"
End With
本示例向单元格 A5 添加一个电子邮件超链接。
Visual Basic for Applications
With Worksheets(1)
.Hyperlinks.Add Anchor:=.Range("a5"), _
......

delphi调用Excel查找定位

var
ExcelFile:string;
SourceRange,DesRange:Variant;
Row,Column,i:integer;
begin
if OpenDialog1.Execute then
begin
ExcelFile:=OpenDialog1.Files[0];
if not FileExists(ExcelFile) then Exit;
end
else
Exit;
try
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.WorkBooks.open(ExcelFile);
DesRange:=ExcelApp.WorkSheets[1].Cells.Find('姓名');
DesRange:=DesRange.offset[1]; //在查找到的单元格向下偏移1
Row:=DesRange.Row; //开始的行号
Column:=DesRange.Column; //列号
i:=1;
while i<10 do
begin
ExcelApp.WorkSheets[1].Cells[Row,Column]:='love my wife';//写入数据
I:=I+1;
Row:=Row+1;
end;
ExcelApp.Visible:=True;
finally
End;
end; ......
总记录数:644; 总页数:108; 每页6 条; 首页 上一页 [6] [7] [8] [9] 10 [11] [12] [13] [14] [15]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号