joseueg 0 Denunciar post Postado Agosto 22, 2007 gente o q tem de errado nessa linha de codigo?, ta dando um erro de procedure. Vejam, se puderem me ajudar agradeço: unit UCMot;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBXpress, FMTBcd, StdCtrls, DB, Mask, DBCtrls, SqlExpr, Buttons, Menus, IBCustomDataSet, IBDatabase, Provider, DBClient;type TFrmCMot = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; dbano: TDBEdit; Label3: TLabel; dbmodelo: TDBEdit; Label4: TLabel; dbcor: TDBEdit; Label5: TLabel; dbplaca: TDBEdit; Label6: TLabel; dbpreco_sugerido: TDBEdit; Label7: TLabel; dbpreco_venda: TDBEdit; Label8: TLabel; dbchassi: TDBEdit; spanterior: TSpeedButton; spproximo: TSpeedButton; spprimeiro: TSpeedButton; Image1: TImage; Image2: TImage; spultimo: TSpeedButton; spincluir: TSpeedButton; spalterar: TSpeedButton; spexcluir: TSpeedButton; spsalvar: TSpeedButton; dbcbtipo: TDBComboBox; SQLConexao: TSQLConnection; SQLTCmot: TSQLTable; ClientDataSet1: TClientDataSet; DataSetProvider1: TDataSetProvider; DsCmot: TDataSource; spbsair: TSpeedButton; procedure spprimeiroClick(Sender: TObject); procedure spanteriorClick(Sender: TObject); procedure spproximoClick(Sender: TObject); procedure spincluirClick(Sender: TObject); procedure spalterarClick(Sender: TObject); procedure spexcluirClick(Sender: TObject); procedure spsalvarClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure dbpreco_sugeridoExit(Sender: TObject); procedure dbpreco_vendaExit(Sender: TObject); procedure ClientDataSet1AfterInsert(DataSet: TDataSet); procedure ClientDataSet1BeforePost(DataSet: TDataSet); procedure spbsairClick(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);private { Private declarations }public { Public declarations } end;var FrmCMot: TFrmCMot;implementation{$R *.dfm}procedure TFrmCMot.spprimeiroClick(Sender: TObject);begin ClientDataset1.First; spprimeiro.Enabled:= false; spanterior.Enabled:=false; spproximo.Enabled:= true; spultimo.Enabled:= true;end;procedure TFrmCMot.spanteriorClick(Sender: TObject);begin ClientDataset1.Prior; if ClientDataset1.Bof then begin spprimeiro.Enabled:= false; spanterior.Enabled:= false; end; spproximo.Enabled:=true; spultimo.Enabled:=true;end;procedure TFrmCMot.spproximoClick(Sender: TObject);begin ClientDataset1.Last; spprimeiro.Enabled:= true; spanterior.Enabled:= true; spproximo.Enabled:= false; spultimo.Enabled:= false;end;procedure TFrmCMot.spincluirClick(Sender: TObject);begin Case Application.MessageBox('Incluir cadastro ?','Confirmação',mb_YesNoCancel+MB_DEFBUTTON1)of Idyes: ClientDataset1.Insert; IdNo: ClientDataset1.Cancel; end;end;procedure TFrmCMot.spalterarClick(Sender: TObject);begin Case application.messagebox('Deseja alterar os dados cadastrados?','Confirmação', mb_YesnoCancel+MB_DEFBUTTON1) of IdYes:ClientDataset1.edit; //coloca a tabela em modo de edição IdNo: ClientDataset1.Cancel; end; if ClientDataset1.State in [dsinsert, dsedit] then //verifica se esta em modo de edição begin ClientDataset1.Post; //salva as alterações end;end;procedure TFrmCMot.spexcluirClick(Sender: TObject);begin if ClientDataset1.IsEmpty thenbegin Showmessage ('Não há registro a ser excluído'); Abort;end; Case application.MessageBox('Confirma a exclusão deste registro?','Confirmação', mb_yesno+MB_DEFBUTTON1) of IdYes: ClientDataset1.Delete; IdNo: Clientdataset1.Cancel; end;procedure TFrmCMot.spsalvarClick(Sender: TObject);Var tblAux : TTable; bolKeyViolation : Boolean;beginif ClientDataset1.State = dsInsert then begin { cria uma nova TTable em tempo de execução } tblAux := TTable.create(self); with tblAux do begin DataBaseName := ClientDataset1.DataBaseName; TableName := ClientDataset1.TableName; ReadOnly := true; Active := true; SetKey; FieldByName('Codigo').AsString := dbchassi.text; bolKeyViolation := GotoKey; Close; Free; end; end; if bolKeyViolation then raise Exception.Create('O codigo '+dbchassi.text+' já existe no arquivo !'); end; end;end; Case application.messagebox('Salvar alterações?','Confirmação',mb_yesno+MB_DEFBUTTON1) of idyes:ClientDataset1.Post; idno:ClientDataset1.Cancel; end;end;procedure TFrmCMot.FormActivate(Sender: TObject);begin ClientDataset1.Open;end;procedure TFrmCMot.dbpreco_sugeridoExit(Sender: TObject);begin dbpreco_sugerido.TEXT:= FORMATFLOAT('R$ ###,##0.00', STRTOFLOAT(dbpreco_sugerido.TEXT));end;procedure TFrmCMot.dbpreco_vendaExit(Sender: TObject);begin dbpreco_venda.TEXT:= FORMATFLOAT('R$ ###,##0.00', STRTOFLOAT(dbpreco_venda.TEXT));end;procedure TFrmCMot.ClientDataSet1AfterInsert(DataSet: TDataSet);begin dbcbtipo.SetFocus;end;procedure TFrmCMot.ClientDataSet1BeforePost(DataSet: TDataSet);begin if dbcbtipo.text= '' then begin MessageDlg('Campo " Tipo " deve ser preenchido.', MtWarning, [MbOk],0); dbcbtipo.SetFocus; Abort; end; if dbmodelo.Text = '' then begin MessageDlg('Campo " Modelo do veículo ou moto" deve ser preenchido.',MtWarning, [MbOk],0); dbcbtipo.SetFocus; Abort; end; if dbplaca.Text = '' then begin MessageDlg('Campo " Placa do veículo ou moto" deve ser preenchido.',MtWarning, [MbOk],0); dbcbtipo.SetFocus; Abort; end; if dbchassi.Text = '' then begin MessageDlg('Campo " Chassi do veículo ou moto" deve ser preenchido.',MtWarning, [MbOk],0); dbcbtipo.SetFocus; Abort; end; if dbpreco_venda.Text = '' then begin MessageDlg('Campo "Preço da venda " deve ser preenchido.',MtWarning, [MbOk],0); dbcbtipo.SetFocus; Abort; end;end;procedure TFrmCMot.spbsairClick(Sender: TObject);begin Case Application.MessageBox('Deseja sair do cadastro de veículos e motos?','Confirmação', mb_YesNo+MB_DEFBUTTON1) of dYes: ClientDataset1.Close; IdNo: ClientDataset1.Cancel; end;end;procedure TFrmCMot.FormCloseQuery(Sender: TObject; var CanClose: Boolean);Beginif ClientDataset1.State in DsEditModes then begin Case Application.MessageBox('Salvar alterações ?','CONFIRMAÇÃO',mb_yesNoCancel)of Idyes: ClientDataset1.Post; IdNo: ClientDataset1.Cancel; IdCancel: CanClose:= False; end;end;end. Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Agosto 22, 2007 Seria bom se colocasse a mensagem de erro... Mais fácil de localizar o problema... Compartilhar este post Link para o post Compartilhar em outros sites