Ir para conteúdo
Fórum Script Brasil
  • 0

Como abrir um form dentro do outro


spider man

Pergunta

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

  • 0

O que eu gostaria de fazer na verdade era abrir dentro do frmmenu todas as demais telas

o 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 abrir

se o login e senha forem corretos voce então abre o form Menu do seu programa

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

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 outro

mas se quiser dentro, terá que usar o MDI ... faça uma pesquisa no forum

http://scriptbrasil.com.br/forum/index.php?showforum=21

http://scriptbrasil.com.br/forum/index.php...ghlite=form+mdi

abraço

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...