aqui esta o codigo como vc pediu Adilson, espero q possam me ajudar... unit UfrmUsuario;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, UfrmCadPadrao, DB, IBCustomDataSet, IBQuery, Placemnt, StdCtrls, Mask, ExtCtrls, Buttons, ComCtrls, DBCtrls, DBEdNum, RxDBComb, Grids, DBGrids, fcdbtreeview, CheckLst, fcTreeView, lib; type TfrmUsuario = class(TfrmCadPadrao) Label2: TLabel; edtNome: TDBEdit; Label1: TLabel; edtSenha: TDBEdit; Label4: TLabel; edtConfirmacao: TEdit; rgMudar_Campo: TDBRadioGroup; btnDireito: TBitBtn; lblNivel: TLabel; edtMaster: TRxDBComboBox; function zValidaDados: Boolean; Override; procedure zGravaDados; Override; procedure FormCreate(Sender: TObject); procedure edtSenhaKeyPress(Sender: TObject; var Key: Char); procedure dtsPadraoStateChange(Sender: TObject); procedure btnPrimeiroClick(Sender: TObject); procedure btnAnteriorClick(Sender: TObject); procedure btnProximoClick(Sender: TObject); procedure btnUltimoClick(Sender: TObject); procedure btnNovoClick(Sender: TObject); procedure btnDireitoClick(Sender: TObject); procedure btnSalvarClick(Sender: TObject); procedure btnDescartarClick(Sender: TObject); private procedure SeForMaster; public yVetor : Array of Integer; end; var frmUsuario : TfrmUsuario; yAlterouSenha , yAlterou : Boolean; implementation uses udtaModulo, LibGenerica, ufrmPesquisa, ufrmDireitoUsuario; {$R *.dfm} { TfrmUsuario } function TfrmUsuario.zValidaDados: Boolean; begin zValidaDados := False; if zChecaEstadoDts(dtsPadrao, [dsEdit, dsInsert]) Then if yAlterouSenha Then if edtSenha.Text <> edtConfirmacao.Text Then begin edtConfirmacao.Text := zBranco; edtConfirmacao.SelectAll; zMensagem('A confirmação da senha inválida, favor redigitar !', edtConfirmacao); Exit; end; if edtNome.Text = zBranco Then zMensagem('Nome do usuário não pode ficar em branco !', edtNome) else if edtSenha.Text = zBranco Then zMensagem('O campo de senha não pode ficar em branco !', edtSenha) else if (edtConfirmacao.Text = zBranco) and yAlterouSenha Then zMensagem('O campo de confirmação da senha não pode ficar em branco !', edtConfirmacao) else zValidaDados := True; end; procedure TfrmUsuario.FormCreate(Sender: TObject); begin if (zSistema = 'Contabil') or (zSistema = 'Contabil') Then begin lblNivel.Visible := False; edtMaster.Visible := False; end; // inherited; zEstadoBotao( dtsPadrao, [ btnDireito ], [ False ], zINATIVO ); zCarregaImagemBtn([btnDireito]); yAlterou := False; yAlterouSenha := False; end; procedure TfrmUsuario.edtSenhaKeyPress(Sender: TObject; var Key: Char); begin yAlterouSenha := True; end; procedure TfrmUsuario.zGravaDados; Var yString : String; i : Integer; begin if yAlterouSenha Then dtsPadrao.DataSet.FieldByName('Senha').Value := zCriptografa(edtSenha.Text); if yAlterou Then begin for i := 0 to High(yVetor) do yString := yString + IntToStr(yVetor[i]) + '#'; dtsPadrao.DataSet.FieldByName('Direitos').Value := zCriptografa(yString); end; inherited; yAlterou := False; edtConfirmacao.Text := zBranco; end; procedure TfrmUsuario.dtsPadraoStateChange(Sender: TObject); begin if zChecaEstadoDts(dtsPadrao, [dsEdit, dsInsert]) Then edtConfirmacao.Enabled := True else edtConfirmacao.Enabled := False; // inherited; // Edicao zEstadoBotao( dtsPadrao, [ btnDireito ], [ True ], zEDICAO ); // Inativo zEstadoBotao( dtsPadrao, [ btnDireito ], [ False ], zINATIVO ); // Insert zEstadoBotao( dtsPadrao, [ btnDireito ], [ False ], zINSERCAO ); // Browse zEstadoBotao( dtsPadrao, [ btnDireito ], [ True ], zBROWSE ); // SeForMaster; end; procedure TfrmUsuario.SeForMaster; begin if dtsPadrao.DataSet.Active = True Then if dtaModulo.tbUsuario.FieldByName('Master').AsString = zSim Then begin zDesligaBotao(btnExcluir); zDesligaBotao(btnDireito); end else begin zLigaBotao(btnExcluir); zLigaBotao(btnDireito); end; end; procedure TfrmUsuario.btnPrimeiroClick(Sender: TObject); begin inherited; SeForMaster; end; procedure TfrmUsuario.btnAnteriorClick(Sender: TObject); begin inherited; SeForMaster; end; procedure TfrmUsuario.btnProximoClick(Sender: TObject); begin inherited; SeForMaster; end; procedure TfrmUsuario.btnUltimoClick(Sender: TObject); begin inherited; SeForMaster; end; procedure TfrmUsuario.btnNovoClick(Sender: TObject); begin inherited; dtsPadrao.DataSet.FieldByName('Tab_Enter').Value := zTAB; end; procedure TfrmUsuario.btnDireitoClick(Sender: TObject); procedure xProcura(Var yTxt: String; Var x : Integer); begin yVetor[x] := StrToInt(yTxt); yTxt := zBranco; Inc(x); end; Var i : Integer; x : Integer; yVar : String; yTxt : String; begin if zChecaEstadoDts(dtsPadrao, [dsEdit, dsBrowse]) Then begin yVar := zDescriptografa(dtsPadrao.DataSet.FieldByName('Direitos').AsString); for i := 0 to High(yVetor) do yVetor[i] := 0; x := 0; SetLength(yVetor, 500); if yVar <> zBranco Then begin for i := 1 to Length(yVar)-1 do begin if yVar[i] <> '#' Then yTxt := yTxt + yVar[i] else xProcura(yTxt, x); end; xProcura(yTxt, x); end; end; frmDireitoUsuario := TfrmDireitoUsuario.Create(btnDireito); frmDireitoUsuario.Caption := 'Alterando os direitos de ' + edtNome.Text; frmDireitoUsuario.ShowModal; if yAlterou Then if zChecaEstadoDts(dtsPadrao, [dsBrowse]) Then dtsPadrao.DataSet.Edit; end; procedure TfrmUsuario.btnSalvarClick(Sender: TObject); begin inherited; yAlterou := False; edtConfirmacao.Text := zBranco; end; procedure TfrmUsuario.btnDescartarClick(Sender: TObject); begin inherited; yAlterou := False; yAlterouSenha := False; end; end. From: Adilson Nunes Fernandes Sent: Monday, June 09, 2008 11:50 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Criar um Form Poste seu código para poderem ver. ----- Original Message ----- From: Daniel F. C. To: delphi-br@yahoogrupos.com.br Sent: Monday, June 09, 2008 11:29 PM Subject: Re: [delphi-br] Criar um Form eu tenho um sistema de contabilidade e agora estou tentando criar um for de Usuario, na minha concepcao fiz tudo certinho, mas quando clico no menu CADASTRO/Usuario ele da esse erro: Project Contabil.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error SQL Error code = -104 Unexpected end of command - line1, column 10'. Process Stopped. Use Step or Run to continue O que fazer? o que eu estou fazendo de errado???. O problema não é na criação do formulário mas sim em alguma instrução SQL que está sendo executada quando o form é criado ou mostrado. Tem algum evento no formulário que tenta executar alguma query na base de dados ? Daniel Franco. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]