juunr95 0 Denunciar post Postado Abril 25, 2015 Olá pessoal. Meu nome é Cláudio.Bom, eu estou "tentando" desenvolver um programa para Gerenciamento de Colonia de Férias, e como em todo programa de gerenciamento, ele tem um cadastro dos cliente e funcionários e tal.No formulário de cadastro de novos clientes, eu coloquei um código que, pelo CEP, procura e preenche automaticamente os Edits seguintes com o endereço, cidade, bairro e estado, e fiz o mesmo com o endereço, se a pessoa coloca o endereço, ele preenche automaticamente o CEP...Mais esse sistema funciona com base em um site, que tem o DB com todos os endereços, então ele faz uma pesquisa em PHP com o idHTTP e as vezes ele demora um pouco pra encontrar as informações, então eu criei um Form com um Label: Buscando CEP... e gostaria que ele aparece enquanto o código é executado, e depois qe os Edit forem preenchidos o form sumir novamente. Vocês poderiam me ajudar ?O Code que busca o endereço é esse ! procedure TfrmNovo.Button1Click(Sender: TObject);varConsulta: String;Resposta: TStringStream;beginif (Edit1.Text = '') or (Length(Edit1.Text) < 8) or (Length(Edit1.Text) > 8) thenbeginApplication.MessageBox('CEP nulo ou inválido.', 'Erro - Aviso do Sistema', mb_iconwarning+mb_ok);exit;end;Resposta := TStringStream.Create('');TSConsulta := TStringList.Create;IdHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV2';TSConsulta.Values['&cep'] := Edit1.Text;TSConsulta.Values['&formato'] := 'xml';//TSConsulta.Values['&formato'] := 'query_string';IdHTTP1.Post('http://cep.republicavirtual.com.br/web_cep.php?' TSConsulta, Resposta); XMLBuscaCEP.Active := True;XMLBuscaCEP.Encoding := 'iso-8859-1';XMLBuscaCEP.LoadFromStream(Resposta);//RichEdit1.Lines.Add(Resposta.DataString);Edit2.Text := XMLBuscaCEP.DocumentElement.ChildNodes['tipo_logradouro'].NodeValue+' '+XMLBuscaCEP.DocumentElement.ChildNodes['logradouro'].NodeValue;Edit3.Text := XMLBuscaCEP.DocumentElement.ChildNodes['bairro'].NodeValue;Edit4.Text := XMLBuscaCEP.DocumentElement.ChildNodes['cidade'].NodeValue;Edit5.Text := XMLBuscaCEP.DocumentElement.ChildNodes['uf'].NodeValue;TSConsulta.Free;Resposta.Free;XMLBuscaCEP.Active := False;Edit13.SetFocus; Aguardo respostas ! Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Maio 6, 2015 O problema de usar o showmodal é que ele troca o foco de execução do form atual para o form chamado... em geral, neste tipo de situação, eu criava um form padrão com um gif animado com um "por favor aguarde" e dava um show neste form no início do processamento e um close nele após o término. Pelo menos visualmente o usuário não ficará sem informação... outra alternativa seria por um statusbar na sua aplicação e ir informando ao usuário por mensagens o status atual do processamento na própria tela (talvez usando junto um progressbar). Compartilhar este post Link para o post Compartilhar em outros sites