Veritabanı ve Mainmenu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
enesborankurt
Üye
Mesajlar: 37
Kayıt: 13 Oca 2016 10:53

Veritabanı ve Mainmenu

Mesaj gönderen enesborankurt »

formu biraz araştırdım ama tam olarak benim sorunumla karşılaşamadım uzatmadan anlatıyorum

veritabanındaki tabloyu main menu de göstermek istyrm yani menu diye bir veritabanımz var icerisinde menu_adi ve gosterim diye 2 adet tablom var eğer gösterim 1 ise mainmenu de tablodaki manu_adi nın gözükmesini istiyorum yardımcı olursanız sevinirim.
enesborankurt
Üye
Mesajlar: 37
Kayıt: 13 Oca 2016 10:53

Re: Veritabanı ve Mainmenu

Mesaj gönderen enesborankurt »

denediğim bazı yollar



( veri tabanı tablo adı : menu
icerisindeki tablolar id,menu_adi,gosterim

procedure TUMain.FormShow(Sender: TObject);
//var
//I:integer;
//begin
//UDM2.DmDset.DsetMenu.First;
//for I := 1 to UDM2.DmDset.DsetMenu.RecordCount do
// begin
// Menu.Items.Add(UDM2.DmDset.DsetMenumenu_adi.Value);
// UDM2.DmDset.DsetMenu.Next;
// end;
//end;

var
ShowForm : TForm;
FormName : String;
MenuItem : TMenuItem;
i:Integer;
begin
if Sender is TMenuItem then
(Sender as TMenuItem).Caption := UDM2.DmDset.DsetMenu.Fieldbyname('menu_adi').AsString ;
FormName := UDM2.DmDset.DsetMenu.Fieldbyname('gosterim').AsString;
For i:=0 to Screen.FormCount -1 do
Begin
if Screen.Forms.Name =FormName then
Begin
ShowForm := Screen.Forms;
Break;
End;
End;
if ShowForm <> nil then
ShowForm.Show;
end;
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Veritabanı ve Mainmenu

Mesaj gönderen Lord_Ares »

veritabanındaki tabloyu main menu de göstermek istyrm
Kusura bakmayın ama sorunuz pek anlaşılır değil, daha açıklayıcı olursa eminim cevaplar gelecektir. Bir veritabanındaki tabloyu main menüde nasıl gösterebilirsiniz ki ? Dbgrid ile veritabanındaki alanları gösterirsiniz ama main menünün böyle bir özelliği yok. Burada bir yanlaş anlaşılma var sanırım.
enesborankurt
Üye
Mesajlar: 37
Kayıt: 13 Oca 2016 10:53

Re: Veritabanı ve Mainmenu

Mesaj gönderen enesborankurt »

Main menü olmasına gerek yok mesela .Main menü görevini yapan bileşen de ola bilir benim amacım veritabanın daki bilgiler ile menü oluşturmak
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Veritabanı ve Mainmenu

Mesaj gönderen fesiharslan »

Merhaba;
Tabloyu açtıktan sonra bir döngü ile kayıtları menü elemanı olarak ekleyebilirsiniz.
Menü oluşturma işlemini ana formun OnCreate olayına yazabilirsiniz.
enesborankurt
Üye
Mesajlar: 37
Kayıt: 13 Oca 2016 10:53

Re: Veritabanı ve Mainmenu

Mesaj gönderen enesborankurt »

Bunu hangi kodla yapa bilirim işte yardım ederseniz sevinirim
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Veritabanı ve Mainmenu

Mesaj gönderen hakanharbeli »

menu itemini felan kullanmadım bu yazacağım kodlar query ile sql bağlantısı için

Kod: Tümünü seç

var
gösterim:integer;
menuadı:string;
begin
form1.q.Close ;
   form1.q.SQL.Clear ;

   form1.q.SQL.Add('SELECT rtb FROM cscs where nick ="'+form1.nick1.Text+'"');
form1.q.open ;
  gösterim:=strtoint(form1.q.Fields[0].AsString);
  
  if gösterim = 1 then
  
  form1.q.Close ;
   form1.q.SQL.Clear ;

   form1.q.SQL.Add('SELECT rtb FROM cscs where nick ="'+form1.nick1.Text+'"');
form1.q.open ;
  menuadı:=(form1.q.Fields[0].AsString);
  //burada bütün kayıtları teker teker eklemek için for  do döngüsü kurmalısınız
  menu.ekle:=menuadı
  
   

hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Veritabanı ve Mainmenu

Mesaj gönderen hakanharbeli »

kodlar biraz eksik ksura bakmayın acelem var ama siz uğraşın bundan sonrası for döngüsü
m_yaprakci

Re: Veritabanı ve Mainmenu

Mesaj gönderen m_yaprakci »

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
MainMenu1: TMainMenu;
procedure Button1Click(Sender: TObject);
procedure MyPopup(Sender: TObject);
yukarıda en alttaki satırı ekleyin...

Kod: Tümünü seç

procedure tform1.MyPopup(Sender: TObject);
begin
  with Sender as TMenuItem do ShowMessage(Caption);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  MyItem,MySubItem1: TMenuItem;
  Num:integer;
begin
  Inc(Num);
  MyItem:=TMenuItem.Create(Self);
  MySubItem1:=TMenuItem.Create(Self);

  MyItem.Caption:='Menu Adı'+IntToStr(Num);
  MySubItem1.Caption:='Alt Menu Adı'+IntToStr(Num);

  MainMenu1.Items.Add(MyItem);
  MainMenu1.Items[0].Insert(num-1,MySubItem1);

  MyItem.OnClick:=nil;
  MySubItem1.OnClick:=MyPopUp;

end;
bu da runtime menu ve altmenu oluşturma kodu.
MyPopup procedure ü OnClick eventlarına aktarılıyor dikkat ederseniz son tarafta.

veri tabanı kısmı zaten while not ile gayet güzel çözülür

ornegin:

Kod: Tümünü seç

menuler.first;
while not menuler.eof do 
begin
if menulergosterim.value='E' then 
   begin
    buraya bizim menu olusturma kodumuz gelecek gerekli değişkenlerle işte
   end;//if
end;//while 
Cevapla