控制网吧时间程序代码解决思路

控制网吧时间程序代码
写一个计费程序,可是记录临时卡的每个客人的消费情况,请给出源代码,谢谢(每小时3元临时卡,会员卡2.5元)
可以查询余额又可以结账.也可以换机.

------解决方案--------------------
Delphi(Pascal) code
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Excel2000, OleServer, DB, ADODB, Grids, DBGrids;

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
ExcelApplication1: TExcelApplication;
ExcelWorkbook1: TExcelWorkbook;
ExcelWorksheet1: TExcelWorksheet;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i,Cel,Row: Integer;
EParam : OleVariant;
begin
try
self.ExcelApplication1.Connect;
except
ShowMessage('打开Excel失败');
exit;
end;
self.ExcelApplication1.Visible[0] := true;
self.ExcelApplication1.Caption := '导入excel试验';
ExcelWorkbook1.ConnectTo(ExcelApplication1.
Workbooks.Add(EmptyParam,0));

ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);//ExcelWorkbook1与Eexcelapplication1建立连接
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与Excelworkbook1建立连接
self.ADOQuery1.Close;
self.ADOQuery1.Open;
self.ExcelWorksheet1.Cells.Item[1,1] := '姓名';
self.ExcelWorksheet1.Cells.Item[1,2] := '年龄';
self.ExcelWorksheet1.Cells.Item[1,3] := '说明';
self.ADOQuery1.First;
row := 2;
while not self.ADOQuery1.Eof do
begin
Cel := 1;
for i := 1 to self.ADOQuery1.RecordCount do
begin
self.ExcelWorksheet1.Cells.Item[row,Cel] := self.ADOQuery1.Fields[i-1].AsString;
Cel := Cel + 1;
end;
self.ADOQuery1.Next;
Row := Row + 1;
end;
 
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
showmessage('数据转换完毕!');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i,Cel,Row: Integer;
EParam,DocuType,wkBk : OleVariant;
begin
try
self.ExcelApplication1.Connect;
except
ShowMessage('打开Excel失败');
exit;
end;
opendialog1.Execute;
self.ExcelApplication1.Visible[0] := False;
self.ExcelApplication1.Caption := 'excelToDb试验';
EParam:=EmptyParam;
DocuType:=0;
try
wkBk:=ExcelApplication1.Workbooks.Add(EParam, DocuType);

wkBk:=ExcelApplication1.WorkBooks.Open(opendialog1.FileName,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,
EmptyParam,EmptyParam,DocuType,EmptyParam,DocuType);
except
begin
ExcelApplication1.Disconnect;//出现异常情况时关闭
ExcelApplication1.Quit;
showmessage('请选择EXCEL数据表格!');
exit;
end;
end;
ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);//ExcelWorkbook1与Eexcelapplication1建立连接
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与Excelworkbook1建立连接
self.ADOQuery1.Close;
self.ADOQuery1.SQL.Clear;
self.ADOQuery1.SQL.Text := 'select * from TB2';
self.ADOQuery1.Open;
for i := 1 to 4 do
begin
if trim(excelworksheet1.cells.item[i+1,1])<>'' then
begin
self.ADOQuery1.Append;
self.ADOQuery1.FieldByName('Name').AsString := ExcelWorksheet1.Cells.Item [i+1,1];
self.ADOQuery1.FieldByName('Age').AsString := ExcelWorksheet1.Cells.Item [i+1,2];