egalauber 0 Denunciar post Postado Março 19, 2010 Estou começando a aprender Delphi, peguei um tutorial e fui seguindo... até q chegou uma hora que deu estes erros: [Error]ULogin.pas(47): Undeclared identifier: 'Dm' [Error]ULogin.pas(47): Missing operator or semicolon [Error]ULogin.pas(48): Missing operator or semicolon [Error]ULogin.pas(48): Missing operator or semicolon [Error]ULogin.pas(49): ')' expectec but identifier 'tab_Usuarios' found [Error]ULogin.pas(54): Undeclared identifier: 'Edt' [Error]ULogin.pas(56): ';' not allowed before 'ELSE' [Fatal Error] Sistema.dpr(9): Could not compile used unit 'ULogin.pas' O código é este: unit ULogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; type TFrmLogin = class(TForm) Image1: TImage; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; EdtApelido: TEdit; EdtSenha: TEdit; BtnOK: TBitBtn; BtnCancelar: TBitBtn; procedure BtnCancelarClick(Sender: TObject); procedure BtnOKClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FrmLogin: TFrmLogin; implementation uses UMenuPrin, UDM; {$R *.dfm} procedure TFrmLogin.BtnCancelarClick(Sender: TObject); begin Application.Terminate; end; procedure TFrmLogin.BtnOKClick(Sender: TObject); begin Dm.Tab_Usuarios.Open; // abre a tabela tab_Usuarios FrmMenuPrin.StatusBar1.Panels[2].Text := ' Usuário:' + FrmLogin.EdtApelido.Text + '-' + Dm.tab_UsuariosUsuDepto.AsSTring; If not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then begin MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte'+#13+'O administrador do sistema', mtError, [mbOK],0); EdtSenha.Clear; // limpa o objeto EdtSenha Edt.Senha.SetFocus; // Ajusta o foco para o objeto EdtSenha end; else begin FrmLogin.Hide; // Esconde a tela FrmMenuPrin.ShowModal; // chama a tela FrmMenuPrin no modo normal FrmLogin.Release; // Remove a tela da memória FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin end; end; end. Fiquei a tarde inteira tentando resolver, mas como eu disse, sou iniciante no Delphi. Vi algumas coisas falando de declarar no Unit, ou no Uses sei lá.... não entendi muito bem. Ajuda aí pessoal! Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 19, 2010 [Error]ULogin.pas(47): Undeclared identifier: 'Dm' -> não encontrou o DM (possivelmente pode ser um DataModule) - Faltou dar ALT+F11 para add a Uses [Error]ULogin.pas(47): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) [Error]ULogin.pas(48): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) [Error]ULogin.pas(48): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) [Error]ULogin.pas(49): ')' expectec but identifier 'tab_Usuarios' found -> Faltou o ')' (parenteses) [Error]ULogin.pas(54): Undeclared identifier: 'Edt' -> não encontrou o Edt [Error]ULogin.pas(56): ';' not allowed before 'ELSE' -> Não pode utilizar ; antes de ELSE Compartilhar este post Link para o post Compartilhar em outros sites
egalauber 0 Denunciar post Postado Março 19, 2010 Calma aí, vamos por partes.... [Error]ULogin.pas(47): Undeclared identifier: 'Dm' -> não encontrou o DM (possivelmente pode ser um DataModule) - Faltou dar ALT+F11 para add a Uses Como que eu faço isso? Quando aperto ALT+F11 tem o ULogin lá. [Error]ULogin.pas(47): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) [Error]ULogin.pas(48): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) [Error]ULogin.pas(48): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) Olha só as linhas 47 e 48, parece que não tá faltando o ';' 47: Dm.Tab_Usuarios.Open; // abre a tabela tab_Usuarios 48: FrmMenuPrin.StatusBar1.Panels[2].Text := 'Usuário:' + FrmLogin.EdtApelido.Text + '-' + Dm.tab_UsuariosUsuDepto.AsSTring; [Error]ULogin.pas(49): ')' expectec but identifier 'tab_Usuarios' found -> Faltou o ')' (parenteses) Olha a linha 49, parece que os '()' estão corretos: 49: If not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then [Error]ULogin.pas(54): Undeclared identifier: 'Edt' -> não encontrou o Edt Como assim?? [Error]ULogin.pas(56): ';' not allowed before 'ELSE' -> Não pode utilizar ; antes de ELSE Essa eu consegui resolver Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 19, 2010 [Error]ULogin.pas(47): Undeclared identifier: 'Dm' -> não encontrou o DM (possivelmente pode ser um DataModule) - Faltou dar ALT+F11 para add a Uses Como que eu faço isso? Quando aperto ALT+F11 tem o ULogin lá. Você criou o DataModule e renomeou para DM? [Error]ULogin.pas(47): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) [Error]ULogin.pas(48): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) [Error]ULogin.pas(48): Missing operator or semicolon -> Faltou o ';' (ponto-e-virgula) Olha só as linhas 47 e 48, parece que não tá faltando o ';' 47: Dm.Tab_Usuarios.Open; // abre a tabela tab_Usuarios 48: FrmMenuPrin.StatusBar1.Panels[2].Text := 'Usuário:' + FrmLogin.EdtApelido.Text + '-' + Dm.tab_UsuariosUsuDepto.AsSTring; Experimente deixar tudo na mesma linha, pode ser tambem pela falta do DM [Error]ULogin.pas(49): ')' expectec but identifier 'tab_Usuarios' found -> Faltou o ')' (parenteses) Olha a linha 49, parece que os '()' estão corretos: 49: If not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then Experimente colocar todo o conteudo do IF dentro dos (), assim: If not [b]([/b](Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text)[b])[/b] then [Error]ULogin.pas(54): Undeclared identifier: 'Edt' -> não encontrou o Edt Como assim?? Edt.Senha.SetFocus; -> você colocou um Edt.Senha, creio que o correto seria EdtSenha [Error]ULogin.pas(56): ';' not allowed before 'ELSE' -> Não pode utilizar ; antes de ELSE Essa eu consegui resolver Compartilhar este post Link para o post Compartilhar em outros sites
egalauber 0 Denunciar post Postado Março 19, 2010 Hãããmmmmm...... comecei a entender. Eu tinha um DataModule que estava com nome de DataModule1. Daí foi só mudar o Dm para DataModule1 aí resolveu quase tudo. O Edt.Senha eu tirei o '.' ficando EdtSenha Aí deu um outro erro: [Fatal ERROR] Sistema.dpr(10): File not found: 'Dm.dcu' a linha 10 é essa: Dm in 'Dm.pas' {DataModule2: TDataModule}; Daí eu simplesmente tirei essa linha 10, aí funcionou. Não deu mais erro. Mas será que eu podia tirar essa linha 10 ??? Compartilhar este post Link para o post Compartilhar em outros sites