全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:966
推到 Plurk!
推到 Facebook!

顯示問題

尚未結案
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-16 10:18:01 IP:61.228.xxx.xxx 未訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-16 10:42:40 IP:61.219.xxx.xxx 未訂閱
  ...
  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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-16 12:05:41 IP:61.154.xxx.xxx 未訂閱
用TQuery SQL語句(Insert into/Update)比較好吧. ———— 我輕輕地來時 不希冀能收獲一片綠葉 你卻給了我整個春天 我悄悄走時 不渴望帶走一絲回憶 你卻給了我一生的掛念
------
————
我輕輕地來時 不希冀能收獲一片綠葉
你卻給了我整個春天

我悄悄走時 不渴望帶走一絲回憶
你卻給了我一生的掛念
系統時間:2024-05-05 21:12:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!