DBComboBox lara Ortak kod
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
DBComboBox lara Ortak kod
5 tane DBComboBoxda Örnek; İşçi,Öğrenci,Memur vs.. gibi seçenekleri Ortak bir kodla ,ayrı ayrı nasıl seçtirebilirim.(Firebird).
Mesela tüm dbcombobox ların itemslerinde
Öğrenci
Memur
İşçi
Güvenlik Gör.
değerleri var.
Bütün dbcomboboxları Shift tuşu basılı iken seçip daha sonra events tabına geçip Onexit çıft tıklayıp aşağıdaki kodu yazarsanız hepsi için geçerli olur.
Burada dbcombobox tan çıkarken dbcomboboxtaki değer İşçi ise çıkmaya izin vermiyor. Bütün comboboxlarda öyle yapıyor.
Sizin istediğiniz öyle bir şey mi? Yoksa başka bir şey mi istiyorsunuz?
Kolay gelsin.
Öğrenci
Memur
İşçi
Güvenlik Gör.
değerleri var.
Bütün dbcomboboxları Shift tuşu basılı iken seçip daha sonra events tabına geçip Onexit çıft tıklayıp aşağıdaki kodu yazarsanız hepsi için geçerli olur.
Burada dbcombobox tan çıkarken dbcomboboxtaki değer İşçi ise çıkmaya izin vermiyor. Bütün comboboxlarda öyle yapıyor.
Kod: Tümünü seç
procedure TForm1.DBComboBox1Exit(Sender: TObject);
var
gonderen:tdbcombobox;
begin
gonderen:=sender as tdbcombobox;
if gonderen.text='İşçi' then
begin
showmessage('İşçi yazamazsınız. ');
gonderen.setfocus;
end;
end;
Kolay gelsin.
Selamlar ..Her DBComboboxda Olsun !.
Bu kod gibi 5 ayrı DBComboboxda Seçilebilsin.Yani Birinde "isci"yi seçerken Öbüründe "Memur" u seçebileyim.Seçenekler fazla olucağı için Tek bir kodla yapmak istiyorum.tabi Yukarıdaki örnek diziliş hepsinde olacak.İlgilendiğiniz için çok teşekkür ediyorum.
Kod: Tümünü seç
DBComboBox1.Items.Add('isci');
DBComboBox1.Items.Add('memur');
DBComboBox1.Items.Add('ogrenci');
DBComboBox1.Items.Add('gorevli');
vs.......gibi.
merhaba,
sanırım şöyle birşey vardı. tüm bileşenleri şift tuşu ile seçiyorsun. sıralamayı nasıl yapmak istiyorsan. sonra ilk sırada olması gereken bileşenin yani combobox1 in onexit olayına istediğin kodu yazarsan diğerlerinide tetiklemesi lazım. tam hatırlamıyorum ama aldığım delphi kitabında combobox için örnek değildi sanırım buna benzer bir örnek vardı.
kolay gelsin
sanırım şöyle birşey vardı. tüm bileşenleri şift tuşu ile seçiyorsun. sıralamayı nasıl yapmak istiyorsan. sonra ilk sırada olması gereken bileşenin yani combobox1 in onexit olayına istediğin kodu yazarsan diğerlerinide tetiklemesi lazım. tam hatırlamıyorum ama aldığım delphi kitabında combobox için örnek değildi sanırım buna benzer bir örnek vardı.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

O değerler her DBcomboboxda olsun.ve ayrı ayrı seçilsin..Bilmem anlatabildimmi? ama tek bir kodla atayayım.
gibi gözükecek.........
Kod: Tümünü seç
procedure TForm1.DBComboBox1Exit(Sender: TObject);
begin
DBComboBox1.Items.add('isci');
DBComboBox1.Items.add('memur');
end;
Kod: Tümünü seç
TForm1.DBComboBox1Exit(Sender: TObject);
begin
DBComboBox2.Items.add('isci');
DBComboBox2.Items.add('memur');
end;
Merhaba,
Eğer sizin yapmak istediğiniz itemsleri doldurmak ise dbcombobox lardan birinin items özelliğine tıklarsınız, bir defa bir tanesine eklersiniz ondan sonra diğerlerini copy paste ile alırsınız. Bunlar sürekli orda kalır her programa girişte girmenize gerek kalmaz. Ama eğer itemse girdiğiniz değerler değişen şeyler ise bir table a yazarsınız. Table daki değerleri ise dblookupcomcobox ile dosyadan direk okutursunuz.
Başka da bir şey aklıma gelmiyor. Tek bir kodla atamayı tam bilmiyorum ama olmayabilir.
Kolay gelsin.
Eğer sizin yapmak istediğiniz itemsleri doldurmak ise dbcombobox lardan birinin items özelliğine tıklarsınız, bir defa bir tanesine eklersiniz ondan sonra diğerlerini copy paste ile alırsınız. Bunlar sürekli orda kalır her programa girişte girmenize gerek kalmaz. Ama eğer itemse girdiğiniz değerler değişen şeyler ise bir table a yazarsınız. Table daki değerleri ise dblookupcomcobox ile dosyadan direk okutursunuz.
Başka da bir şey aklıma gelmiyor. Tek bir kodla atamayı tam bilmiyorum ama olmayabilir.
Kolay gelsin.
Merhaba,
@HBV arkadaşım dediğini anladım sanırım.
Sen comboboxların içini doldurmak için kod kullanıyorsun, ama çok fazla combobox olduğu için kodlar uzayacağından dolayı bunun kolay yolunu soruyorsun galiba.
Şimdi yukarıda arkadaşların belirttiği şekilde combobox'ların hepsini seçip açılan items kutusuna bir defaya mahsus yazmak istediğin yazıp kapatman yeterli olacaktır.
Eğer sen bunu illa ben kodla yapayım dersen veyada herhangi bir nedenden dolayı böyle olması gerekiyorsa Şöyle bir yol izleyebilrsin.
Bir for döngüsü açarsın değişken olarak combobox sayısı kadar bir değişken verirsin. Sonra bu döngünün içerisine eklemek istediğinz şeyleri eklersiniz ve döngüyü sonlandırısınız. istediğiniz işlemi bir defa yapmış olursunuz ve tüm combobox'lara istediğiniz şeylere yazdırmış olursunuz.
Kod yazım kısmında takılırsanız veya mantığı anlayamadıysanız tekrar yazın elimden geldiğince yardımcı olabilirim.
Saygılarımla
Kolay gelsin.
@HBV arkadaşım dediğini anladım sanırım.
Sen comboboxların içini doldurmak için kod kullanıyorsun, ama çok fazla combobox olduğu için kodlar uzayacağından dolayı bunun kolay yolunu soruyorsun galiba.
Şimdi yukarıda arkadaşların belirttiği şekilde combobox'ların hepsini seçip açılan items kutusuna bir defaya mahsus yazmak istediğin yazıp kapatman yeterli olacaktır.
Eğer sen bunu illa ben kodla yapayım dersen veyada herhangi bir nedenden dolayı böyle olması gerekiyorsa Şöyle bir yol izleyebilrsin.
Bir for döngüsü açarsın değişken olarak combobox sayısı kadar bir değişken verirsin. Sonra bu döngünün içerisine eklemek istediğinz şeyleri eklersiniz ve döngüyü sonlandırısınız. istediğiniz işlemi bir defa yapmış olursunuz ve tüm combobox'lara istediğiniz şeylere yazdırmış olursunuz.
Kod yazım kısmında takılırsanız veya mantığı anlayamadıysanız tekrar yazın elimden geldiğince yardımcı olabilirim.
Saygılarımla
Kolay gelsin.
Bunu biraz daha kullanışlı yapalım...
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
DBComboBox3: TDBComboBox;
DBComboBox4: TDBComboBox;
DBComboBox5: TDBComboBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
Procedure comboxdoldur(Var DBCombobox1,DBCombobox2,DBCombobox3,DBCombobox4,DBCombobox5:TDBComboBox;yazveri1,yazveri2,yazveri3,yazveri4,yazveri5:string);
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Procedure Tform1.comboxdoldur(Var DBCombobox1,DBCombobox2,DBCombobox3,DBCombobox4,DBCombobox5:TDBComboBox;yazveri1,yazveri2,yazveri3,yazveri4,yazveri5:string);
var
componentvarmi:String;
begin
DBCombobox1.Items.Add(yazveri1);
DBCombobox1.items.add(yazveri2);
DBCombobox1.items.add(yazveri3);
DBCombobox1.items.add(yazveri4);
DBCombobox1.items.add(yazveri5);
DBCombobox2.items.add(yazveri1);
DBCombobox2.items.add(yazveri2);
DBCombobox2.items.add(yazveri3);
DBCombobox2.items.add(yazveri4);
DBCombobox2.items.add(yazveri5);
DBCombobox3.items.add(yazveri1);
DBCombobox3.items.add(yazveri2);
DBCombobox3.items.add(yazveri3);
DBCombobox3.items.add(yazveri4);
DBCombobox3.items.add(yazveri5);
DBCombobox4.items.add(yazveri1);
DBCombobox4.items.add(yazveri2);
DBCombobox4.items.add(yazveri3);
DBCombobox4.items.add(yazveri4);
DBCombobox4.items.add(yazveri5);
DBCombobox5.items.add(yazveri1);
DBCombobox5.items.add(yazveri2);
DBCombobox5.items.add(yazveri3);
DBCombobox5.items.add(yazveri4);
DBCombobox5.items.add(yazveri5);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
comboxdoldur(dbcombobox1,dbcombobox2,dbcombobox3,dbcombobox4,dbcombobox5,'Ahmet','Mehmet','Süleyman','Tuanna','Uğur');
end;
end.
Siz hayal edin...Biz yapalım TuannaSoft...
Şöyle kısaltılabilir.
Bunu combobox'ları doldurmak için kullanacağız. Nasıl kullanırız:
Bu şekilde istediğin kadar DBComboBox da ekleyebilirsin.
Ör:
Kod: Tümünü seç
procedure FillCombos(const Combos: array of TDBComboBox; Items: TStringList);
var
I: Integer;
begin
for I:= 0 to High(Combos) do
if Assigned(Combos[I]) then
Combos[I].Items.Assign(Items);
end;
Kod: Tümünü seç
var
SL: TStringList;
begin
SL:= TStringList.Create;
try
SL.Append('Bir');
SL.Append('İki');
SL.Append('Üç');
FillCombos([DBComboBox1, DBComboBox2], SL);
finally
SL.Free;
end;
end;
Ör:
Kod: Tümünü seç
[DBComboBox1, DBComboBox2, DBComboBox3, ...... ]
En son fduman tarafından 23 Eyl 2005 11:34 tarihinde düzenlendi, toplamda 1 kere düzenlendi.