sql sorgunun sonucunda dbgridden sırayla mail adreslerine bilgi gönderiyorum dbgrid hareket ederken sürekli SQL kum saaati çaslışıyor
ama form üzerinde hiçbirşeyi seçemiyorum
ayrıca başka programı simge halinde küçültüp tekrar büyültüğümde ekranda sadece dbgridde hareket eden kayıtlar var
bunu nasıl halledebilim.
forma hitap edilemiyor
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
procedure Tmailgonderme.Button2Click(Sender: TObject);
var
i:integer;
begin
dm.Query1.First;
while not dm.query1.eof do
begin
DM.Query1.DisableControls;
dm.tablemail.DisableControls;
if (pos('@',trim(DM.Query1mail1.Text))>0) and (dm.Query1durum.Text<>'OK') THEN
begin
IdMessage1.Recipients.EMailAddresses:=dm.Query1mail1.Text;
IdMessage1.ReplyTo.EMailAddresses:='ttamasyaadsl@turktelekom.com.tr' ;
IdMessage1.From.Address:='ttamasyaadsl@turktelekom.com.tr' ;
IdMessage1.From.Name:='AMASYA İL TELEKOM MÜDÜRLÜĞÜ';
IdMessage1.Sender.Address:='ttamasyaadsl@turktelekom.com.tr' ;
IdMessage1.Sender.Name:='AMASYA İL TELEKOM MÜDÜRLÜĞÜ';
IdMessage1.ContentType:='text/binary';
IdMessage1.Subject :=Edit1.Text;
IdMessage1.Body.Clear;
IdMessage1.Body.Add(Richedit1.Text);
IdMessage1.MessageParts.Clear;
// eğer dosya eklerin varsa
if CheckBox1.Checked then
begin
IdMessage1.MessageParts.Clear;
TIdAttachment.Create(IdMessage1.MessageParts,OpenDialog1.FileName);
end;
IdSMTP1.AuthenticationType:=atlogin;
dm.Tablemailayar.First;
IdSMTP1.Host :='webmail.ttnet.net.tr';
IdSMTP1.UserID := 'ttamasyaadsl@turktelekom.com.tr';
IdSMTP1.Password :='*******';
IdSMTP1.Port:=25;
try
try
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
except on E:Exception do
Memo1.Lines.Insert(0, 'ERROR: ' + E.Message+''+dm.Query1adsoyad.Text+''+DM.Query1mail1.Text);
end;
finally
if IdSMTP1.Connected then
begin
IdSMTP1.Disconnect;
dm.tablemail.FindKey([dm.Query1adslno.Text]);
if dm.tablemailadslno.Text=dm.Query1adslno.Text then
begin
dm.tablemail.Edit;
dm.tablemaildurum.Text:='BAD';
dm.tablemail.post;
end;
end;
if dm.tablemailadslno.Text=dm.Query1adslno.Text then
begin
dm.tablemail.Edit;
dm.tablemaildurum.Text:='OK';
dm.tablemail.post;
end;
end;
end;
dm.Query1.EnableControls;
DM.QUERY1.NEXT;
end;
end;
var
i:integer;
begin
dm.Query1.First;
while not dm.query1.eof do
begin
DM.Query1.DisableControls;
dm.tablemail.DisableControls;
if (pos('@',trim(DM.Query1mail1.Text))>0) and (dm.Query1durum.Text<>'OK') THEN
begin
IdMessage1.Recipients.EMailAddresses:=dm.Query1mail1.Text;
IdMessage1.ReplyTo.EMailAddresses:='ttamasyaadsl@turktelekom.com.tr' ;
IdMessage1.From.Address:='ttamasyaadsl@turktelekom.com.tr' ;
IdMessage1.From.Name:='AMASYA İL TELEKOM MÜDÜRLÜĞÜ';
IdMessage1.Sender.Address:='ttamasyaadsl@turktelekom.com.tr' ;
IdMessage1.Sender.Name:='AMASYA İL TELEKOM MÜDÜRLÜĞÜ';
IdMessage1.ContentType:='text/binary';
IdMessage1.Subject :=Edit1.Text;
IdMessage1.Body.Clear;
IdMessage1.Body.Add(Richedit1.Text);
IdMessage1.MessageParts.Clear;
// eğer dosya eklerin varsa
if CheckBox1.Checked then
begin
IdMessage1.MessageParts.Clear;
TIdAttachment.Create(IdMessage1.MessageParts,OpenDialog1.FileName);
end;
IdSMTP1.AuthenticationType:=atlogin;
dm.Tablemailayar.First;
IdSMTP1.Host :='webmail.ttnet.net.tr';
IdSMTP1.UserID := 'ttamasyaadsl@turktelekom.com.tr';
IdSMTP1.Password :='*******';
IdSMTP1.Port:=25;
try
try
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
except on E:Exception do
Memo1.Lines.Insert(0, 'ERROR: ' + E.Message+''+dm.Query1adsoyad.Text+''+DM.Query1mail1.Text);
end;
finally
if IdSMTP1.Connected then
begin
IdSMTP1.Disconnect;
dm.tablemail.FindKey([dm.Query1adslno.Text]);
if dm.tablemailadslno.Text=dm.Query1adslno.Text then
begin
dm.tablemail.Edit;
dm.tablemaildurum.Text:='BAD';
dm.tablemail.post;
end;
end;
if dm.tablemailadslno.Text=dm.Query1adslno.Text then
begin
dm.tablemail.Edit;
dm.tablemaildurum.Text:='OK';
dm.tablemail.post;
end;
end;
end;
dm.Query1.EnableControls;
DM.QUERY1.NEXT;
end;
end;
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
Aşağıdaki kod belli bir süreliğine program kontrolünü windowsa bırakır....
Bu kod ile döngülerde next ten sonraya veya bir procedure sürekli çalıştırılıyor ise prosedur başına veya sonuna konabilir....
Başarılar,
Kod: Tümünü seç
application.processmessages;
Başarılar,