Memo & DBLookupCombobox Özelliklerini kullanma?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Memo & DBLookupCombobox Özelliklerini kullanma?
Merhaba arkadaşlar bi problem hakkında fikirlerini almak istiyorum,
şimdi benim forumumda bir tane
DBLookupComboBox (User.db) ye bağlı,
1 tane Memo var, ben DbLookupComboBox'ın ListField özelliğini kullarak İsimleri listelettim ve Onclick olayına Memo1.Lines.Add(TbDelegeEmail.AsString+';') bunu yazarak seçmiş olduğum isimlerin veritabanından mail adreslerini Memo'ya ekletiyorum ve otomatik mail attırıyorum fakat burada benim bir problemim oluyor.. Eğer 1'den fazla kişi seçersem memo içerisindeki değer örnek olarak "asd@asd.com;abc@asd.com;ddd@asd.com" gibi oluyor burada bi sorun yok mail gönderme esnasında bunları (noktalı virgülle ayrıldığı için gönderiyor) fakat asıl sorun eğer 1 kişi seçersem listeden bu sefer memonun içeriği yine noktalı virgüllü olarak "asd@asd.com;" oluyor ki sondaki ; (noktalı virgül) işareti işin içine girdiğinden mail gönderemiyor program çünkü böyle bir mail adresini tanımlayamıyor.. benim amacım şimdi eğer DBlookupComboBox'ta bir isim seçersem sadece
Memo3.Lines.Add(TbDelegeEmail.AsString); çalışsın eğer birden fazla isim seçersem
Memo3.Lines.Add(TbDelegeEmail.AsString+';')
çalışmasını istiyorum (yani tek isim koyduğumda noktalı virgül yok, 1'den fazla isim seçtiğimde noktalı virgülü koysun)
bu konuda kurgu olarak aklıma birşey gelmedi takıldım arkadaşlar bana yardımcı olursanız sevnirim, herkezlere sevgiler, saygılar...
şimdi benim forumumda bir tane
DBLookupComboBox (User.db) ye bağlı,
1 tane Memo var, ben DbLookupComboBox'ın ListField özelliğini kullarak İsimleri listelettim ve Onclick olayına Memo1.Lines.Add(TbDelegeEmail.AsString+';') bunu yazarak seçmiş olduğum isimlerin veritabanından mail adreslerini Memo'ya ekletiyorum ve otomatik mail attırıyorum fakat burada benim bir problemim oluyor.. Eğer 1'den fazla kişi seçersem memo içerisindeki değer örnek olarak "asd@asd.com;abc@asd.com;ddd@asd.com" gibi oluyor burada bi sorun yok mail gönderme esnasında bunları (noktalı virgülle ayrıldığı için gönderiyor) fakat asıl sorun eğer 1 kişi seçersem listeden bu sefer memonun içeriği yine noktalı virgüllü olarak "asd@asd.com;" oluyor ki sondaki ; (noktalı virgül) işareti işin içine girdiğinden mail gönderemiyor program çünkü böyle bir mail adresini tanımlayamıyor.. benim amacım şimdi eğer DBlookupComboBox'ta bir isim seçersem sadece
Memo3.Lines.Add(TbDelegeEmail.AsString); çalışsın eğer birden fazla isim seçersem
Memo3.Lines.Add(TbDelegeEmail.AsString+';')
çalışmasını istiyorum (yani tek isim koyduğumda noktalı virgül yok, 1'den fazla isim seçtiğimde noktalı virgülü koysun)
bu konuda kurgu olarak aklıma birşey gelmedi takıldım arkadaşlar bana yardımcı olursanız sevnirim, herkezlere sevgiler, saygılar...
Bak bunu bir çok yolla yapabilirisin.
Formuna 2 adet listbox koy sonra ListBox1'e User.DB' deki kullanıcı adresleri ekle diğeride boş kalsın.
ListBox1'e çift tıkladığı zaman Listbox2'ye atarsın tabiki atarken listbox2'nin count fonksiyonundan faydalanarak Listede 1 adetmi yoksa daha fazlamı var burdan yakalarsın. sonrada mail atarken listbox2'i baştan sonra bir memo içine alır gönderirsin.
Umarım anlatabilmişimdir...
Formuna 2 adet listbox koy sonra ListBox1'e User.DB' deki kullanıcı adresleri ekle diğeride boş kalsın.
ListBox1'e çift tıkladığı zaman Listbox2'ye atarsın tabiki atarken listbox2'nin count fonksiyonundan faydalanarak Listede 1 adetmi yoksa daha fazlamı var burdan yakalarsın. sonrada mail atarken listbox2'i baştan sonra bir memo içine alır gönderirsin.
Umarım anlatabilmişimdir...
peki hocam ben şimdi listbox ile olayı çözmeye çalışıyorum, forumun onshowuna olayına
şeklinde yazdım.. listelede listbox1'e peki ben listbox1'den herhangi bir ismi seçtiğimde listbox2'ye mail adresini atarken nasıl ona ait kaydı bulupta atıcak? sürekli DB'deki ilk kaydın mail adresini atıyor
Sevgiler, saygılar
Kod: Tümünü seç
Query1.Active := False;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT AdSoyad');
Query1.SQL.Add(' ');
Query1.SQL.Add('FROM "c:\mesut\toplantıtakip\deleges.db" ');
Query1.Active := True;
while not Query1.eof do begin
ListBox1.Items.Add(Query1AdSoyad.AsString);
Query1.next;
end;

Sevgiler, saygılar
Sen User tablosundaki bütün kayıtları bir defadamı ekliyorsun yoksa tek tek kullanıcıya mı bırakıyorsun;
Bak Listbox1' in altına iki adet buton koy biri temizle olsun diğeride ekle olsun temizle basıtığın zaman listbox2'i sil ekle dediğindede istersen tek tek istersen tümünü birde listeye alırsın.
yerine
Sonra kodun şöyle şöyle olması lazım
Bak Listbox1' in altına iki adet buton koy biri temizle olsun diğeride ekle olsun temizle basıtığın zaman listbox2'i sil ekle dediğindede istersen tek tek istersen tümünü birde listeye alırsın.
Buradameren yazdı:peki hocam ben şimdi listbox ile olayı çözmeye çalışıyorum, forumun onshowuna olayınaşeklinde yazdım.. listelede listbox1'e peki ben listbox1'den herhangi bir ismi seçtiğimde listbox2'ye mail adresini atarken nasıl ona ait kaydı bulupta atıcak? sürekli DB'deki ilk kaydın mail adresini atıyorKod: Tümünü seç
Query1.Active := False; Query1.SQL.Clear; Query1.SQL.Add('SELECT AdSoyad'); Query1.SQL.Add(' '); Query1.SQL.Add('FROM "c:\mesut\toplantıtakip\deleges.db" '); Query1.Active := True; while not Query1.eof do begin ListBox1.Items.Add(Query1AdSoyad.AsString); Query1.next; end;
![]()
Sevgiler, saygılar
Kod: Tümünü seç
Query1.Active := True;
Kod: Tümünü seç
Query1.Open;
Kod: Tümünü seç
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT AdSoyad');
Query1.SQL.Add(' ');// Bunu anlayamadım
Query1.SQL.Add('FROM "c:\mesut\toplantıtakip\deleges.db" ');
Query1.Open;
Query1.First;
while not Query1.eof do
begin
ListBox1.Items.Add(Query1AdSoyad.AsString);
Query1.next;
end;
tmm hocam bu düzenlemeleri yaptım buraya kadar herşey normal şimdi 2. Listbox'a çift tıklayıp seçili olan isme ait veritabanındaki email adresini aktarmak için şunu yaptım
ListBox2.Items.Add(TbDelegeEmail.AsString+';');
mesela
Listbox1
Ahmet (DB'deki emaili ahmet@asd.com)
Mehmet (Dbdeki emaili mehmet@asd.com)
Ahmeti tıkladım Listbox2=> ahmet@asd.com oldu
Mehmeti çift tıkladım Listbox2 yine ahmet@asd.com oldu..
işte burada tıkandım kaldım
Teşekkürler, saygılar sevgiler dostum...
ListBox2.Items.Add(TbDelegeEmail.AsString+';');
mesela
Listbox1
Ahmet (DB'deki emaili ahmet@asd.com)
Mehmet (Dbdeki emaili mehmet@asd.com)
Ahmeti tıkladım Listbox2=> ahmet@asd.com oldu
Mehmeti çift tıkladım Listbox2 yine ahmet@asd.com oldu..

Teşekkürler, saygılar sevgiler dostum...
olmayacak hocam bu şekildede bu iş.. şimdi şöyle düşünüyorum başa dönüyorum
DBLookupComboBox1 koydum ve buradan isimleri seçtim her ismi seçtikten sonra
Listbox1.Items.Add(TbDelegeEmail.Asstring) emailleri listbox'a gönderdik okey.. buraya kadar şimdi bir tane memoya bu isimleri kayıt saytısını kullanarak göndermek lazım örnek veiryorum
Listbox1'den 1'den fazla kayıt varsa
Memo1.Lines.Add(TbDelegeEmail.AsString+';'); (noktalı virgüllü olarak aktarmaya ba$lıyacak) bütün listboxtaki kayıtları eğer 1 veya 1'den az ise virgülsüz o kaydı akratacak memoya... şimdi şurada bunu yapabilirsem olacka herhalde listboxtaki kayıtları sırayla nasıl aktarabilirim memoya
Saygılar, sevgiler...
DBLookupComboBox1 koydum ve buradan isimleri seçtim her ismi seçtikten sonra
Listbox1.Items.Add(TbDelegeEmail.Asstring) emailleri listbox'a gönderdik okey.. buraya kadar şimdi bir tane memoya bu isimleri kayıt saytısını kullanarak göndermek lazım örnek veiryorum
Listbox1'den 1'den fazla kayıt varsa
Memo1.Lines.Add(TbDelegeEmail.AsString+';'); (noktalı virgüllü olarak aktarmaya ba$lıyacak) bütün listboxtaki kayıtları eğer 1 veya 1'den az ise virgülsüz o kaydı akratacak memoya... şimdi şurada bunu yapabilirsem olacka herhalde listboxtaki kayıtları sırayla nasıl aktarabilirim memoya

Saygılar, sevgiler...
merhaba
dblookupcombobox+memo kullanarak yaptım senin sorununu.
ilk olarak dblookupcomboboxtan seçtiğin kayıtları
bu şekilde ekliyordun zaten. daha sonra gönder butonuna bastığın anda memonun kayıt sayısını kontrol ettir. eğer kayıt sayısı 1 se ';' ü sildir. yani buda
bu arada uses kısmına strutils eklemeyi unutma
umarım işini görür.
kolay gelsin
ii çalışmalar
dblookupcombobox+memo kullanarak yaptım senin sorununu.
ilk olarak dblookupcomboboxtan seçtiğin kayıtları
Kod: Tümünü seç
procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
begin
Memo1.Lines.Add(TbDelegeEmail.AsString+';');
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
if Memo1.Lines.Count=1 then
memo1.Text:=AnsiReplaceText(memo1.Text,';','');
end;

umarım işini görür.
kolay gelsin
ii çalışmalar