顯示問題 |
尚未結案
|
nick899
一般會員 發表:16 回覆:22 積分:12 註冊:2002-12-09 發送簡訊給我 |
unit frm2comp; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls, Buttons,
ComCtrls; type
TForm2Comp = class(TForm)
Panel1: TPanel;
F2Label1: TLabel;
F2Label2: TLabel;
F2Label3: TLabel;
F2Label4: TLabel;
F2Label5: TLabel;
F2Label6: TLabel;
F2Label7: TLabel;
F2Label10: TLabel;
F2Label12: TLabel;
F2Label14: TLabel;
F2Label15: TLabel;
F2Label16: TLabel;
F2Label17: TLabel;
F2Label18: TLabel;
F2Label19: TLabel;
F2Label20: TLabel;
F2Label9: TLabel;
F2Label11: TLabel;
F2Label21: TLabel;
F2Label13: TLabel;
F2Label8: TLabel;
F2Edit1: TEdit;
F2Edit2: TEdit;
F2Edit3: TEdit;
F2Edit5: TEdit;
F2Edit7: TEdit;
F2Edit4: TEdit;
F2Edit6: TEdit;
F2Edit8: TEdit;
F2Edit10: TEdit;
F2Edit12: TEdit;
F2Edit14: TEdit;
F2Edit16: TEdit;
F2Edit18: TEdit;
F2Edit17: TEdit;
F2Edit15: TEdit;
F2Edit19: TEdit;
F2Edit20: TEdit;
F2Edit21: TEdit;
F2Edit9: TEdit;
F2Edit11: TEdit;
F2Edit13: TEdit;
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
Panel2: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
BitBtn1frm2Comp: TBitBtn;
Button4: TButton;
Button5: TButton;
Button6: TButton;
StatusBar1: TStatusBar;
Timer1: TTimer;
procedure BitBtn1frm2CompClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button2Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form2Comp: TForm2Comp;
Smessage:String; implementation {$R *.dfm} procedure TForm2Comp.BitBtn1frm2CompClick(Sender: TObject);
begin
Table1.Close; {??? 請問在fm2comp 離開時是否要加此行關掉table1, 還是delphi本身close就有含關檔功能??? }
Close;
end; { 新增 }
procedure TForm2Comp.Button1Click(Sender: TObject);
begin
with Table1 do
begin
Try
Append;
FieldByName('CompanyNo').AsString := F2Edit1.Text;
FieldByName('CompanyName').AsString := F2Edit2.Text;
FieldByName('PersonCharge').AsString := F2Edit3.Text;
FieldByName('ID').AsString := F2Edit4.Text;
FieldByName('Tel').AsString := F2Edit5.Text;
FieldByName('Fax').AsString := F2Edit6.Text;
FieldByName('Liaison').AsString := F2Edit7.Text;
FieldByName('CellPhone').AsString:= F2Edit8.Text;
FieldByName('Code1').AsString:=F2Edit9.Text;
FieldByName('Code1Address').AsString:=F2Edit10.Text;
FieldByName('Code2').AsString:=F2Edit11.Text;
FieldByName('Code2Address').AsString:=F2Edit12.Text;
FieldByName('Code3').AsString:=F2Edit13.Text;
FieldByName('Code3Address').AsString:=F2Edit14.Text;
FieldByName('Industry').AsString:=F2Edit15.Text;
FieldByName('LeviesNumber').AsString:=F2Edit16.Text;
FieldByName('Taxation').AsString:=F2Edit17.Text;
FieldByName('Organize').AsString:=F2Edit18.Text;
FieldByName('HouseNumber').AsString:=F2Edit19.Text;
FieldByName('OpenDate').AsString:=F2Edit20.Text;
FieldByName('Cemail').AsString:=F2Edit21.Text;
Post;
ShowMessage(' 資料已正確存檔');
except
Cancel;
ShowMessage('資料存檔發生錯誤,請檢查資料是否正確,或公司代號重複');
end;
end;
end; {上一筆}
procedure TForm2Comp.Button4Click(Sender: TObject);
begin
Table1.Prior;
if table1.Bof then
begin
StatusBar1.Panels[1].Text:=SMessage ' 第一筆資料';
Timer1.Enabled:=True;
{ ????????? 問題一}
With Table1 do
begin
F2Edit1.Text:=FieldByName('CompanyNo').AsString;
F2Edit2.Text:=FieldByName('CompanyName').AsString;
F2Edit3.Text:=FieldByName('PersonCharge').AsString;
F2Edit4.Text:=FieldByName('ID').AsString;
F2Edit5.Text:=FieldByName('Tel').AsString;
F2Edit6.Text:=FieldByName('Fax').AsString;
F2Edit7.Text:=FieldByName('Liaison').AsString;
F2Edit8.Text:= FieldByName('CellPhone').AsString;
F2Edit9.Text:= FieldByName('Code1').AsString;
F2Edit10.Text:=FieldByName('Code1Address').AsString;
F2Edit11.Text:=FieldByName('Code2').AsString;
F2Edit12.Text:=FieldByName('Code2Address').AsString;
F2Edit13.Text:=FieldByName('Code3').AsString;
F2Edit14.Text:=FieldByName('Code3Address').AsString;
F2Edit15.Text:=FieldByName('Industry').AsString;
F2Edit16.Text:=FieldByName('LeviesNumber').AsString;
F2Edit17.Text:=FieldByName('Taxation').AsString;
F2Edit18.Text:=FieldByName('Organize').AsString;
F2Edit19.Text:=FieldByName('HouseNumber').AsString;
F2Edit20.Text:=FieldByName('OpenDate').AsString;
F2Edit21.Text:=FieldByName('Cemail').AsString;
end;
{ ??????? }
end;
end; {下一筆}
procedure TForm2Comp.Button5Click(Sender: TObject);
begin
Table1.Next;
if table1.eof then
begin
StatusBar1.Panels[1].Text:=SMessage ' 最後一筆資料';
Timer1.Enabled:=True;
{???????? 問題一}
With Table1 do
begin
F2Edit1.Text:=FieldByName('CompanyNo').AsString;
F2Edit2.Text:=FieldByName('CompanyName').AsString;
F2Edit3.Text:=FieldByName('PersonCharge').AsString;
F2Edit4.Text:=FieldByName('ID').AsString;
F2Edit5.Text:=FieldByName('Tel').AsString;
F2Edit6.Text:=FieldByName('Fax').AsString;
F2Edit7.Text:=FieldByName('Liaison').AsString;
F2Edit8.Text:= FieldByName('CellPhone').AsString;
F2Edit9.Text:= FieldByName('Code1').AsString;
F2Edit10.Text:=FieldByName('Code1Address').AsString;
F2Edit11.Text:=FieldByName('Code2').AsString;
F2Edit12.Text:=FieldByName('Code2Address').AsString;
F2Edit13.Text:=FieldByName('Code3').AsString;
F2Edit14.Text:=FieldByName('Code3Address').AsString;
F2Edit15.Text:=FieldByName('Industry').AsString;
F2Edit16.Text:=FieldByName('LeviesNumber').AsString;
F2Edit17.Text:=FieldByName('Taxation').AsString;
F2Edit18.Text:=FieldByName('Organize').AsString;
F2Edit19.Text:=FieldByName('HouseNumber').AsString;
F2Edit20.Text:=FieldByName('OpenDate').AsString;
F2Edit21.Text:=FieldByName('Cemail').AsString;
end;
{ ??????? }
end;
end; procedure TForm2Comp.DBGrid1CellClick(Column: TColumn);
begin
{???????? 問題一}
With Table1 do
begin
F2Edit1.Text:=FieldByName('CompanyNo').AsString;
F2Edit2.Text:=FieldByName('CompanyName').AsString;
F2Edit3.Text:=FieldByName('PersonCharge').AsString;
F2Edit4.Text:=FieldByName('ID').AsString;
F2Edit5.Text:=FieldByName('Tel').AsString;
F2Edit6.Text:=FieldByName('Fax').AsString;
F2Edit7.Text:=FieldByName('Liaison').AsString;
F2Edit8.Text:= FieldByName('CellPhone').AsString;
F2Edit9.Text:= FieldByName('Code1').AsString;
F2Edit10.Text:=FieldByName('Code1Address').AsString;
F2Edit11.Text:=FieldByName('Code2').AsString;
F2Edit12.Text:=FieldByName('Code2Address').AsString;
F2Edit13.Text:=FieldByName('Code3').AsString;
F2Edit14.Text:=FieldByName('Code3Address').AsString;
F2Edit15.Text:=FieldByName('Industry').AsString;
F2Edit16.Text:=FieldByName('LeviesNumber').AsString;
F2Edit17.Text:=FieldByName('Taxation').AsString;
F2Edit18.Text:=FieldByName('Organize').AsString;
F2Edit19.Text:=FieldByName('HouseNumber').AsString;
F2Edit20.Text:=FieldByName('OpenDate').AsString;
F2Edit21.Text:=FieldByName('Cemail').AsString;
end;
{???????????}
end; procedure TForm2Comp.Button2Click(Sender: TObject);
begin
with Table1 do
begin
Try
//進入修改模式
edit;
//將指定資料寫入各個欄位
FieldByName('CompanyNo').AsString := F2Edit1.Text;
FieldByName('CompanyName').AsString := F2Edit2.Text;
FieldByName('PersonCharge').AsString := F2Edit3.Text;
FieldByName('ID').AsString := F2Edit4.Text;
FieldByName('Tel').AsString := F2Edit5.Text;
FieldByName('Fax').AsString := F2Edit6.Text;
FieldByName('Liaison').AsString := F2Edit7.Text;
FieldByName('CellPhone').AsString:= F2Edit8.Text;
FieldByName('Code1').AsString:=F2Edit9.Text;
FieldByName('Code1Address').AsString:=F2Edit10.Text;
FieldByName('Code2').AsString:=F2Edit11.Text;
FieldByName('Code2Address').AsString:=F2Edit12.Text;
FieldByName('Code3').AsString:=F2Edit13.Text;
FieldByName('Code3Address').AsString:=F2Edit14.Text;
FieldByName('Industry').AsString:=F2Edit15.Text;
FieldByName('LeviesNumber').AsString:=F2Edit16.Text;
FieldByName('Taxation').AsString:=F2Edit17.Text;
FieldByName('Organize').AsString:=F2Edit18.Text;
FieldByName('HouseNumber').AsString:=F2Edit19.Text;
FieldByName('OpenDate').AsString:=F2Edit20.Text;
FieldByName('Cemail').AsString:=F2Edit21.Text;
Post;
ShowMessage('資料修改成功!!');
except
Cancel;
ShowMessage('資料修改存檔發生錯誤,請檢查資料是否正確,且沒有重複的編號!!');
end;
end;
end; {清除各個edit}
procedure TForm2Comp.Button6Click(Sender: TObject);
var i:integer;
begin
for i:=0 to ComponentCount-1 do
begin
if (Components[i] is Tedit) then
begin
(Components[i] as Tedit).Text:='';
end;
end;
end; {刪除}
procedure TForm2Comp.Button3Click(Sender: TObject);
begin
with Table1 do
begin
try
Delete;
ShowMessage('資料已刪除');
{???????? 問題一}
F2Edit2.Text:=FieldByName('CompanyName').AsString;
F2Edit3.Text:=FieldByName('PersonCharge').AsString;
F2Edit4.Text:=FieldByName('ID').AsString;
F2Edit5.Text:=FieldByName('Tel').AsString;
F2Edit6.Text:=FieldByName('Fax').AsString;
F2Edit7.Text:=FieldByName('Liaison').AsString;
F2Edit8.Text:= FieldByName('CellPhone').AsString;
F2Edit9.Text:= FieldByName('Code1').AsString;
F2Edit10.Text:=FieldByName('Code1Address').AsString;
F2Edit11.Text:=FieldByName('Code2').AsString;
F2Edit12.Text:=FieldByName('Code2Address').AsString;
F2Edit13.Text:=FieldByName('Code3').AsString;
F2Edit14.Text:=FieldByName('Code3Address').AsString;
F2Edit15.Text:=FieldByName('Industry').AsString;
F2Edit16.Text:=FieldByName('LeviesNumber').AsString;
F2Edit17.Text:=FieldByName('Taxation').AsString;
F2Edit18.Text:=FieldByName('Organize').AsString;
F2Edit19.Text:=FieldByName('HouseNumber').AsString;
F2Edit20.Text:=FieldByName('OpenDate').AsString;
F2Edit21.Text:=FieldByName('Cemail').AsString;
{?????????}
except
ShowMessage('無法刪除資料');
end;
end;
end; procedure TForm2Comp.Timer1Timer(Sender: TObject);
var S:Integer;
begin
S:=Timer1.Interval;
if s = 1000 then
begin
StatusBar1.Panels[1].Text:=SMessage '';
Timer1.Enabled:=False;
end;
end; procedure TForm2Comp.FormCreate(Sender: TObject);
begin
SMessage:='訊息:';
end; end. 問題一:上例{???? 問題一 } 大多重覆之程式,我如作一個副程式,而各程式去呼叫它 謝謝您
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
... private { Private declarations } public procedure AssignValue; //自行加上procedure 宣告 { Public declarations } end; ... implementation {$R *.dfm} procedure TForm2Comp.AssignValue; begin FieldByName('CompanyNo').AsString := F2Edit1.Text; FieldByName('CompanyName').AsString := F2Edit2.Text; ... end; procedure TForm2Comp.Button1Click(Sender: TObject); begin with Table1 do begin Try Append; AssignValue; Post; ShowMessage(' 資料已正確存檔'); except Cancel; ShowMessage('資料存檔發生錯誤,請檢查資料是否正確,或公司代號重複'); end; end; end;Table1由於Owner為Form, 因此Form free時會將他free(close不會), 也順便close,不過最好還是自行close. 為何不用DataAware元件, 如DBEdit等 |
zrweng
一般會員 發表:0 回覆:8 積分:16 註冊:2002-10-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |