CheckListBox la ile çoklu Database kontrol

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

CheckListBox la ile çoklu Database kontrol

Mesaj gönderen haydarxxx »

CheckListBox a aldığım items isimlerini bir döngü ile Database yoluna eklemek istiyorum şöyleki

Kod: Tümünü seç

procedure TForm1.JvCheckListBox1Click(Sender: TObject);
var i :integer;
begin
 if GetCheckedCount>3 then
 begin
 showmessage('daha fazla  seçemezsiniz');
i:=JvCheckListBox1.ItemIndex;
if JvCheckListBox1.Checked[i] then
JvCheckListBox1.Checked[i]:=false;
 end
 else

[b]buradan sonra ki işlem nasıl  yapılmalı yani [/b]
for i:=0 to JvCheckListBox1.Items.count-1 do
    if JvCheckListBox1.Checked[i]=true Then
        Begin
IBDatabase1.DatabaseName:='C:\xxx\'+JvCheckListBox1.Items+'\DATA.FDB';
IBDatabase1.Connected:=true;
end;

[b]sonra tekrar döngü yaparak[/b]
if JvCheckListBox1.Checked[i]=true Then

IBDatabase2.DatabaseName:='C:\xxx\'+JvCheckListBox1.Items+'\DATA.FDB';
IBDatabase2.Connected:=true;

[b]sonra tekrar döngü yaparak[/b]
if JvCheckListBox1.Checked[i]=true Then
    if JvCheckListBox1.Checked[i]=true Then
        Begin
IBDatabase3.DatabaseName:='C:\xxx\'+JvCheckListBox1.Items+'\DATA.FDB';
IBDatabase3.Connected:=true;
end;
JvCheckListBox1 de en fazla 3 alan seçtiriyorum.Burada haliyle Checked leri değişken bu işlemden sonra seçili olan verileri IBDatabase.DatabaseName yoluna almak istiyorum.Checked=true sırasıyla IBDatabase1.DatabaseName, IBDatabase2.DatabaseName ,IBDatabase3.DatabaseName yollarına items değerlerini yazmalı.3 değere üç bağlantı olacak.Umarım analatabildim. :N(
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: CheckListBox la ile çoklu Database kontrol

Mesaj gönderen SimaWB »

Kodun veritabanı bağlantı kısmını CheckListBox'ın OnClick olayında yazmak zorunda mısınız? Sadece en fazla 3 seçimin yapılmasını orada kontrol ettirip Bağlan butonu gibi birşeyle bağlantıları yaptırırsanız

Kod: Tümünü seç

var
  i, Cnt: integer;
  SelectedItems: TStringList;
begin
  SelectedItems := TStringList.Create;
  try
    for i := 0 to CheckListBox1.Items.count-1 do
      if CheckListBox1.Checked[i] then
        SelectedItems.Add(CheckListBox1.Items.Strings[i]);

    //Kaç tane seçilmiş =  SelectedItems.Count
    //İlk seçilen Item  = SelectedItems.Strings[0]
  finally
    SelectedItems.Free;
  end;
There's no place like 127.0.0.1
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Re: CheckListBox la ile çoklu Database kontrol

Mesaj gönderen haydarxxx »

SimaWB çok çok teşekür ediyorum istediğim gibi olmuş.Eyvallah kardeşim
Kodun veritabanı bağlantı kısmını CheckListBox'ın OnClick olayında yazmak zorunda mısınız?
şart değil değiştir dim butona yazdım.Şöyle bir durumda var.CheckListBox da 1 yada 2 veya 3 tane kayıt seçilme olasılıkları var veya iki tane seçili bu durumda data bağlantı konrolunü nasıl yapayım öneri olarak yani

Kod: Tümünü seç

 if GetCheckedCount=1 then
..... dataya bağlan şu işlemi yap
if GetCheckedCount=2 then
..... dataya bağlan şu işlemi yap
if GetCheckedCount=3 then
..... dataya bağlan şu işlemi yap
şeklinde mi kontrol ettirmek doğru yoksa yazdığınız koda bir ilave nasıl yapılır.Fikriniz nedir
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: CheckListBox la ile çoklu Database kontrol

Mesaj gönderen SimaWB »

Kodu butonun OnClick'ine taşıdığınıza göre verdiğim örnekteki SelectedItems.Count'u IF yada CASE ile kontrol edebilirsiniz.
There's no place like 127.0.0.1
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Re: CheckListBox la ile çoklu Database kontrol

Mesaj gönderen haydarxxx »

teşekkürler
Cevapla