Fórum Email com Progresso !!!! #290055

29/07/2005

0

Pessoal estou usndo os componentes da paleta indy para enviar e-mail so que dependendo do tamanho do anexo a aplicaçao tipo trava so q si espera mto tempo ela termina de enviar ai comoquei um IdAntiFreeze melhorou mto poko alguem sabe como resolver isso ?????
e como colocar progress no envio da mensagen ??????



vlw !!!!!


Guilherme

Guilherme

Responder

Posts

29/07/2005

Saint

opa..
cara, vc pode pegar o tamanho do idmessage como arquivo e usar o onwork como referencia para a qtd enviada..

abraco


Responder

Gostei + 0

29/07/2005

Guilherme

comi ki faço isso nunca fiz isso !!!!!!


Responder

Gostei + 0

01/08/2005

Guilherme

nao to conseguindo pegar o tamanho do idmessage como ki pego ???


Responder

Gostei + 0

12/08/2005

Christian_adriano

function TamanhoArquivo(Arquivo: string): Integer;
begin

   try

       Result := 0;
       with TFileStream.Create(Arquivo, fmOpenRead or fmShareExclusive) do begin
          try
            Result := Size;
          finally
            Free;
          end;
       end;

   except end;

end;


// *********** Anexando Arquivos ****************** //
    tam := 0;  ProgressBar1.Position := 0;
    if (ListBox1.Items.Count > 0) then
     for i := 0 to ListBox1.Count - 1 do begin
       TIdAttachment.Create(idMsgSend.MessageParts, ListBox1.Items.Strings[i]);
       tam := tam + TamanhoArquivo(ListBox1.Items.Strings[i]);
     end;
    ProgressBar1.Max := tam;


E no Evento OnWork do TidSMTP vc coloca esse código:

ProgressBar1.Position := AWorkCount;


Espero que ajude.

[]´s.

Christian.


Responder

Gostei + 0

15/08/2005

Guilherme

cara valew deu certo so ki quando nao tem anexo o progress nem mexe como ki faz para colocar o progress tbm no texto ?


Responder

Gostei + 0

17/08/2005

Christian_adriano

Já tentou colocar no Evento OnWork do TidSMTP vc coloca esse código:

 ProgressBar1.StepIt;




Espero q ajude...


[]´s.


Christian.


Responder

Gostei + 0

18/08/2005

Guilherme

cara eu coloquei como vc falou no 1ª post intao so me diz uma coisa o q devo colocar para funcionar com anexo ou sem anexo ?????


Responder

Gostei + 0

02/09/2005

Guilherme

Já tentou colocar no Evento OnWork do TidSMTP vc coloca esse código: Código: ProgressBar1.StepIt; Espero q ajude... []´s. Christian.


Nao adiantou nada !!!


Responder

Gostei + 0

31/03/2009

Powerlog Tecnologia

Só pra complementar, pego o tamanho da mensagem desse jeito:

const
  cBytesPorMb = 1024 * 1024;
var
  NumMsg, TotMsg: Integer; 
  xTamMsg: extended;
begin
      if not idPOP.Connected then
        idPOP.Connect(xTimeOut);

      TotMsg := idPOP.CheckMessages;
      pbEmail.MaxValue := TotMsg;

      for NumMsg := 1 to TotMsg do
      begin
        xTamMsg := idPOP.RetrieveMsgSize(NumMsg) / cBytesPorMb;
       (... etc, etc, etc ... )
      end;
end;


Se a mensagem for maior que ´X´ mega, eu nem baixo, já apago de vez ... (a pedido do cliente, claro)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar