Ir para conteúdo

POWERED BY:

Arquivado

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

Geasi

[Resolvido] Compilar

Recommended Posts

Olá quando vou compilar meu programa recebo um erro descrito abaixo:

 

 

[Error] Ulogin.pas(64): Statement expected but end of file found

 

Segue abaixo meu codigo:

 

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

EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha

end

else

begin

FrmLogin.Hide; //Esconde a tela

FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal

FrmLogin.Release; //Remove a tela da memória

FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

end;

 

Alguém pode me ajudar ? ficarei grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse erro geralmente ocorre por faltar um end; numa procedure por exemplo. Identei seu código abaixo e vi que falta um end; nele.

 

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
	EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha
  end
  else
  begin
	FrmLogin.Hide; //Esconde a tela
	FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal
	FrmLogin.Release; //Remove a tela da memória
	FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin
  end; //Faltou esse end aqui
end;

Dê uma verificada no seu código para ver se fechou todos os begins que abriu.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Chrnos,

 

Intão eu dei uma olha realmente esta faltando mesmo um ponto e virgula ali, dpeois que fioz o que você me disse veja esse erro abaixo delphi7 ok?

 

[Error] Ulogin.pas(71): Declaration expected but end of file found

[Fatal Error] Sistema.dpr(9): Could not compile used unit 'Ulogin.pas'

 

Meu codigo do Ulogin.pas abaixo:

 

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

EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha

end

else

begin

FrmLogin.Hide; //Esconde a tela

FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal

FrmLogin.Release; //Remove a tela da memória

FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

end; //Faltou esse end aqui

end;

 

Aqui o codigo do Sistema.dpr

 

program Sistema;

 

uses

Forms,

UMenuPrin in 'UMenuPrin.pas' {FrmMenuPrin},

Usplash in 'Usplash.pas' {FrmSplash},

SysUtils,

UDM in 'UDM.pas' {DM: TDataModule},

Ulogin in 'Ulogin.pas' {Form1};

 

{$R *.res}

 

begin

Application.Initialize;

Application.CreateForm(TFrmMenuPrin, FrmMenuPrin);

Application.CreateForm(TFrmSplash, FrmSplash);

Application.CreateForm(TDM, DM);

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TDataModule1, DataModule1);

FrmSplash.Show; //exibe a tela FrmSplash

FrmSplash.Refresh; // da um refresh na tela

Sleep(2000); // (aguarda 02 segundos) - inclua a unit SysUtils na cláusula Uses.

Application.Run;

end.

 

Você pode da uma verifica pr amim ? ficarei grato a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código do Ulogin.pas está incompleto no seu post... de uma verificada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complicado né, meu codigo é esse mesmo olhei aqui no exemplo que esotu usando é exatamente esse modelo:

 

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

EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha

end

else

begin

FrmLogin.Hide; //Esconde a tela

FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal

FrmLogin.Release; //Remove a tela da memória

FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

end;

 

Estranho, por eu olhei e sempre apresenta esse erro

 

[Error] Ulogin.pas(76): Declaration expected but end of file found

[Fatal Error] Sistema.dpr(9): Could not compile used unit 'Ulogin.pas'

 

Mas tudo bem vo esperar a gelera chegar aqui e vejo, se alguém tive ruma solução ficarei muito grato, abração aos colaboradores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde está os declare, uses, identificador do form? Poste o código completo do .pas do Ulogin.pas para que possamos lhe ajudar a localizar onde falta um end... porque o trecho que está postando deste código não nos permite auferir onde está o erro do seu código.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia a todos,

Caros Colaboradores veja abaixo meu codigo completo do Ulogin.pas ok ?

 

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);

procedure FormClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

FrmLogin: TFrmLogin;

 

implementation

 

uses UDM, UMenuPrin, Usplash, DB;

 

{$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

EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha

end

else

begin

FrmLogin.Hide; //Esconde a tela

FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal

FrmLogin.Release; //Remove a tela da memória

FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

end.

end;

 

.:: Estou no aguardo desde ja fico grato pela atenção ::.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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);

procedure FormClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

FrmLogin: TFrmLogin;

 

implementation

 

uses UDM, UMenuPrin, Usplash, DB;

 

{$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

EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha

end

else

begin

FrmLogin.Hide; //Esconde a tela

FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal

FrmLogin.Release; //Remove a tela da memória

FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

end.

end;

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops errei;...

 

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);

procedure FormClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

FrmLogin: TFrmLogin;

 

implementation

 

uses UDM, UMenuPrin, Usplash, DB;

 

{$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

EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha

end

else

begin

FrmLogin.Hide; //Esconde a tela

FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal

FrmLogin.Release; //Remove a tela da memória

FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

 

end;

end. // esse deve estar sempre no final.. estava invertido ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá SunShinE_mk

 

Eu fiz isso, mas por que aquele ponto final no end. ?

 

veja depois que coloquei teu codigo veja abaixo:

 

[Error] Ulogin.pas(66): ';' expected but '.' found

[Error] Ulogin.pas(68): Declaration expected but end of file found

[Error] Ulogin.pas(22): Unsatisfied forward or external declaration: 'TFrmLogin.FormClick'

[Fatal Error] Sistema.dpr(9): Could not compile used unit 'Ulogin.pas'

 

Carregamento de algum arquivo que nao esteja no meu sistema ? um for seilá alguma coisa assim ? e complicado que nessas linhas onde ele fala que deu erro eu ja fui veja:

 

Linha: (66) do Ulogin.pas

end.

 

Linha: (68) não tem nada

Linha: (22) procedure FormClick(Sender: TObject);

Linha: (9) do Sistema.dpr essa linha Ulogin in 'Ulogin.pas' {Form1};

 

Estranho sera que coloco meu projeto no meu site pra alguém baixar ?

 

.:: Obrigado a todos ::.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta esse agora.. o end. no final é padrão do delphi.. ;) sempre deve fechar com ele..

 

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 UDM, UMenuPrin, Usplash, DB;

 

{$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

EdtSenha.SetFocus; //Ajusta o foco para o objeto EdtSenha

end

else

begin

FrmLogin.Hide; //Esconde a tela

FrmMenuPrin.ShowModal; //chama a tela FrmMenuPrin no modo modal

FrmLogin.Release; //Remove a tela da memória

FrmLogin := Nil; //Atribui conteúdo nulo para a variável de tela FrmLogin

end;

end;

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá SunShinE_mk

 

Intão eu peguei o codigo que você postou e deu certo valeu muito obrigado, depois tive que alterar algumas funções do sistema.drp veja abaixo:

 

program Sistema;

 

uses

Forms,

UMenuPrin in 'UMenuPrin.pas' {FrmMenuPrin},

Usplash in 'Usplash.pas' {FrmSplash},

SysUtils,

UDM in 'UDM.pas' {DM: TDataModule},

Ulogin in 'Ulogin.pas' {FrmLogin};

 

{$R *.res}

 

begin

Application.Initialize;

Application.CreateForm(TFrmLogin, FrmLogin);

Application.CreateForm(TFrmMenuPrin, FrmMenuPrin);

Application.CreateForm(TFrmSplash, FrmSplash);

Application.CreateForm(TDM, DM);

//Application.CreateForm(TForm, FrmLogin);

Application.CreateForm(TFrmLogin, FrmLogin);

//FrmLogin.Show;

FrmSplash.Show; //exibe a tela FrmSplash

FrmSplash.Refresh; // da um refresh na tela

Sleep(2000); // (aguarda 02 segundos) - inclua a unit SysUtils na cláusula Uses.

Application.Run;

end.

 

Brigadao, mas não some nao que acho que irei precisar muitoo da ajuda de todos vcs :) fico grato pela colaboração, abraços :P

 

[]´s

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.