spider man Postado Agosto 11, 2012 Denunciar Share Postado Agosto 11, 2012 Bem, estou com um problema. Tenho uma tela de login e uma tela principal...O login sendo válido o usuário passa para a tela principal chamada frmmenu...nela será feito cadastros, consultas e relatórios..O que eu gostaria de fazer na verdade era abrir dentro do frmmenu todas as demais telas..eu uso um panel no frmmenu.Tipo, sei que tem a questão do MDI e tal..só que o form de login não é a tela principal e precisa ser aberta antes do frmmenu onde serãoabertos os demais forms. Tem outras maneiras, abrir só um showmodal e pronto, mas é um trabalho de TCC e tem que ficar bom..Uso delphi 7 e mysql com banco de dados...Testei algumas formas encontrados em tópicos mas não consegui fazer...unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, StdCtrls;type Tfrmprincipal = class(TForm) Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; btnconfirmar: TButton; btnsair: TButton; procedure btnconfirmarClick(Sender: TObject); procedure btnsairClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var frmprincipal: Tfrmprincipal;implementationuses Unit3, Unit2;{$R *.dfm}procedure Tfrmprincipal.btnconfirmarClick(Sender: TObject);begin if (edit1.Text = '') then //Verifica se o campo "Usuário" foi preenchido begin Messagedlg('O campo "Usuário" deve ser preenchido!', mtInformation, [mbOk], 0); if edit1.CanFocus then edit1.SetFocus; Exit; end; if (edit2.Text = '') then //Verifica se o campo "Senha" foi preenchido begin Messagedlg('O campo "Senha" deve ser preenchido!', mtInformation, [mbOk], 0); if edit2.CanFocus then edit2.SetFocus; Exit; end else begin with DM.ADOQuery do begin Active:=False; SQL.Clear; SQL.Add('Select * from administrador where usuario =:log and senha =:snh'); Parameters.ParamByName('log').Value:=edit1.Text; Parameters.ParamByName('snh').Value:=edit2.Text; Active:=True; //================================================ if RecordCount > 0 then frmmenu.ShowModal else ShowMessage('Login ou Senha incorretos, verifique!'); end; end;end;procedure Tfrmprincipal.btnsairClick(Sender: TObject);beginclose;end;end.obrigado a todos pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 13, 2012 Denunciar Share Postado Agosto 13, 2012 O que eu gostaria de fazer na verdade era abrir dentro do frmmenu todas as demais telaso componente TMainMenu dentro de um form faz isso ( sem precisar usar MDI )em Menu > Project > Options voce define no Auto-create o form de login e senha como sendo o primeiro a abrirse o login e senha forem corretos voce então abre o form Menu do seu programaabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 spider man Postado Agosto 14, 2012 Autor Denunciar Share Postado Agosto 14, 2012 sim, ele abriu. Só que quando abre-se o form menu o form cadastro por exemplo não abre dentro do form menu, eleabre uma janela separada entende. Não estou conseguindo fazer ele as demais telas abrirem dentro do form menu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 14, 2012 Denunciar Share Postado Agosto 14, 2012 voce quer que um form abra sobre o form Menu ou dentro do form Menu ?se for sobre outro form ( que é o padrão ) todos os outros forms abrirão sobre o form do Menu sem problemas ... ao fechar esse form o form menu sempre ficara visivel para o usuario escolher outromas se quiser dentro, terá que usar o MDI ... faça uma pesquisa no forumhttp://scriptbrasil.com.br/forum/index.php?showforum=21http://scriptbrasil.com.br/forum/index.php...ghlite=form+mdiabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
spider man
Bem, estou com um problema. Tenho uma tela de login e uma tela principal...
O login sendo válido o usuário passa para a tela principal chamada frmmenu...nela será feito cadastros, consultas e relatórios..
O que eu gostaria de fazer na verdade era abrir dentro do frmmenu todas as demais telas..eu uso um panel no frmmenu.
Tipo, sei que tem a questão do MDI e tal..só que o form de login não é a tela principal e precisa ser aberta antes do frmmenu onde serão
abertos os demais forms. Tem outras maneiras, abrir só um showmodal e pronto, mas é um trabalho de TCC e tem que ficar bom..
Uso delphi 7 e mysql com banco de dados...
Testei algumas formas encontrados em tópicos mas não consegui fazer...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, StdCtrls;
type
Tfrmprincipal = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
btnconfirmar: TButton;
btnsair: TButton;
procedure btnconfirmarClick(Sender: TObject);
procedure btnsairClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmprincipal: Tfrmprincipal;
implementation
uses Unit3, Unit2;
{$R *.dfm}
procedure Tfrmprincipal.btnconfirmarClick(Sender: TObject);
begin
if (edit1.Text = '') then //Verifica se o campo "Usuário" foi preenchido
begin
Messagedlg('O campo "Usuário" deve ser preenchido!', mtInformation, [mbOk], 0);
if edit1.CanFocus then
edit1.SetFocus;
Exit;
end;
if (edit2.Text = '') then //Verifica se o campo "Senha" foi preenchido
begin
Messagedlg('O campo "Senha" deve ser preenchido!', mtInformation, [mbOk], 0);
if edit2.CanFocus then
edit2.SetFocus;
Exit;
end
else
begin
with DM.ADOQuery do
begin
Active:=False;
SQL.Clear;
SQL.Add('Select * from administrador where usuario =:log and senha =:snh');
Parameters.ParamByName('log').Value:=edit1.Text;
Parameters.ParamByName('snh').Value:=edit2.Text;
Active:=True;
//================================================
if RecordCount > 0 then
frmmenu.ShowModal
else
ShowMessage('Login ou Senha incorretos, verifique!');
end;
end;
end;
procedure Tfrmprincipal.btnsairClick(Sender: TObject);
begin
close;
end;
end.
obrigado a todos pela ajuda.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.