Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
estou criando um sistema que tem por função basicamente enviar emails de aviso para funcionarios da empresa.
A rotina de envio do email esta OK. Mas como ainda náo tenho muito conhecimento em Delphi nao sei como fazer para que o sistema faça isso automaticamente.
Basicamente funcionará assim, o usuário ira cadastrar as seguintes informações:
nome
assunto
status
O que eu quero basicamente é criar uma rotina que quando eu clique em um button verifique quais os registros estao com status "ATIVO" e envie um email para os endereços de email desses registros.
Eu até fiz esta rotina enviando um unico email para todos os registros que estivessem com status "ATIVO". Funciona legal, os usuários recebem o email, mas todos recebem um email igual, mas agora preciso que envie um email por vez para que eu possa colocar o assunto do email do respectivo usuário.
Lembrando que a rotina de envio do email eu tenho, só me falta a idéia de como verificar 1 registro por vez e enviar o email caso o status seja "ATIVO".
Esse conjunto de dados está num banco de dados?
Como você está agrupando esses registros em sua aplicação? Com objetos? ClientDataSet?
Você poderia usar uma classe que represente um único usuário, e outra que represente um conjunto de usuários, com uma propriedade count para indexa-los.
unit uUsuarios;
interface
type
TUsuarioEmail = class( TObject )
protected
implementation
{ TUsuarioEmail }
constructor TUsuarioEmail.create( nome, email, assunto, status: string );
begin
{ TUsuariosEmail }
constructor TUsuariosEmail.create();
begin
begin
begin
begin
if ativo = 'ATIVO' then
result := true
else
end.
Agora como usa-lá (Não esqueça de utilizar a unit uUsuario em sua aplicação)
procedure TForm1.Button1Click(Sender: TObject);
var
begin
// Cria um array de usuários
Agora caso você esteja buscando os dados de um clientDataSet por exemplo, basta você seguir uma lógica simples, isso é, iterar por todos os registros do clientDataSet, e para cada registro dele, crie um novo objeto do tipo usuário (TUsuarioEmail), em seguida, armazene esse usuário no array de usuários (TUsuariosEmail) e então você itera por todos os usuários desse array, verificando se ele é ativo ou não, e com base nisso, você envia um email para o usuário com status ativo, e um email diferente para os usuários com status inativo.
É uma forma que acredito que resolverá seu problema e você estará usando POO, que é muito útil.