【DO!BOOK・ページリンク】
2008_migaro_techreport_001   90 / 136

BOOKをみる

10秒後にBOOKのページに移動します


88 ソース3 ----- << ここまで省略 >> ------ type TAS400Infomation = class(TAutoObject, IAS400Infomation) private // 内部変数 FCustNo: Integer; // 得意先コード FCustName: String; // 得意先名 protected function Get_CustName: WideString; safecall; function Get_CustNo: Integer; safecall; procedure GetData; safecall; procedure Set_CustNo(Value: Integer); safecall; end; implementation uses ComServ, MainFrm, SysUtils, Dialogs, DBTables; function TAS400Infomation.Get_CustName: WideString; begin // 得意先名の内部値を渡す Result := FCustName; end; function TAS400Infomation.Get_CustNo: Integer; begin // 得意先コードの内部値を渡す Result := FCustNo; end; procedure TAS400Infomation.GetData; begin try // 得意先コードが指定されない場合、エラーとする if FCustNo = 0 then raise Exception.Create(' 得意先コードが指定されていま せん。'); // クエリーを使用し、得意先コードをキーに得意先マス ターを検索し、 // 得意先名を取得する with frmMain.Query1 do begin // クエリーを閉じる Active := False; // 得意先コードパラメータに得意先コード内部値を代入 する ParamByName('CUSTNO').AsInteger := FCustNo; // クエリーを実行する Active := True; try First; // データが存在しない場合、エラーとする if Eof and Bof then raise Exception.Create(' 指定された得意先コードは 存在しません。'); // 取得結果を得意先名内部値に代入する FCustName := FieldByName('CUSTNM').AsString; finally // クエリーを閉じる Active := False; end; end; except // エラーメッセージの表示 on E: Exception do begin MessageDlg(E.Message, mtError, [mbOK], 0); end; end; end; procedure TAS400Infomation.Set_CustNo(Value: Integer); begin // パラメータを内部値にセットし、得意先名を初期化する FCustNo := Value; FCustName := ''; end; ----- << 以下省略 >> -----