Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marciocorbolan

Problema com Delphi, creio eu que seja declaração...

Recommended Posts

Boa tarde,

 

 

Recentemente comprei o livro "Sistema Comercial Integrado com Delphi 2005 - Cadastro e Estoque", a principio gostei bastante do livro por ele construir um aplicativo junto do leitor. Outro fator interessante é a explicação sobre os componentes e suas funções conforme a utilização! Após algum tempo de leitura, cheguei ao Capítulo 9, página 151. A partir desta página o livro começou a pecar nas explicações e dai comeram os problemas que descreverei a baixo!

 

 

Atualmente, o problema se dá na declaração de uma classe me parece! Postarei o código e deixarei as linhas que informam os erros comentadas. Abaixo colocarei tambem as mensagens de erro:

 

Na paleta Menssages acusa o seguinte erro: [DCC Error] frmFormPadrao1.pas(108): E2147 Property 'Executar' does not exist in base class

Na paleta Structure acusa o seguinte erro: Undefined property 'Executar' at line 108 (108:14)

 

Na paleta Menssages acusa o seguinte erro: [DCC Error] frmFormPadrao1.pas(122): E2003 Undeclared identifier: 'FExecutar'

Na paleta Structure acusa o seguinte erro: Undeclared identifier 'FExecutar' at line 123 (123:3)

 

 

unit frmFormPadrao1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ImgList, ComCtrls, ToolWin, Menus, ExtCtrls, StdCtrls, Mask, DBCtrls,
 DB, IBCustomDataSet;

type
 TExecutar = (navegacao);
 TFormPadrao1 = class(TForm)
   ImageList1: TImageList;
   ImageList2: TImageList;
   ImageList3: TImageList;
   ToolBar1: TToolBar;
   btn_AutoFiltrar: TToolButton;
   ToolButton2: TToolButton;
   btn_Inicio: TToolButton;
   btn_Anterior: TToolButton;
   btn_Proximo: TToolButton;
   btn_Final: TToolButton;
   ToolButton7: TToolButton;
   btn_Incluir: TToolButton;
   btn_Alterar: TToolButton;
   btn_Excluir: TToolButton;
   btn_Marcar: TToolButton;
   ToolButton12: TToolButton;
   btn_Gravar: TToolButton;
   btn_Reverter: TToolButton;
   ToolButton15: TToolButton;
   btn_Ajuda: TToolButton;
   btn_Sair: TToolButton;
   PopupMenu1: TPopupMenu;
   m11: TMenuItem;
   m12: TMenuItem;
   N1: TMenuItem;
   m13: TMenuItem;
   m14: TMenuItem;
   N2: TMenuItem;
   m15: TMenuItem;
   m16: TMenuItem;
   PopupMenu2: TPopupMenu;
   m21: TMenuItem;
   N3: TMenuItem;
   m22: TMenuItem;
   PopupMenu3: TPopupMenu;
   m31: TMenuItem;
   m32: TMenuItem;
   N4: TMenuItem;
   m33: TMenuItem;
   m34: TMenuItem;
   StatusBar1: TStatusBar;
   Panel1: TPanel;
   PageControl1: TPageControl;
   TabSheetFicha: TTabSheet;
   TabSheetImprimir: TTabSheet;
   Image1: TImage;
   TabSheetTabela: TTabSheet;
   PanelEntrada: TPanel;
   PanelFicha: TPanel;
   Panel2: TPanel;
   Panel3: TPanel;
   Panel4: TPanel;
   Panel5: TPanel;
   Panel6: TPanel;
   Image2: TImage;
   IBDataSet1: TIBDataSet;
   DataSource1: TDataSource;
   IBDataSet1ID: TIntegerField;
   IBDataSet1STATUS: TIBStringField;
   IBDataSet1MARCA: TIBStringField;
   IBDataSet1DATA_INC: TDateField;
   IBDataSet1DATA_ALT: TDateField;
   IBDataSet1DATA_HAB: TDateField;
   IBDataSet1CAMPO_TESTE: TIBStringField;
   Label1: TLabel;
   DBEdit1: TDBEdit;
   Label2: TLabel;
   DBEdit2: TDBEdit;
   Label3: TLabel;
   DBEdit3: TDBEdit;
   Label4: TLabel;
   DBEdit4: TDBEdit;
   Label5: TLabel;
   DBEdit5: TDBEdit;
   Label6: TLabel;
   DBEdit6: TDBEdit;
   Label7: TLabel;
   DBEdit7: TDBEdit;
   procedure btn_SairClick(Sender: TObject);
   procedure btn_InicioClick(Sender: TObject);
   procedure btn_AnteriorClick(Sender: TObject);
   procedure btn_ProximoClick(Sender: TObject);
   procedure btn_FinalClick(Sender: TObject);
   procedure btn_IncluirClick(Sender: TObject);
   procedure btn_AlterarClick(Sender: TObject);
   procedure m21Click(Sender: TObject);
   procedure btn_GravarClick(Sender: TObject);
   procedure btn_ReverterClick(Sender: TObject);
   procedure FormActivate(Sender: TObject);
   procedure m12Click(Sender: TObject);
 private
   procedure SetExecutar(const Value: TExecutar);
   { Private declarations }
 public
   { Public declarations }
   property Executar;  //Primeiro ocorrência de erro: [DCC Error] frmFormPadrao1.pas(108): E2147 Property 'Executar' does not exist in base class

 end;

var
 FormPadrao1: TFormPadrao1;

implementation

uses frmDM;

{$R *.dfm}

procedure TFormPadrao1.SetExecutar(const Value: TExecutar);
begin
 FExecutar := Value; // Segunda ocorrência de erro: [DCC Error] frmFormPadrao1.pas(122): E2003 Undeclared identifier: 'FExecutar'

 case Value of
   //Hablita os botões de navegação
   navegacao: begin
     if IBDataSet1.Eof then
       begin
         btn_Proximo.Enabled := False;
         btn_Final.Enabled := False;
       end
     else
       begin
         btn_Proximo.Enabled := True;
         btn_Final.Enabled := True;
       end;

     if IBDataSet1.Bof then
       begin
         btn_Inicio.Enabled := False;
         btn_Anterior.Enabled := False;
       end
     else
       begin
         btn_Inicio.Enabled := True;
         btn_Anterior.Enabled := True;
       end;
   end;
 end;
end;

end.

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

 

Enfim... achei na web a solução para o problema, mas não entendi direito o porque das coisas, se alguem puder me ajudar a entender eu agradeço! Abaixo vou colocar as alterações necessárias.

 

private
   FExecutar: TExecutar; // Acrescentei está linha
   procedure SetExecutar(const Value: TExecutar);
   { Private declarations }
 public
   { Public declarations }
   property Executar: TExecutar read FExecutar write SetExecutar; // Antes era assim: property Executar;

 

 

Agora estou com outro problema, mas ainda relacionado ao acima! Estou declarando umas rotinas, mas o compilador fica acusando o mesmo erro em todas elas. Postarei o código e deixarei as linhas que informam os erros comentadas. Abaixo colocarei tambem as mensagens:

 

Na paleta Menssages acusa o seguinte erro: [DCC Error] frmFormPadrao1.pas(176): E2029 ':=' expected but ':' found

Na paleta Structure acusa o seguinte erro: SelExecutar' does not contain a member named 'sentencaSQL' at line 176 (176:3)

 

 //Executa sentença SQL
 sentencaSQL: Begin //Aqui ocorre o erro, ele "sublinha" a palavra "sentencaSQL".
   IBDataSet1.Close;
   IBDataSet1.SelectSQL.Clear;
   IBDataSet1.SelectSQL.Add(strSql);
   IBDataset1.Open;
   IBDataSet1.First;

   if (IBDataSet1.RecordCount = 0) and (operacaoIncluir = 0) then
     begin
       mensagem := 'Não foi encontrado nenhum registro que ' + #13
       + 'satisfaça a sua pesquisa. ';
       Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
     end;
 End;

 

Todas as rotinas que eu inicio como está "sentencaSQL: Begin" acusa o mesmo erro e no mesmo lugar!, o que poderia ser isto?

Abaixo colocarei o código inteiro e com os erros comentados

 

unit frmFormPadrao1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ImgList, ComCtrls, ToolWin, Menus, ExtCtrls, StdCtrls, Mask, DBCtrls,
 DB, IBCustomDataSet, Buttons;

type
 TExecutar = (navegacao, sentencaSQL, exibePanels, desabilitaBotoes, habilitaBotoes);
 TFormPadrao1 = class(TForm)
   ImageList1: TImageList;
   ImageList2: TImageList;
   ImageList3: TImageList;
   ToolBar1: TToolBar;
   btn_AutoFiltrar: TToolButton;
   ToolButton2: TToolButton;
   btn_Inicio: TToolButton;
   btn_Anterior: TToolButton;
   btn_Proximo: TToolButton;
   btn_Final: TToolButton;
   ToolButton7: TToolButton;
   btn_Incluir: TToolButton;
   btn_Alterar: TToolButton;
   btn_Excluir: TToolButton;
   btn_Marcar: TToolButton;
   ToolButton12: TToolButton;
   btn_Gravar: TToolButton;
   btn_Reverter: TToolButton;
   ToolButton15: TToolButton;
   btn_Ajuda: TToolButton;
   btn_Sair: TToolButton;
   PopupMenu1: TPopupMenu;
   m11: TMenuItem;
   m12: TMenuItem;
   N1: TMenuItem;
   m13: TMenuItem;
   m14: TMenuItem;
   N2: TMenuItem;
   m15: TMenuItem;
   m16: TMenuItem;
   PopupMenu2: TPopupMenu;
   m21: TMenuItem;
   N3: TMenuItem;
   m22: TMenuItem;
   PopupMenu3: TPopupMenu;
   m31: TMenuItem;
   m32: TMenuItem;
   N4: TMenuItem;
   m33: TMenuItem;
   m34: TMenuItem;
   StatusBar1: TStatusBar;
   Panel1: TPanel;
   PageControl1: TPageControl;
   TabSheetFicha: TTabSheet;
   TabSheetImprimir: TTabSheet;
   Image1: TImage;
   TabSheetTabela: TTabSheet;
   PanelEntrada: TPanel;
   PanelFicha: TPanel;
   Panel2: TPanel;
   Panel3: TPanel;
   Panel4: TPanel;
   Panel5: TPanel;
   Panel6: TPanel;
   Image2: TImage;
   IBDataSet1: TIBDataSet;
   DataSource1: TDataSource;
   IBDataSet1ID: TIntegerField;
   IBDataSet1STATUS: TIBStringField;
   IBDataSet1MARCA: TIBStringField;
   IBDataSet1DATA_INC: TDateField;
   IBDataSet1DATA_ALT: TDateField;
   IBDataSet1DATA_HAB: TDateField;
   IBDataSet1CAMPO_TESTE: TIBStringField;
   Label1: TLabel;
   DBEdit1: TDBEdit;
   Label2: TLabel;
   DBEdit2: TDBEdit;
   Label3: TLabel;
   DBEdit3: TDBEdit;
   Label4: TLabel;
   DBEdit4: TDBEdit;
   Label5: TLabel;
   DBEdit5: TDBEdit;
   Label6: TLabel;
   DBEdit6: TDBEdit;
   Label7: TLabel;
   DBEdit7: TDBEdit;
   Label8: TLabel;
   ValorCampo: TEdit;
   btnOk: TSpeedButton;
   CheckHabilita: TDBCheckBox;
   CheckMarca: TDBCheckBox;
   LabelStatus: TLabel;
   procedure btn_SairClick(Sender: TObject);
   procedure btn_InicioClick(Sender: TObject);
   procedure btn_AnteriorClick(Sender: TObject);
   procedure btn_ProximoClick(Sender: TObject);
   procedure btn_FinalClick(Sender: TObject);
   procedure btn_IncluirClick(Sender: TObject);
   procedure btn_AlterarClick(Sender: TObject);
   procedure m21Click(Sender: TObject);
   procedure btn_GravarClick(Sender: TObject);
   procedure btn_ReverterClick(Sender: TObject);
   procedure FormActivate(Sender: TObject);
   procedure m12Click(Sender: TObject);
   procedure btnOkClick(Sender: TObject);
   procedure ValorCampoKeyPress(Sender: TObject; var Key: Char);
   procedure m22Click(Sender: TObject);
   procedure m31Click(Sender: TObject);
   procedure m32Click(Sender: TObject);
   procedure m33Click(Sender: TObject);
   procedure m34Click(Sender: TObject);
 private
   FExecutar: TExecutar;
   procedure SetExecutar(const Value: TExecutar);
   { Private declarations }
 public
   { Public declarations }
   property Executar: TExecutar read FExecutar write SetExecutar;
 end;

var
 FormPadrao1: TFormPadrao1;
 { define o tipo do campo ID }
 tipoId: Integer;
 { guarda mensagens }
 mensagem: String;
 { armazena a sentença SQL }
 strSql: String;
 { define o nome da tabela em uso }
 nomeTabela: string;
 { define uma operação de inclusão }
 operacaoIncluir: Integer;

implementation

uses frmDM;

{$R *.dfm}

procedure TFormPadrao1.SetExecutar(const Value: TExecutar);
begin
 FExecutar := Value;

 case Value of
   //Hablita os botões de navegação
   navegacao: begin
     if IBDataSet1.Eof then
       begin
         btn_Proximo.Enabled := False;
         btn_Final.Enabled := False;
       end
     else
       begin
         btn_Proximo.Enabled := True;
         btn_Final.Enabled := True;
       end;

     if IBDataSet1.Bof then
       begin
         btn_Inicio.Enabled := False;
         btn_Anterior.Enabled := False;
       end
     else
       begin
         btn_Inicio.Enabled := True;
         btn_Anterior.Enabled := True;
       end;
   end;
 end;

 //Executa sentença SQL
 sentencaSQL: Begin  //Aqui ocorre o erro, ele "sublinha" a palavra "sentencaSQL".
   IBDataSet1.Close;
   IBDataSet1.SelectSQL.Clear;
   IBDataSet1.SelectSQL.Add(strSql);
   IBDataset1.Open;
   IBDataSet1.First;

   if (IBDataSet1.RecordCount = 0) and (operacaoIncluir = 0) then
     begin
       mensagem := 'Não foi encontrado nenhum registro que ' + #13
       + 'satisfaça a sua pesquisa. ';
       Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
     end;
 End;

 //Exibe os textos nos paineis da barra de status
 exibePanels: begin  //Aqui ocorre o erro, ele "sublinha" a palavra "exibePanels"
   statusbar1.Panels[0].Text := ' INC: ' +
   IBDataSet1.FieldByName('data_inc').AsString;

   statusbar1.Panels[1].Text := ' ALT: ' +
   IBDataSet1.FieldByName('data_alt').AsString;

   statusbar1.Panels[3].Text := ' ' +
   IBDataSet1.FieldByName('ID').AsString;
 end;

 if (IBDataSet1.RecordCount = 0) and (operacaoIncluir = 0) then
   begin
     statusBar1.Panels[0].Text := '';
     statusBar1.Panels[1].Text := '';
     statusBar1.Panels[2].Text := '';
     statusBar1.Panels[3].Text := '';
   end;

 if (IBDataSet1.FieldByName('status').AsString = 'N') then
     LabelStatus.Visible := True
   else
     LabelStatus.Visible := False;

 // Desabilita botões ao incluir ou alterar um registro
 desabilitaBotoes: begin  //Aqui ocorre o erro, ele "sublinha" a palavra "desabilitaBotoes"
   btn_AutoFiltrar.Enabled := False;
   btn_Inicio.Enabled := False;
   btn_Anterior.Enabled := False;
   btn_Proximo.Enabled := False;
   btn_Final.Enabled := False;
   btn_Incluir.Enabled := False;
   btn_Alterar.Enabled := False;
   btn_Excluir.Enabled := False;
   btn_Marcar.Enabled := False;
   btn_Gravar.Enabled := True;
   btn_Reverter.Enabled := True;
   btn_Ajuda.Enabled := False;
   btn_Sair.Enabled := False;
 end;

 // Habilita botões ao Gravar ou Reverter uma inclusão ou alteração
 habilitaBotoes: begin  //Aqui ocorre o erro, ele "sublinha" a palavra "habilitaBotoes"
   btn_AutoFiltrar.Enabled := True;
   btn_Inicio.Enabled := True;
   btn_Anterior.Enabled := True;
   btn_Proximo.Enabled := True;
   btn_Final.Enabled := True;
   btn_Incluir.Enabled := True;

   if (IBDataSet1.RecordCount = 0) then
     begin
       btn_Anterior.Enabled := False;
       btn_Excluir.Enabled := False;
       btn_Marcar.Enabled := False;
     end
   else
     begin
       btn_Anterior.Enabled := True;
       btn_Excluir.Enabled := True;
       btn_Marcar.Enabled := True;
     end;

   btn_Gravar.Enabled := False;
   btn_Reverter.Enabled := False;
   btn_Ajuda.Enabled := False;
   btn_Sair.Enabled := True;
 end;

end;

procedure TFormPadrao1.ValorCampoKeyPress(Sender: TObject; var Key: Char);
begin
 if key = #13 then
   btnOk.Click;
end;

procedure TFormPadrao1.btnOkClick(Sender: TObject);
var
 converte: String;
 x: Integer;
begin
 strSql := 'SELECT * FROM ' + nomeTabela;
 strSql := strSql + ' WHERE ID = ' + #39 + ValorCampo.Text + #39;

 if tipoId = 0 then
   begin
     converte := '';
     for x := 1 to length(ValorCampo.Text) do
       begin
         if (valorCampo.Text[x] in ['0'..'9']) then
           converte := converte + copy(valorCampo.Text, x, 1);
       end;
     valorCampo.Text := converte;
   end;

 if valorCampo.Text <> '' then
   begin
     statusBar1.Panels[2].Text := ' Pesquisa por ID do registro';
     Executar := SentencaSql;
     Executar := exibePanels;
     Executar := navegacao;
     Executar := habilitaBotoes;
     valorCampo := '';
   end;
end;

procedure TFormPadrao1.btn_AlterarClick(Sender: TObject);
begin
 IBDataset1.Edit;

 { Habilitação e exibição de objetos }
 valorCampo.Enabled := False;
 btnOk.Visible := False;
 checkHabilita.Enabled := True;
 checkMarca.Enabled := True;
 PanelFicha.Enabled := True;

 { Alteração de registro }
 IBDataSet1.FieldByName('data_alt').AsDateTime := date;

 { Botões e barras de status }
 Executar := desabilitaBotoes;
 statusBar1.Panels[2].Text := ' Alteração de registro';
 Executar := exibePanels;
end;

procedure TFormPadrao1.btn_AnteriorClick(Sender: TObject);
begin
 IBDataset1.Prior;
 Executar := navegacao;
 Executar := exibePanels;
end;

procedure TFormPadrao1.btn_FinalClick(Sender: TObject);
begin
 IBDataset1.Last;
 Executar := navegacao;
 Executar := exibePanels;
end;

procedure TFormPadrao1.btn_GravarClick(Sender: TObject);
begin
 IBDataset1.Post;
 DM.Trans.CommitRetaining;

 mensagem := 'O registro foi incluído ou alterado com sucesso. ';
 Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
 Executar := habilitaBotoes;

 { Habilitação e exibição de objetos }
 valorCampo.Text := '';
 valorCampo.Enabled := True;
 btnOk.Enabled := True;
 checkHabilita.Enabled := False;
 checkMarca.Enabled := False;
 PanelFicha.Enabled := False;

 if (IBDataSet1.FieldByName('status').AsString = 'N') then
     labelStatus.Visible := True
   else
     labelStatus.Visible := False;
end;

procedure TFormPadrao1.btn_IncluirClick(Sender: TObject);
begin
 operacaoIncluir := 1;

 { Execução da sentença SQL }
 if (IBDataSet1.RecordCount = 0) then
   begin
     strSql := 'SELECT * FROM ' + nomeTabela + ' WHERE ID = 0';
     Executar := sentencaSQL;
   end;

 IBDataset1.Insert;

 { Habilitação e exibição de objetos }
 valorCampo.Enabled := False;
 btnOk.Visible := False;
 checkHabilita.Enabled := False;
 checkMarca.Enabled := False;
 LabelStatus.Visible := False;
 PanelFicha.Enabled := True;

 { Inclusão de registro }
 IBDataSet1.FieldByName('status').AsString := 'N';
 IBDataSet1.FieldByName('marca').AsString := 'N';
 IBDataSet1.FieldByName('data_inc').AsDateTime := date;

 { Botões e barra de status }
 Executar := desabilitaBotoes;
 statusBar1.Panels[2].Text := ' Inclusão de novo registro';
 Executar := exibePanels;

 operacaoIncluir := 0;
end;

procedure TFormPadrao1.btn_InicioClick(Sender: TObject);
begin
 IBDataset1.First;
 Executar := navegacao;
 Executar := exibePanels;
end;

procedure TFormPadrao1.btn_ProximoClick(Sender: TObject);
begin
 IBDataset1.Next;
 Executar := navegacao;
 Executar := exibePanels;
end;

procedure TFormPadrao1.btn_ReverterClick(Sender: TObject);
begin
 IBDataset1.Cancel;
 DM.Trans.RollbackRetaining;

 mensagem := 'A inclusão ou alteração deste registro foi abortada. ';
 Application.MessageBox(PChar(mensagem), 'Atenção', MB_Ok+mb_IconError);
 Executar := habilitaBotoes;

 { Habilitação e exibição de objetos }
 valorCampo.Text := '';
 valorCampo.Enabled := True;
 btnOk.Enabled := True;
 checkHabilita.Enabled := False;
 checkMarca.Enabled := False;
 PanelFicha.Enabled := False;

 if (IBDataSet1.FieldByName('status').AsString = 'N') then
     labelStatus.Visible := True
   else
     labelStatus.Visible := False;
end;

procedure TFormPadrao1.btn_SairClick(Sender: TObject);
begin
 IBDataSet1.Close;
 ValorCampo.Text := '';
 Executar := exibePanels;
 Close;
end;

procedure TFormPadrao1.FormActivate(Sender: TObject);
begin
 //PageControl1.ActivePageIndex := 0;
 //Executar := exibeBotoes;

 tipoId := 0;
 nomeTabela := 'teste';

 btn_AutoFiltrar.Enabled := True;
 btn_Inicio.Enabled := False;
 btn_Anterior.Enabled := False;
 btn_Proximo.Enabled := False;
 btn_Final.Enabled := False;
 btn_Incluir.Enabled := False;
 btn_Alterar.Enabled := False;
 btn_Excluir.Enabled := False;
 btn_Marcar.Enabled := False;
 btn_Gravar.Enabled := False;
 btn_Reverter.Enabled := False;
 btn_Ajuda.Enabled := False;
 btn_Sair.Enabled := True;

 valorCampo.Enabled := True;
 valorCampo.SetFocus;
 btnOk.Visible := True;
 checkHabilita.Enabled := False;
 checkMarca.Enabled := False;
 panelFicha.Enabled := False;
end;

procedure TFormPadrao1.m12Click(Sender: TObject);
begin
 strSql := 'SELECT * FROM ' + nomeTabela;
 StatusBar1.Panels[2].Text := ' Todos os registros selecionados';

 Executar := SentencaSQL;
 Executar := exibePanels;
 Executar := navegacao;
 Executar := habilitaBotoes;
end;

procedure TFormPadrao1.m21Click(Sender: TObject);
var
 confExcl: Integer;
begin
 beep;
 confExcl := Application.MessageBox('Confirma a exlusão deste registro?', 'Atenção',
 MB_YesNo+mb_DefButton2+mb_IconQuestion);
 if (confExcl = IDYes) then
   begin
     IBDataSet1.Delete;
     dm.Trans.CommitRetaining;
     mensagem := 'O registro foi exluido com sucesso. ';
     Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
   end
 else
   begin
     dm.Trans.RollbackRetaining;
     mensagem := 'A exlusão deste registro foi abortada. ';
     Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
   end;

 valorCampo.Text := '';
 valorCampo.SetFocus;
 Executar := habilitaBotoes;
 Executar := exibePanels;
end;

procedure TFormPadrao1.m22Click(Sender: TObject);
var
 confExcl: Integer;
begin
 beep;
 confExcl := Application.MessageBox('Você optou em Excluir todos os registro atualmente selecionados. ' + #13
 + 'Uma vez executada esta tarega, você não mais poderá recuperar tais registros.' + #13 + #13
 + 'Confirma a exlusão destes registros?', 'Atenção', MB_YesNo+mb_DefButton2+mb_IconQuestion);

 if (confExcl = IDYes) then
   begin
     IBDataSet1.First;

     while not IBDataSet1.Eof do
       IBDataSet1.Delete;

     dm.Trans.CommitRetaining;
     mensagem := 'Os registros selecionados foram exluidos com sucesso. ';
     Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
   end
 else
   begin
     dm.Trans.RollbackRetaining;
     mensagem := 'A exlusão dos registro selecionados foi abortada. ';
     Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
   end;

 valorCampo.Text := '';
 valorCampo.SetFocus;
 Executar := habilitaBotoes;
 Executar := exibePanels;
end;

procedure TFormPadrao1.m31Click(Sender: TObject);
begin
 IBDataSet1.First;

 while not IBDataSet1.Eof do
   begin
     IBDataSet1.Edit;
     IBDataSet1.FieldByName('marca').AsString := 'S';
     IBDataSet1.Next;
   end;

 dm.Trans.CommitRetaining;
end;

procedure TFormPadrao1.m32Click(Sender: TObject);
begin
 IBDataSet1.First;

 while not IBDataSet1.Eof do
   begin
     IBDataSet1.Edit;
     IBDataSet1.FieldByName('marca').AsString := 'N';
     IBDataSet1.Next;
   end;

 dm.Trans.CommitRetaining;
end;

procedure TFormPadrao1.m33Click(Sender: TObject);
begin
 strSql := 'SELECT * FROM ' + nomeTabela;
 statusBar1.Panels[2].Text := ' Todos os registros selecionados';
 Executar := SentencaSQL;
 valorCampo.Text := '';
 IBDataSet1.First;

 while not IBDataSet1.Eof do
   begin
     IBDataSet1.Edit;
     IBDataSet1.FieldByName('marca').AsString := 'S';
     IBDataSet1.Next;
   end;

 dm.Trans.CommitRetaining;
end;

procedure TFormPadrao1.m34Click(Sender: TObject);
begin
 strSql := 'SELECT * FROM ' + nomeTabela;
 statusBar1.Panels[2].Text := ' Todos os registros selecionados';
 Executar := SentencaSQL;
 valorCampo.Text := '';
 IBDataSet1.First;

 while not IBDataSet1.Eof do
   begin
     IBDataSet1.Edit;
     IBDataSet1.FieldByName('marca').AsString := 'N';
     IBDataSet1.Next;
   end;

 dm.Trans.CommitRetaining;
end;

end.

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quanto ao último código postado, acredito que o erro esteja no ponto que eu marquei abaixo:

procedure TFormPadrao1.SetExecutar(const Value: TExecutar);
begin
 FExecutar := Value;

 case Value of
   //Hablita os botões de navegação
   navegacao: begin
     if IBDataSet1.Eof then
       begin
         btn_Proximo.Enabled := False;
         btn_Final.Enabled := False;
       end
     else
       begin
         btn_Proximo.Enabled := True;
         btn_Final.Enabled := True;
       end;

     if IBDataSet1.Bof then
       begin
         btn_Inicio.Enabled := False;
         btn_Anterior.Enabled := False;
       end
     else
       begin
         btn_Inicio.Enabled := True;
         btn_Anterior.Enabled := True;
       end;
   end;
 end;  // ESte end está finalizando o CASE declarado acima, portanto invalidando boa parte do código em diante, uma vez que, pela sintaxe, deveria estar dentro do bloco do case acima.

 //Executa sentença SQL
 sentencaSQL: Begin  //Aqui ocorre o erro, ele "sublinha" a palavra "sentencaSQL".
   IBDataSet1.Close;
   IBDataSet1.SelectSQL.Clear;
   IBDataSet1.SelectSQL.Add(strSql);
   IBDataset1.Open;
   IBDataSet1.First;

   if (IBDataSet1.RecordCount = 0) and (operacaoIncluir = 0) then
     begin
       mensagem := 'Não foi encontrado nenhum registro que ' + #13
       + 'satisfaça a sua pesquisa. ';
       Application.MessageBox(PChar(mensagem), 'Informação', MB_Ok+mb_IconInformation);
     end;
 End;

 //Exibe os textos nos paineis da barra de status
 exibePanels: begin  //Aqui ocorre o erro, ele "sublinha" a palavra "exibePanels"
   statusbar1.Panels[0].Text := ' INC: ' +
   IBDataSet1.FieldByName('data_inc').AsString;

   statusbar1.Panels[1].Text := ' ALT: ' +
   IBDataSet1.FieldByName('data_alt').AsString;

   statusbar1.Panels[3].Text := ' ' +
   IBDataSet1.FieldByName('ID').AsString;
 end;

 if (IBDataSet1.RecordCount = 0) and (operacaoIncluir = 0) then
   begin
     statusBar1.Panels[0].Text := '';
     statusBar1.Panels[1].Text := '';
     statusBar1.Panels[2].Text := '';
     statusBar1.Panels[3].Text := '';
   end;

 if (IBDataSet1.FieldByName('status').AsString = 'N') then
     LabelStatus.Visible := True
   else
     LabelStatus.Visible := False;

 // Desabilita botões ao incluir ou alterar um registro
 desabilitaBotoes: begin  //Aqui ocorre o erro, ele "sublinha" a palavra "desabilitaBotoes"
   btn_AutoFiltrar.Enabled := False;
   btn_Inicio.Enabled := False;
   btn_Anterior.Enabled := False;
   btn_Proximo.Enabled := False;
   btn_Final.Enabled := False;
   btn_Incluir.Enabled := False;
   btn_Alterar.Enabled := False;
   btn_Excluir.Enabled := False;
   btn_Marcar.Enabled := False;
   btn_Gravar.Enabled := True;
   btn_Reverter.Enabled := True;
   btn_Ajuda.Enabled := False;
   btn_Sair.Enabled := False;
 end;

 // Habilita botões ao Gravar ou Reverter uma inclusão ou alteração
 habilitaBotoes: begin  //Aqui ocorre o erro, ele "sublinha" a palavra "habilitaBotoes"
   btn_AutoFiltrar.Enabled := True;
   btn_Inicio.Enabled := True;
   btn_Anterior.Enabled := True;
   btn_Proximo.Enabled := True;
   btn_Final.Enabled := True;
   btn_Incluir.Enabled := True;

   if (IBDataSet1.RecordCount = 0) then
     begin
       btn_Anterior.Enabled := False;
       btn_Excluir.Enabled := False;
       btn_Marcar.Enabled := False;
     end
   else
     begin
       btn_Anterior.Enabled := True;
       btn_Excluir.Enabled := True;
       btn_Marcar.Enabled := True;
     end;

   btn_Gravar.Enabled := False;
   btn_Reverter.Enabled := False;
   btn_Ajuda.Enabled := False;
   btn_Sair.Enabled := True;
 end;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.