DBCombobox Edit ile bilgi girme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

DBCombobox Edit ile bilgi girme

Mesaj gönderen ozcank »

Arkadaşlar şöyle bir şey yapıyorum;
Ana Kayıt formum var ve bur da DBCombobox lar var kayıt girişini burda kapattım. Bir başka form da Edit1.Text ve Button ekledim. Button1 e bastığı zaman istediğim kaydı ekliyorum DBCombobox ın Kayıt formun dada görüyorum ama programdan çıkıp girdiğimde kayboluyor İtems kısmına nasıl kaydederim?

İtems de kontrol de ettirmek istedim ama oda olmadı yardımcı olursanız sevinirim.

Kod: Tümünü seç

if (Form3.DBComboBox4.Items.IndexOf() != -1);
MessageBox.Show("Girdiğiniz şehir ismi listede mevcut");
else
Form3.DBComboBox4.Items.Add(Edit1.Text);
Form3.DBComboBox4.Text = Form3.DBComboBox4.Items[0].ToString();
En son ozcank tarafından 01 Kas 2016 03:23 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
kimimben
Üye
Mesajlar: 129
Kayıt: 28 Oca 2016 04:41
Konum: İstanbul

Re: DBCombobox Edit ile bilgi girme

Mesaj gönderen kimimben »

ozcank yazdı:

Kod: Tümünü seç

if (Form3.DBComboBox4.Items.IndexOf() != -1);
Önerilerimi belki yanlış anlayacaksınız ama;
Öncelikle bu işin en temelinde fonksiyon, procedure kavramlarını tekrar gözden geçirmeniz lazım.

IndexOf fonksiyonu parametre ile geçilen değerin index'ini verir.
Sizin kullanımızda IndexOf'a gönderilen herhangi bir parametre yok.

Alfabeyi bilmeden, yazı yazıp cümle kurmaya benziyor şuan ki durum...
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: DBCombobox Edit ile bilgi girme

Mesaj gönderen ozcank »

Arkadaşlar bu şekilde yaptım ama programı kapatıp açınca bilgiler kayboluyor.

Kod: Tümünü seç

procedure TForm4.Button1Click(Sender: TObject);
var
 Str : String;
 begin
 Str :=Edit1.Text;
 if Str='' then exit else
 if DBComboBox1.Items.IndexOf(Str) = -1 then
 begin
 DBComboBox1.Items.Add(Str);
 DBComboBox1.Items.SaveToFile('Edit1.Text');
 end;
 end;
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: DBCombobox Edit ile bilgi girme

Mesaj gönderen ertank »

ozcank yazdı:Arkadaşlar şöyle bir şey yapıyorum;
Ana Kayıt formum var ve bur da DBCombobox lar var kayıt girişini burda kapattım. Bir başka form da Edit1.Text ve Button ekledim. Button1 e bastığı zaman istediğim kaydı ekliyorum DBCombobox ın Kayıt formun dada görüyorum ama programdan çıkıp girdiğimde kayboluyor İtems kısmına nasıl kaydederim?

İtems de kontrol de ettirmek istedim ama oda olmadı yardımcı olursanız sevinirim.

Kod: Tümünü seç

if (Form3.DBComboBox4.Items.IndexOf() != -1);
MessageBox.Show("Girdiğiniz şehir ismi listede mevcut");
else
Form3.DBComboBox4.Items.Add(Edit1.Text);
Form3.DBComboBox4.Text = Form3.DBComboBox4.Items[0].ToString();
Merhaba,

Sorunuz net anlaşılmıyor. Yapmak istediğiniz aşağıdakilerden birisi mi? Yoksa başka birşey mi acaba?
- Form her açıldığında DBComboBox içinde database içindeki tablonun bir alanında bulunan kayıtları bir mükerrer olmayacak şekilde (bir kayıttan en fazla bir tane olacak) içinde gözükmesini istiyorsunuz.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: DBCombobox Edit ile bilgi girme

Mesaj gönderen ALUCARD »

bence bu işlemi dblookopcombobox ile çok daha kolay yapabilirsin. dbcomboboxun itemsine eklediğin bilgiler program kapatılıca silinir.

yada dbcomboboxun itemsini txt yada iniden doldurusun, kayıt yaparken de buraya kayıt edersin.
ozcank yazdı:Arkadaşlar şöyle bir şey yapıyorum;
Ana Kayıt formum var ve bur da DBCombobox lar var kayıt girişini burda kapattım. Bir başka form da Edit1.Text ve Button ekledim. Button1 e bastığı zaman istediğim kaydı ekliyorum DBCombobox ın Kayıt formun dada görüyorum ama programdan çıkıp girdiğimde kayboluyor İtems kısmına nasıl kaydederim?

İtems de kontrol de ettirmek istedim ama oda olmadı yardımcı olursanız sevinirim.

Kod: Tümünü seç

if (Form3.DBComboBox4.Items.IndexOf() != -1);
MessageBox.Show("Girdiğiniz şehir ismi listede mevcut");
else
Form3.DBComboBox4.Items.Add(Edit1.Text);
Form3.DBComboBox4.Text = Form3.DBComboBox4.Items[0].ToString();
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: DBCombobox Edit ile bilgi girme

Mesaj gönderen ozcank »

Evet ertank kardeşim tam da senin dediğin gibi. Biraz daha açayım ; DBCombobox 'a başka bir formdan Edit yardımıyla kullanıcı istediği kaydı girmek istesin düzeltsin veya silsin. Mesela bir kamu kuruluşu adı girecek DBCombobox da yoksa onu diğer form a gidip Edit yardımı ile girişini yapabilsin.
Ben databases kullanmak istemedim DBCombobox' ın items yerinden girişini yapabiliyorsak ve kalıcı olarak orda görünüyorsa kod yardımı ile oraya kayıt yapabilirim düşündüm ama olmadı, bahsettiğim kodla Edit yardımı ile giriş yapıyorum DBCombobox 'a ama programa çıkıp girince bilgiler sıfırlanıyor.
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: DBCombobox Edit ile bilgi girme

Mesaj gönderen ertank »

Örnek uygulamayı aşağıdaki linkten indirebilirsiniz.

- Form1 OnCreate() ve OnDestroy() olaylarında bilgileri INI dosyasına kaydedip oradan okuyan kodlar mevcut. Bu olaylarda Formun private kısmında tanımlanmış değişkenler kullanılıyor. Ayrıca INI dosyası kullanımı için uses kısmına IniFiles elle eklenmiş durumda.
- Düzenle butonu tıklandığında ikinci form oluşturulup Memo içine mevcut bilgiler aktarılıyor.
- Form2 içinde değişiklikleri kaydetmek isterler ise Form1 içindeki ComboBox seçenekleri güncelleniyor.

combobox.7z
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: DBCombobox Edit ile bilgi girme

Mesaj gönderen ozcank »

ertank kardeşim senin verdiğin bilgiler doğrultusunda şu şekilde çözdüm;

Önce Button ile Edit deki bilgiyi kaydettim ;

Kod: Tümünü seç

procedure TForm4.Button1Click(Sender: TObject);
var
Str : String;
begin
Str :=Edit1.Text;
if Str='' then exit else
if ComboBox1.Items.IndexOf(Str) = -1 then
begin
ComboBox1.Items.Add(Str);
Listbox1.Items.Add(Str);
ComboBox1.Items.SaveToFile('C:\MADENPRO\ILLER.Txt');
end;
end;
Sonra FormCreate kısmına;

Kod: Tümünü seç

procedure TForm4.FormCreate(Sender: TObject);
begin
ComboBox1.Items.LoadFromFile('C:\MADENPRO\ILLER.TXT');
ListBox1.Items.LoadFromFile('C:\MADENPRO\ILLER.TXT');
End;

Silmek içinde ;

Kod: Tümünü seç

procedure TForm4.Button2Click(Sender: TObject);
Var
i : Integer;
begin
    Listbox1.Items.BeginUpdate;
    for i := ListBox1.Items.Count - 1 downto 0 do begin
      if ListBox1.Selected[i] then ListBox1.Items.Delete(i);
      ListBox1.Items.SaveToFile('C:\MADENPRO\ILLER.Txt');
      end;
      ListBox1.Items.EndUpdate;
      Form4.Activate;
end;
Bu şekilde kullandım.
Cevapla