Tela de espera
Ola,
Preciso cirar um formulario de espera para toda vez q eu consultar ou movimentar a minha base de dados q e remota em outra cidade este formulario entre em execucao com algum dizer tipo aguarde consultanta a base de dados. Se nao tiver como fazer isto pode ser a ativação apenas do cursor para o formato da ampulheta com a palavra SQL.
Obrigado.
Preciso cirar um formulario de espera para toda vez q eu consultar ou movimentar a minha base de dados q e remota em outra cidade este formulario entre em execucao com algum dizer tipo aguarde consultanta a base de dados. Se nao tiver como fazer isto pode ser a ativação apenas do cursor para o formato da ampulheta com a palavra SQL.
Obrigado.
Mr_joni
Curtidas 0
Respostas
Marcelo
22/10/2003
Olá... Esse código fara o que vc espera, bom, eu acho que sim...
procedure TForm1.Button1Click(Sender: TObject);
var
relogio : TTime;
begin
relogio := Time();
Button1.Cursor := crSQLWait; // muda o cursor
while Time - relogio < StrToTime( ´00:00:05´ ) do; // tem uma permanencia de 5 segundos.
Button1.Cursor := crDefault; // retorna o cursor original
end;
Valeu?
at+
procedure TForm1.Button1Click(Sender: TObject);
var
relogio : TTime;
begin
relogio := Time();
Button1.Cursor := crSQLWait; // muda o cursor
while Time - relogio < StrToTime( ´00:00:05´ ) do; // tem uma permanencia de 5 segundos.
Button1.Cursor := crDefault; // retorna o cursor original
end;
Valeu?
at+
GOSTEI 0
Mr_joni
22/10/2003
MArcelo eu preciso colocar esta mudanca de cursor em algum evento do componente de conexao com a base de dados. Assim q ele for conectar, pesquisar, incluir, excluir ou alterar qualquer registro ele coloque o cursor no modo sql e quando acabar ele volte ao normal.
obrigado.
obrigado.
GOSTEI 0
Marcelo
22/10/2003
MArcelo eu preciso colocar esta mudanca de cursor em algum evento do componente de conexao com a base de dados. Assim q ele for conectar, pesquisar, incluir, excluir ou alterar qualquer registro ele coloque o cursor no modo sql e quando acabar ele volte ao normal.
obrigado.
Se voce precisa de uma funcao, voce pode fazer com que essa que passei se torne generica, da seguinte forma:
procedure TForm1.Tempo( Botao : TButton ); // declara a procedure em private.
var
relogio : TTime;
begin
relogio := Time();
Botao.Cursor := crSQLWait; // muda o cursor
while Time - relogio < StrToTime( ´00:00:03´ ) do; // tem uma permanencia de 5 segundos.
Botao.Cursor := crDefault; // retorna o cursor original
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Tempo( Button1 );
end;
procedure TForm1.Tempo( Botao : TButton );
var
relogio : TTime;
begin
relogio := Time();
Botao.Cursor := crSQLWait; // muda o cursor
while Time - relogio < StrToTime( ´00:00:03´ ) do; // tem uma permanencia de 5 segundos.
Botao.Cursor := crDefault; // retorna o cursor original
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Tempo( Button1 );
end;
Valeu?
at+...
GOSTEI 0
Ljr
22/10/2003
Sera que este codigo resolveria...
Criei um novo projeto e adicionei um novo formulario.
No form1 (formulario principal) coloquei um DataBase e um botao.
No form2 (formulario com a mensagem de espera) coloquei um label com o seguinte texto: ´Aguarde, conectando ao banco de dados...´.
Isto resolve o problema?
Criei um novo projeto e adicionei um novo formulario.
No form1 (formulario principal) coloquei um DataBase e um botao.
No form2 (formulario com a mensagem de espera) coloquei um label com o seguinte texto: ´Aguarde, conectando ao banco de dados...´.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables;
type
TForm1 = class(TForm)
Database1: TDatabase;
Button1: TButton;
procedure Database1BeforeConnect(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Database1AfterConnect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
unit2;
{$R *.DFM}
procedure TForm1.Database1BeforeConnect(Sender: TObject);
begin
Application.CreateForm(Tform2, form2);
form2.Show;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
try
try
Database1.Open;
except
raise Exception.Create(´Erro ao conectar´);
end;
finally
Form2.Free;
end;
end;
procedure TForm1.Database1AfterConnect(Sender: TObject);
begin
Form2.Free;
end;
end.
Isto resolve o problema?
GOSTEI 0
Mr_joni
22/10/2003
Estamos chegando perto.
Mas e o seguinte o codigo acima e quase isto. Estou usando o componente ADO connection para conectar a base em sql server remotamente, em quais eventos eu deveria colocar este comando: Application.CreateForm(Tf_sql, f_sql) e f_sql.free para q sempre q a base for acessada, abrir, fechar, pesquisar, editar, apagar, atualizar, etc...
obrigado.
Mas e o seguinte o codigo acima e quase isto. Estou usando o componente ADO connection para conectar a base em sql server remotamente, em quais eventos eu deveria colocar este comando: Application.CreateForm(Tf_sql, f_sql) e f_sql.free para q sempre q a base for acessada, abrir, fechar, pesquisar, editar, apagar, atualizar, etc...
obrigado.
GOSTEI 0
Ljr
22/10/2003
Caro colega, desculpe nao ter entendido de primeira, mas eh q tive q ler apressadamente, mas agora tenho um tempinho e analisando o q vc precisa fiz o seguinte codigo usando o componente ADOConnection.
Toda vez que um commando SQL é executado, a base (TADOConnection) gera dois eventos: um antes de executar e outro apos a execução.
onWillExecute: será chamado antes de iniciar a execução do commando, portando colocaria aqui os commandos:
onExecuteComplete: será chamado depois de concluir a execução do commando, portando colocaria aqui os commandos:
Nota: Neste último, manipulei algum possível erro fazendo uso do parametro Error.
Ele funcionara sempre que vc executar um commando SQL, portanto qdo a base for fechada nao tem como, a nao ser que vc coloque no evento BeforeClose da base.
Com este passos o problema foi resolvido?
Toda vez que um commando SQL é executado, a base (TADOConnection) gera dois eventos: um antes de executar e outro apos a execução.
onWillExecute: será chamado antes de iniciar a execução do commando, portando colocaria aqui os commandos:
Application.CreateForm(Tf_sql, f_sql); f_sql.show;
onExecuteComplete: será chamado depois de concluir a execução do commando, portando colocaria aqui os commandos:
if EventStatus = esErrorsOccured then MessageDlg(´Erro ao conectar, com a seguinte mensagem: "´+ Error.Description+´"´, mtError, [mbOK], 0); f_sql.Free;
Nota: Neste último, manipulei algum possível erro fazendo uso do parametro Error.
Ele funcionara sempre que vc executar um commando SQL, portanto qdo a base for fechada nao tem como, a nao ser que vc coloque no evento BeforeClose da base.
Com este passos o problema foi resolvido?
GOSTEI 0
Mr_joni
22/10/2003
Deu certinho muito obrigado pela ajuda.
So mais uma coisinha se eu quiser habilitar no Onwillconnect o cursor do sql como eu devo proceder. Quero q ele fique habilitado para o aplicativo e nao so para a janela f_sql.
Obrigado.
So mais uma coisinha se eu quiser habilitar no Onwillconnect o cursor do sql como eu devo proceder. Quero q ele fique habilitado para o aplicativo e nao so para a janela f_sql.
Obrigado.
GOSTEI 0
Ljr
22/10/2003
Tente esta instrução, acho que ira solucionar.
Deu certo?
Screen.Cursor:= crSQLWait
Deu certo?
GOSTEI 0
Mr_joni
22/10/2003
Deu certinho, mais uma vez obrigado.
Vc conhece algum componente dbgrid q faca paginacao, isto e mostre no rodapé a quantidade de paginas q derao? E algum componente q seja um editor basico de html q visualize o codigo fonte e tb a pagina html feita?
Obrigado.
Vc conhece algum componente dbgrid q faca paginacao, isto e mostre no rodapé a quantidade de paginas q derao? E algum componente q seja um editor basico de html q visualize o codigo fonte e tb a pagina html feita?
Obrigado.
GOSTEI 0
Ljr
22/10/2003
Vc esta tentando fazer algo do tipo FrontPage, onde vc tem um PageControl, que possue duas TabSheet, uma exibindo o codigo html e outra exibindo como a pagina seria vista no browser?
Quanto ao dbgrid nao entendi muito bem poderia repetir mais detalhadamente?
Quanto ao dbgrid nao entendi muito bem poderia repetir mais detalhadamente?
GOSTEI 0
Mr_joni
22/10/2003
Eu estou desenvolvendo um programa para atualizar a lista de produtos do nosso site de comercio eletronico, por isto estes componentes.
Vou tentar explicar melhor.
Componente HTML
Tenho um campo tipo memo no sql q e a descricao do produto como esta descricao e mostrada numa pagina web eu preciso de um editor de html para fazer os negritos, os links e tabelas deste campo. Atualmente nossa atualizacao da pagina e feita por um site desenvolvido por nos mesmos. Este componente nao precisa ser tao complexo quanto o fronte page preciso apenas do html basico. mas eu preciso ja visualizar na tela o resultado e tb poder mexer no fonte para dar alguns retoques...
Componente DBgrid com paginacao.
tenho uma lista de 5 mil produtos em meu banco de dados gostaria de um componente dbgrid q mostrasse por exemplo os 20 primeiros itens e depois apareceria no rodape o restante das paginas tipo na internet quando vc pede um procura ai aparece paginas disponiveis 1 a 200 vc clica no 2 e ele mostra do 21 ao 40.
Espero ter me expressado melhor agora.
Obrigado.
Vou tentar explicar melhor.
Componente HTML
Tenho um campo tipo memo no sql q e a descricao do produto como esta descricao e mostrada numa pagina web eu preciso de um editor de html para fazer os negritos, os links e tabelas deste campo. Atualmente nossa atualizacao da pagina e feita por um site desenvolvido por nos mesmos. Este componente nao precisa ser tao complexo quanto o fronte page preciso apenas do html basico. mas eu preciso ja visualizar na tela o resultado e tb poder mexer no fonte para dar alguns retoques...
Componente DBgrid com paginacao.
tenho uma lista de 5 mil produtos em meu banco de dados gostaria de um componente dbgrid q mostrasse por exemplo os 20 primeiros itens e depois apareceria no rodape o restante das paginas tipo na internet quando vc pede um procura ai aparece paginas disponiveis 1 a 200 vc clica no 2 e ele mostra do 21 ao 40.
Espero ter me expressado melhor agora.
Obrigado.
GOSTEI 0
Mr_joni
22/10/2003
De uma olhadinha nesta pagina la tem um editor html on-line bem semelhante ao q eu quero so q eu preciso dele em delphi. Se vc souber onde eu encontro me avise.
[url]http://www.cadfmtm.com.br/fckeditor/_test/test.asp[/url]
[url]http://www.cadfmtm.com.br/fckeditor/_test/test.asp[/url]
GOSTEI 0
Ljr
22/10/2003
Descobri o componente que vc precisa.
Como estou sem tempo soh pesquisei. É um componente com tecnologia COM e se nao me engano ele é instalado junto com o IE 5 ou superior.
[url]http://groups.yahoo.com/group/delphi-dhtmledit.[/url]
Entre neste grupo do yahoo vá na sessao FILES e veja os manuais, demos, etc.
Desculpe, mas nao testei nada.
Como estou sem tempo soh pesquisei. É um componente com tecnologia COM e se nao me engano ele é instalado junto com o IE 5 ou superior.
[url]http://groups.yahoo.com/group/delphi-dhtmledit.[/url]
Entre neste grupo do yahoo vá na sessao FILES e veja os manuais, demos, etc.
Desculpe, mas nao testei nada.
GOSTEI 0
Mr_joni
22/10/2003
Ljr, o componente me parece ser bom mas eu nao consigo baixa-lo, da q a pagina nao pode ser exibida. Ja estou registrado e tudo, baixei quase todos os arquivos mas o dhtmedit.zip e sdk_help.zip estes nao consigo acredito q estes sao os arquivos do componente. Se vc tiver um tempinho tente baixa-los se conseguir envie por gentileza para este email: joao.nivaldo@yahoo.com.br.
Obrigado mais uma vez.
Obrigado mais uma vez.
GOSTEI 0
Ljr
22/10/2003
Nivaldo,
o componente em si não está no grupo para download. Este componente é um OCX que é instalado junto com o IE. Portanto para utilizá-lo basta apenas instalá-lo.
Para instalar faça o seguinte:
1. Com o Delphi aberto, File->Close All
2. Component->Import ActiveX Control
3. Na lista de OCX disponíveis escolha ´DHTML Edit Control for IE5 (Version X.X)´
4. Clique em ´Install...´
Pronto. O componente esta na Paleta ActiveX. Agora é só usar.
o componente em si não está no grupo para download. Este componente é um OCX que é instalado junto com o IE. Portanto para utilizá-lo basta apenas instalá-lo.
Para instalar faça o seguinte:
1. Com o Delphi aberto, File->Close All
2. Component->Import ActiveX Control
3. Na lista de OCX disponíveis escolha ´DHTML Edit Control for IE5 (Version X.X)´
4. Clique em ´Install...´
Pronto. O componente esta na Paleta ActiveX. Agora é só usar.
GOSTEI 0
Mr_joni
22/10/2003
Ljr deu certo mas eu tenho q contruir todo o gerador de codigo html este componente so exibe o preview e o codigo de forma estruturada. vc nao conhece nenhum outro componente ja pronto tido os de editores de texto q ja tem prontos?
obrigado.
obrigado.
GOSTEI 0