ComboBox ile ilgili
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
ComboBox ile ilgili
DbComboBox ın ITEMS özelliğine programlama anında veri girip sab itleyebiliyoruz. Ben sonrada mesela sınıfların olduğunu düşünelim. Programlama anında 10 sosyal, 10 fen girdik. Ama program setup oluşturulup kurulduktan sonra yeni bir sınıfı nasıl ekleriz. Şöyle birşey yaptım ama, programdan çıkıp tekrar girdikten sonra yok oluyor
Form1. DbComboBox1.Items.Add(Edit1.Text);
bu kod işe yarmadı
Form1. DbComboBox1.Items.Add(Edit1.Text);
bu kod işe yarmadı
Combo box'in itmes'ini runtime aninda degistirmek icin yazdiginiz kod dogru.
Fakat gerekli datayi eger bir tablodan alirsa o zaman sorununuz cozulur.
Ornegin Siniflarin tutuldugu bir SINIF tablonuzun olmasi lazim. Combobox'in Items ozelligini bir dongu icinde tablodan siniflari okuyarak doldurabilirsiniz. Boylece SINIF tablosuna yeni bir sinif eklendiginde combobox2inizda listelenmis olur.
Tabi bu isin temel mantigi bu doldurma kodu ile ugrasmaniz gerek olamdan bu isi yapan compoenetler de kullanabilirsiniz. Ama bu islemi denemek ve gormek faydali olur bence...
Fakat gerekli datayi eger bir tablodan alirsa o zaman sorununuz cozulur.
Ornegin Siniflarin tutuldugu bir SINIF tablonuzun olmasi lazim. Combobox'in Items ozelligini bir dongu icinde tablodan siniflari okuyarak doldurabilirsiniz. Boylece SINIF tablosuna yeni bir sinif eklendiginde combobox2inizda listelenmis olur.
Tabi bu isin temel mantigi bu doldurma kodu ile ugrasmaniz gerek olamdan bu isi yapan compoenetler de kullanabilirsiniz. Ama bu islemi denemek ve gormek faydali olur bence...
acizane fikrim şöyle....
combobox1.Items.Add(edit3.text);yukardaki kod ile combobox a bilgi girse
daha sonra
listbox1.Items.SaveToFile('c:\deneme\asd.dat');
kodu ile bu combo yu kaydetse.
her prog açıldığında da şu kodla bilgileri alsa herhalde olur.
listbox1.Items.LoadFromFile('c:\deneme\asd.dat');
combobox1.Items.Add(edit3.text);yukardaki kod ile combobox a bilgi girse
daha sonra
listbox1.Items.SaveToFile('c:\deneme\asd.dat');
kodu ile bu combo yu kaydetse.
her prog açıldığında da şu kodla bilgileri alsa herhalde olur.
listbox1.Items.LoadFromFile('c:\deneme\asd.dat');
teşekkürler
sağlıcakla kalın
sağlıcakla kalın
-
- Üye
- Mesajlar: 4
- Kayıt: 21 Ara 2003 01:08
Adminin dediği yolu uygularsan, sana ilerideki işlemlerindede yardımcı olur, ve database mantığını öğrenmiş olursun.
"...Şimdi DBComboBox zaten ogrenci.dbf NO adlı kayıt alanına bağlı , Items olayını hangi table a bağlayacağım,..."
yarısını halletmişsin diycem ama mantığını anlamadım hala. Sen bu sınıf bilgilerini başka bir table a mı kaydetmek istiyorsun? yada şöyle sorayım, bu sınıf isimlerini nereye kaydeceksin? bu önemli çünki cevap ona göre değişir.
savetofile da dosyanın uzuntısının ne oltuğu önemli değiltir. ObjectInspector da Items a tıkladığında ne görüyorsan onu olduğu gibi yazar.Yani buda text(metin)dir. notepad ile açık içine bakabilirsin, değiştirebilirsin
içeriğinin silinmesiyse bu senin yazdığın kodla ilgili bence. breakpoint koyup satırsatır incelersen hatanın yerini bulabilirsin.
eğer db ise, 2 tana table ın olmalı. 1. si öğrenci bilgileri diyelim, adı soy adı vs. diğeri ise sınıf adları. Öğrenci table ına lookup tanıtman gerek, daha sonrada bunun içeriğini görebilirsin, yani kod yazmana gerek kalmaz.
Araştırma yapman gereken keyword "LookupField"
kolay gele
"...Şimdi DBComboBox zaten ogrenci.dbf NO adlı kayıt alanına bağlı , Items olayını hangi table a bağlayacağım,..."
yarısını halletmişsin diycem ama mantığını anlamadım hala. Sen bu sınıf bilgilerini başka bir table a mı kaydetmek istiyorsun? yada şöyle sorayım, bu sınıf isimlerini nereye kaydeceksin? bu önemli çünki cevap ona göre değişir.
savetofile da dosyanın uzuntısının ne oltuğu önemli değiltir. ObjectInspector da Items a tıkladığında ne görüyorsan onu olduğu gibi yazar.Yani buda text(metin)dir. notepad ile açık içine bakabilirsin, değiştirebilirsin
içeriğinin silinmesiyse bu senin yazdığın kodla ilgili bence. breakpoint koyup satırsatır incelersen hatanın yerini bulabilirsin.
eğer db ise, 2 tana table ın olmalı. 1. si öğrenci bilgileri diyelim, adı soy adı vs. diğeri ise sınıf adları. Öğrenci table ına lookup tanıtman gerek, daha sonrada bunun içeriğini görebilirsin, yani kod yazmana gerek kalmaz.
Araştırma yapman gereken keyword "LookupField"
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Prki Hocam Bu Eklediğimiz Itemleri Silmek İstersek ??zayfin yazdı:acizane fikrim şöyle....
combobox1.Items.Add(edit3.text);yukardaki kod ile combobox a bilgi girse
daha sonra
listbox1.Items.SaveToFile('c:\deneme\asd.dat');
kodu ile bu combo yu kaydetse.
her prog açıldığında da şu kodla bilgileri alsa herhalde olur.
listbox1.Items.LoadFromFile('c:\deneme\asd.dat');
Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Bunu Biliyordum Ama Şansımı deneyeyim dedim.zayfin yazdı:hocam item leri silmek istersen direk dosya içindeki bilgileri silebilirsin..

Hocam Her Add dediğinde Elemanı Ekliyo Güzel, Ama (Saveto dedikten sonra) Programı açıp Kapayınca Dosya Baştan Yazılıyo. önceki bilgiler Kayboluyor.
Bunu Nasıl Yapıyorsunuz?
Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim: