Listbox ve Table

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
r_korkmaz44
Üye
Mesajlar: 63
Kayıt: 11 Ara 2005 01:00

Listbox ve Table

Mesaj gönderen r_korkmaz44 »

Herkese Selamun Aleykum ;
Arkadaşlar kullandığım veritabanı Dbase for Windows


İlk önce Edit1 den göderdiğim değerleri bir buton sayesinde Listbox1 e aktarıyorum. (Editten en fazla 6 değer girilecek???).Ben listboxtaki değerlerin hepsini seçtirip, veritabanındaki Tablo1Okulno sütünunun içindeki değerlerle tek tek karşılaştırmak istiyorum. :shock:

Eğer Listbox1.selected[0] yani birinci satır seçilmiş ise ve bu değer Tablo1okulno kısmında var ise o okulno ya sahip kişinin adını, soyadını ... gibi diğer bilgileini başka edit lara yazdırmak istiyorum. :roll:

Bu listboxtaki seçim işi aynı Worddeki gibi seçtirmek istiyorum. Mouse ile sürükleme yaptığımda hepsini otomatik olarak seçsin.

Arkadaşlar inşaallah anlatabilmişimdir. Yardımlarınız için şimdiden teşekkür eder çalışmalarınızda başarılar dilerim.SAYGILAR:::::: :oops:

for i:=0 to listbox1.Items.Count-1 do
begin
if listbox1.Selected[0] then



begin
edit1.setfocus;
table1.indexname:='OKULNO';
edit1.setfocus;
if edit1.modified then
begin
s:=table1.findkey([edit1.text]);
if s=true then
begin
edit1.text:='';


edit14.text:=table1psirano.text;
edit2.text:=table1kogusno.text;
edit3.Text:=table1ranzano.Text;
edit4.text:=table1okulno.text;
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@r_korkmaz44 yazdı:

Kod: Tümünü seç

for i:=0 to listbox1.Items.Count-1 do
begin
  if listbox1.Selected[0] then
  begin
    edit1.setfocus;
    table1.indexname:='OKULNO';
    edit1.setfocus;
    if edit1.modified then
    begin
      s:=table1.findkey([edit1.text]);
      if s=true then
      begin
        edit1.text:='';
        edit14.text:=table1psirano.text;
        edit2.text:=table1kogusno.text;
        edit3.Text:=table1ranzano.Text;
        edit4.text:=table1okulno.text;
şeklinde bir kod örneği vermişsiniz.

- TListBox'da seçim yapılıp yapılmadığının kontrolü ile işleme başlamalısınız diye düşünüyorum...

Örnek :

Kod: Tümünü seç

Var
  Sayac : Integer;
begin
  If ListBox1.SelCount > 0 then
    For sayac := 0 to ListBox1.Items.Count-1 do
    begin
      If ListBox1.Selected[Sayac] then
        ShowMessage(ListBox1.Items[Sayac]);
    end;
end;
- Kodunuzdaki gördüğüm ve hata olarak değerlendirdiğim durum döngü içerisindeki Selected kontrolünü hep 0 numaralı item için yapmanız. "0" yerine "i" olmalıydı diye değerlendiriyorum.

- Son olarak -Blok Seçim ile ilgili- sorunuz için ise TListBox'un Object Inspector'deki MultiSelect özelliğini True yaparsanız mouse ile blok seçim yapabilirsiniz..

- Başarılar
Resim
Resim ....Resim
Kullanıcı avatarı
r_korkmaz44
Üye
Mesajlar: 63
Kayıt: 11 Ara 2005 01:00

Mesaj gönderen r_korkmaz44 »

Peki veritabanında table1okulno sütunun 1. ve 2. elemanını nasıl gösterebilirim.SAYGILAR
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Veritabanının Table1Okulno sütunu aslında Table1.FieldByName('OkulNo').AsString olduğunu veya "OkulNo" alanı veritabanındaki ilk Field ise Fields[0].AsString olduğunu değerlendirdiğimizde, Fields[1].AsString ikinci sütunu, Fields[2].AsString üçüncü sütunu ifade eder.

- Field sıralamasından ziyade adını kullanmanızı salık veririm. Yani 1. ve 2. elemanın fieldname'i (alan adı) ne ise onu konumlandığınız kayıttan adıyla Table1.FieldByName('alanadı').AsString şeklinde almalısınız.
Resim
Resim ....Resim
Cevapla