Jhonatas araujo Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 Opa... Firmeza Galera/alguém sabe ai como Criar um Form de Logon com TTimer, e progressbarCriar um Normal, Com button de OK e Cancelar e que Precise de Identificação {Senha etc etc} eu sei...Mais oque eu queria era que Determinasse no TTimer o Tempo que ficara o Form de Logon e o Progressbar Funcionar de Acordo com o Processo.../Vlw ai Galera... Aguardo Resposta ... vlw. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 Acho que sua necessidade é saber como funciona o objeto TTimer. Sabendo operar os objetos, você consegue desenvolver qualquer aplicação.Detalhe melhor qual sua necessidade nesse projeto pra podermos dar alguns exemplos do TTimer. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Fevereiro 14, 2008 Autor Denunciar Share Postado Fevereiro 14, 2008 (editado) Tipo eu nunca usei muito o TTimer mais sei que é uma Ferramenta indispenssavel...Fundamental...ai notei que Fazer um Form de logon é muito Simples...Mais eu gostaria de não ter que Colocar um button ou qualquer outra ferramente, objeto...para Proceguir,E Sim Declarar quanto tempo ele ficara de logon e depois altomaticamente redimensionar para o Form Seguinte...E o ProgressBar Funcionar de Acordo com o Processo dado...Obs: não sei se precisa bem de um TTimer para fazer essa Função... talvez só Declarando com "Sleep ____" Dê...Mais eu tentei varias vezes com o Sleep e não consegui.../Quanto ao TTimer pode cre eu vo Procurar Domina-lo depois Como você Disse:Saberei Operar qualquer Application {Aplicação}...Usando o mesmo!!!Me ajuda ae Galera...Vlw... Editado Fevereiro 14, 2008 por Jhonatas araujo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 (editado) Bem, um tanto "diferente" essa janela de log que você quer fazer, mas, vamos lá!Um exemplo simples: em um form qualquer, adicione um objeto Label e um TTimer. Inclua o código:procedure TForm1.FormCreate(Sender: TObject); begin Tempo := 10; Label1.Caption := IntToStr(Tempo); end; procedure TForm1.Timer1Timer(Sender: TObject); begin Tempo := Tempo - 1; Label1.Caption := IntToStr(Tempo); if Tempo = -1 then begin Self.Release; Self.Close; end end;Onde "Tempo" é uma variável Integer, que você deve declarar dentro da Unit.Esse exemplo mostra o form por 10 segundos, sendo que o tempo aparece sendo decrescido no Label. Ao término dos 10 segundos, o form se fecha. Agora use sua criatividade para incrementar o form. Editado Fevereiro 14, 2008 por Duduh_Capixaba Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Fevereiro 14, 2008 Autor Denunciar Share Postado Fevereiro 14, 2008 (editado) Vlw ae Duduh_Capixaba...Consegui...Mais tipow o Self.Release;Self.Close;Ele não ta fazendo que o Form1 Feche totalmente...ele fica em uso mais não Visivel...SAbe por que isso?// Vlw... Editado Fevereiro 14, 2008 por Jhonatas araujo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Fevereiro 14, 2008 Autor Denunciar Share Postado Fevereiro 14, 2008 (editado) Ow olha só um Simples ex:program Project1; uses Forms, Controls, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.RES} var F: TForm2; begin F := TForm2.Create(Application); try if F.ShowModal = mrOK then begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end; finally F.Free; end; end. Não teria como fazer uma Função que daria fazer assim program Project1; uses Forms, Controls, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.RES} var F: TForm2; begin F := TForm2.Create(Application); try if F.ShowModal = Sleep (5000) then begin {5 Segundos} Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end; finally F.Free; end; end.Da erro quando faz isso!!!Não teria como/Vlw... Abraço. Editado Fevereiro 15, 2008 por Micheus Adicionado o delimitador de código [code] [/code]. Lembre-se de utilizá-lo para melhor visualização Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Fevereiro 14, 2008 Autor Denunciar Share Postado Fevereiro 14, 2008 (editado) Opa .... Consegui Cara eu usei...unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Tempo: Integer; implementation uses Unit2; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Tempo := 5; Label1.Caption := IntToStr(Tempo); Label1.Visible := False; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Tempo := Tempo - 1; Label1.Caption := IntToStr(Tempo); if Tempo = -1 then begin Form1.Release; Form1.Free; //Self.Release; Form2.ShowModal; Application.Terminate; //Self.Close; end end; end.E Deu Certo!!!Pode cre...Mais no Exemplo Acima não teria como Fazer?/? só por Duvida mesmo...]Vlw..... Editado Fevereiro 15, 2008 por Micheus Adicionado o delimitador de código [code] [/code]. Lembre-se de utilizá-lo para melhor visualização Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Fevereiro 15, 2008 Denunciar Share Postado Fevereiro 15, 2008 Olha, pelo pouco que eu conheço do comando Sleep, acho que não dá não. Acho que esse comando não retorna nada, e pelo que entendi dele, enquanto ele é executado, nada acontece na aplicação, o programa se congela durante o período que você configura o Sleep.Então, creio eu, que dessa forma não funcionaria. Mas deixo em aberto para outras pessoas responderem essa sua dúvida. Flws! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Fevereiro 15, 2008 Autor Denunciar Share Postado Fevereiro 15, 2008 Pode cre Vlw... Ae... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 15, 2008 Denunciar Share Postado Fevereiro 15, 2008 jhonatas araujoficou muito estranha toda esta sua lógica com os forms.Como mencionou o colega Duduh_Capixaba, esta sua tela de login é um tanto "diferente". Eu acredito que você queira é se referir a uma tela de Splash, já que telas logins são utilizadas justamente para fazer uma validação do usuário antes que ele possa acessar o sistema, de modo que não faz sentido que ela feche sozinha e o sistema "entre no ar".Veja se esta sugestão funciona de acordo com o que você espera.No projeto:program Project1; uses Forms, Controls, Unit1 in 'Unit1.pas' {Form1}, // tela de login Unit2 in 'Unit2.pas' {Form2}; // tela principal {$R *.RES} begin Form1 := TForm1.Create(nil); try Form1.ShowModal; finally Form1.Release; end; Application.Initialize; Application.CreateForm(TForm2, Form2); Application.Run; end. no seu Form1 (tela de "login"): uses Unit1; ... {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Tempo := 5; Label1.Caption := IntToStr(Tempo); // deixar o label invisível não faz muinto sentido // já que você atualiza o valor dele, melhor mostrá-lo // Label1.Visible := False; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Tempo := Tempo - 1; Label1.Caption := IntToStr(Tempo); if Tempo = -1 then ModalResult := mrOK; // mrOk na unit Controls end; end.Esta atribuição à ModalResult fará com que a tela aberta em modo modal, seja fechada.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Fevereiro 15, 2008 Autor Denunciar Share Postado Fevereiro 15, 2008 (editado) Pode Cre "Micheus" Eu vo ver agora!!!Tipow pra vocês Intender melhor oque eu queria Dizer é por Exemplo...O NOD32 Anti Virus... etc etc {È só um Exemplo}Ai Tipow quando o mesmo Inicia, Ele AParece uma Tela {Carregando} Depois Inicia com o Aplicativo...Até mesmo o Delphi... Aparece uma Tela {Delphi ________ Bla Bla Bla} Carregando Depois Inicia...Indendeu?//? eu não Queria Realmente Fazer uma Form de Logon que precise de Senha ,etc... para entrarIsso eu Sei...O que eu Queria é o mais Simples e éra oque eu não Sabia... ushauhsas ...Mais com o Ex: do Duduh_Capixaba eu Consegui desenvolver... Mais eu só queria Saber se Daria também daquela Forma que mencionei Acima...Mais Ta beleza... Dessa Forma que Consegui Deu Certo...Vlw... Editado Fevereiro 15, 2008 por Jhonatas araujo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 15, 2008 Denunciar Share Postado Fevereiro 15, 2008 O NOD32 Anti Virus... etc etc {È só um Exemplo}Ai Tipow quando o mesmo Inicia, Ele AParece uma Tela {Carregando} Depois Inicia com o Aplicativo...Até mesmo o Delphi... Aparece uma Tela {Delphi ________ Bla Bla Bla} Carregando Depois Inicia...Indendeu?//? eu não Queria Realmente Fazer uma Form de Logon que precise de Senha ,etc... para entrarIsso eu Sei...então, isto é conhecido por tela de Splash.Mais com o Ex: do Duduh_Capixaba eu Consegui desenvolver... Mais eu só queria Saber se Daria também daquela Forma que mencionei Acima...Mais Ta beleza... Dessa Forma que Consegui Deu Certo...deu certo, mas não saberia dizer até quando... O código está sim, muito estranho - e ao meu ver meio fora da lógica:-criar splash-mostra splash-passado o tempo splash fecha-cria forma principal-mostra form principal.seu form de splash está (tentando) fazer coisas depois de ter chamado um método Release e Free... :blink: O resutado dos dois é o mesmo: destruir seu form, o que já implica em fechá-lo e sumir com ele do mapa. Logo parece estar funcionando, mas em uma condição instável.Outra coisa, use apenas um dos dois métodos, e preferencialmente o Release.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Fevereiro 15, 2008 Denunciar Share Postado Fevereiro 15, 2008 (editado) Hummmmm...agora estou entendendo o que você quer, Jhonatas! Uma tela Splash. Nossa, se tivesse explicado desde o início, não precisaria de tantas voltas.Tenho um projeto aqui onde eu uso uma. O código é o seguinte:program Sistema; uses Forms, SysUtils, UMenuPrin in 'UMenuPrin.pas' {frmMenuPrin}, USplash in 'USplash.pas' {frmSplash}, UDM in 'UDM.pas' {DM: TDataModule}, ULogin in 'ULogin.pas' {frmLogin}, UCadPadrao in 'UCadPadrao.pas' {frmCadPadrao}, UCadCliente in 'UCadCliente.pas' {frmCadCliente}, UCadForn in 'UCadForn.pas' {frmCadFornecedor}, UCadFunc in 'UCadFunc.pas' {frmCadFuncionario}, UCadCateg in 'UCadCateg.pas' {frmCadCategoria}, UCadProd in 'UCadProd.pas' {frmCadProd}; {$R *.res} begin Application.Initialize; Application.CreateForm(TfrmLogin, frmLogin); Application.CreateForm(TfrmMenuPrin, frmMenuPrin); Application.CreateForm(TDM, DM); Application.CreateForm(TFrmSplash, FrmSplash); FrmSplash.Show; //exibe a tela FrmSplash FrmSplash.Refresh; // dá um refresh na tela Sleep(2000); // (aguarda 02 segundos) - inclua a unit "SysUtils" na cláusula Uses. FrmSplash.Release; // Elimina a tela da memória. FrmSplash := nil; // anula a referência ao ponteiro do objeto. Application.CreateForm(TfrmCadPadrao, frmCadPadrao); Application.CreateForm(TfrmCadProd, frmCadProd); Application.Run; end.A parte que te interessa são as 5 linhas abaixo do "Application.CreateForm(TFrmSplash, FrmSplash)", onde FrmSplash é o nome do frame que você quer mostrar na inicialização do projeto. Veja se te resolve assim. Editado Fevereiro 15, 2008 por Duduh_Capixaba Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Fevereiro 16, 2008 Autor Denunciar Share Postado Fevereiro 16, 2008 Vlww... Ae Duduh_Capixaba, Micheus etc...Foi mau por não ter Explicado melhor...Agora Sim Pode cre... Vlw... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jhonatas araujo
Opa... Firmeza Galera/
alguém sabe ai como Criar um Form de Logon com TTimer, e progressbar
Criar um Normal, Com button de OK e Cancelar e que Precise de Identificação {Senha etc etc} eu sei...
Mais oque eu queria era que Determinasse no TTimer o Tempo que ficara o Form de Logon e o Progressbar Funcionar de Acordo com o Processo.../
Vlw ai Galera... Aguardo Resposta ... vlw.
Link para o comentário
Compartilhar em outros sites
13 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.