CheckListBox da çoklu veri

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 da çoklu veri

Mesaj gönderen haydarxxx »

Slmlar

Kod: Tümünü seç

For a:=1 to Form1.Datasetpersonel.recordcount Do
begin
JvCheckListBox1.Items.Add(inttostr(Form1.Datasetpersonel.fieldbyname('PERSONELID').Asinteger)+' '+Form1.Datasetpersonel.fieldbyname('ADISOYADI').AsString+' '+Form1.Datasetpersonel.fieldbyname('GOREVI').AsString);
CheckListBox ın itemslerine yukarıdaki kodla tablodan 3 tane veri aktarıyorum bu 3 veriyi başka bir tabloya aktaracağım.

Kod: Tümünü seç

for i:=0 to JvCheckListBox1.Items.Count-1 do
begin
if  JvCheckListBox1.Checked[i]=True then
begin
IBDataSet8.append;
IBDataSet8.Edit;
IBDataSet8.FieldByName('ADISOYADI').AsString:=.............ne yazılmalı (adısoyadı bilgisini almak için)
IBDataSet8.FieldByName('GOREVI').AsString:=...................ne yazılmalı (görev bilgisini almak için)
IBDataSet8.FieldByName('PERSONELID').AsString:=...............ne yazılmalı (personelıd bilgisini almak için)
IBDataSet8.post;

Kod: Tümünü seç

IBDataSet8.FieldByName('ADISOYADI').AsString:=JvCheckListBox1.Items.Strings[i]; 
yazdığımda haliyle CheckListBox tüm verileri ADISOYADI lanına aktarıyor.CheckListBox ta 3 tene veri var her satırda sırasıyla PERSONELID- ADISOYADI-GOREVI CheckListBox her satırdaki bilgileri ayrı ayrı nasıl alabilirim
IBDataSet8.FieldByName('ADISOYADI').AsString:=CheckListBoxtan gelecek
IBDataSet8.FieldByName('GOREVI').AsString:=CheckListBoxtan gelecek
IBDataSet8.FieldByName('PERSONELID').AsString:=CheckListBoxtan gelecek.Şimdiden teşekkürler
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: CheckListBox da çoklu veri

Mesaj gönderen Battosai »

ilk döngüde aralara bir tane ayraç koy (-) gibi ...daha sonra aşağıdaki örneği incele

Kod: Tümünü seç

for i:=0 to JvCheckListBox1.Items.Count-1 do
begin
if  JvCheckListBox1.Checked[i]=True then
begin
IBDataSet8.insert;
S:=JvCheckListBox1.Items.strings[i]+'-';
IBDataSet8.FieldByName('ADISOYADI').AsString:=copy(S,1,pos('-',S)-1); 
S:=copy(S,pos('-',S)+1,length(S) ); //İlk (-) den sonrasını alıyoruz...
IBDataSet8.FieldByName('GOREVI').AsString:=burayada sen yaz artık kodu...
S:=copy(S,pos('-',S)+1,length(S) );
IBDataSet8.FieldByName('PERSONELID').AsString:=bide buraya tabi...
End;
End;
IBDataSet8.post; // post işlemini döngü içinde kullanmamak daha iyi bir yöntemdir...
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Re: CheckListBox da çoklu veri

Mesaj gönderen haydarxxx »

Battosai teşekkür ettim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: CheckListBox da çoklu veri

Mesaj gönderen conari »

Bilgi: JvCheckListBox1.Checked=True then
Bu şekilde Boolean sonuç veren karaşılaştırmalarda =true veya False karşılatırılmasına gerek yoktur.

Kod: Tümünü seç

JvCheckListBox1.Checked[i] then
Yeterlidir.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: CheckListBox da çoklu veri

Mesaj gönderen Battosai »

Bilgi: JvCheckListBox1.Checked=True then
Bu şekilde Boolean sonuç veren karaşılaştırmalarda =true veya False karşılatırılmasına gerek yoktur.

False karşılaştırmasına gerek yoktur yanlış bir ifade false gereklidir. Sadece true için bahsettiğiniz yapı kullanılır...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: CheckListBox da çoklu veri

Mesaj gönderen conari »

Battosai yazdı:
Bilgi: JvCheckListBox1.Checked=True then
Bu şekilde Boolean sonuç veren karaşılaştırmalarda =true veya False karşılatırılmasına gerek yoktur.

False karşılaştırmasına gerek yoktur yanlış bir ifade false gereklidir. Sadece true için bahsettiğiniz yapı kullanılır...


Haklısın, genel olarak;

Kod: Tümünü seç

if checked then begin
...
end else begin...
şeklinde gittiğinden demek istemiştim
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla