注册 登录
编程论坛 Delphi论坛

帮看一下程序看不懂怎么调用了.

liuqiang_sy 发布于 2007-03-15 15:08, 535 次点击

private
{ Private declarations }
public
{ Public declarations }
// procedure initiate;
procedure savetoordertable;
procedure makebooknumber;
// procedure printbook;
procedure savetoflighttable;
end;

var
Book: TBook;
booknumber:string;

implementation
uses mainview,
flightquery,
cityflightquery;

{$R *.dfm}
//************订票子窗口*****************
procedure TBook.QueryButtonClick(Sender: TObject);
begin
CityQuery.ShowModal;
end;

//************关闭子窗口*****************
procedure TBook.ExitButtonClick(Sender: TObject);
begin
close;
end;
//*************点确定键后执行更新动作****************
procedure TBook.OkButtonClick(Sender: TObject);
begin
makebooknumber; //生成订单号
// booknumber:='00010000100020003';
savetoordertable; //更新订单数据库
savetoflighttable; //更新航班数据库
end;
*********生成订单号****************
procedure TBook.makebooknumber;
var
oldnumber:string;
s1,s2,s3:string;
year,month,day,t:integer;
begin
year:=yearof(now);
month:=monthof(now);
day:=dayof(now);
s1:=inttostr(year);
if month<10 then
s1:=s1+'0'+inttostr(month)
else
s1:=s1+inttostr(month);
if day<10 then
s1:=s1+'0'+inttostr(day)
else
s1:=s1+inttostr(day);
query1.close;
query1.sql.clear;
query1.sql.Add('select * from bookorder');
query1.open;

if not query1.eof then
begin
query1.Last;
oldnumber:=query1.fieldByname('OrdNo').asstring;
s2:=copy(oldnumber,1,8);
if s1=s2 then
begin
s2:=copy(oldnumber,9,12);
t:=strtoint(s2);
t:=t+1;
if t<10 then
s3:='000'+inttostr(t)
else if t<100 then
s3:='00'+inttostr(t)
else if t<1000 then
s3:='0'+inttostr(t)
else
s3:=inttostr(t);
end
else
s3:='0001';
end
else
s3:='0001';
query1.Close;
booknumber:=s1+s3;
这里有procedure savetoordertable;
procedure makebooknumber;
procedure savetoflighttable;
前面声名的后面是怎么调用的.
makebooknumber; //生成订单号
// booknumber:='00010000100020003';
savetoordertable; //更新订单数据库
savetoflighttable; //更新航班数据库
end;这几条是怎么调用的啊1

4 回复
#2
sgliuxiu2007-03-15 19:54

过程调用就是简化程序或者模块化程序,可以前面定义后面调用也可以后面定义前面调用,函数就不一样.

调用就是将那过程执行一遍而已.

你这段程序,那makebooknumber的过程没有结束的,是不是只是举个例子?

#3
边城路人2007-03-15 22:57

是啊
要不你把这个单元文件都传上来
大家好研究一下

#4
liuqiang_sy2007-03-16 09:20

这段程序是没有完全放上来.这个程序要是用到了
makebooknumber; //生成订单号
savetoordertable; //更新订单数据库
savetoflighttable; //更新航班数据库
这个是一个航班系统,

前面定义的 procedure savetoordertable;
procedure makebooknumber;
procedure savetoflighttable;

在后面就直接就可以生成订单,更新数据库吗?我主要是想知道怎么调用的.
savetoordertable; //更新订单数据库
savetoflighttable; //更新航班数据库
这两个也没有什么过程啊!

#5
sgliuxiu2007-03-17 19:21
我说了过程调用就是将那过程在调用处执行.

你说这两个没有过程,可能你没看完吧.它应该在这单元的后面定义了.
savetoordertable; //更新订单数据库
savetoflighttable; //更新航班数据库




1