değişmeyen tanımlama nasıl olur?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

değişmeyen tanımlama nasıl olur?

Mesaj gönderen pelitt »

Arkadaşlar bu forumda bana darılmadan sıkılmadan cevap yazan kardeşlerime teşekkür ediyorum yine bir sorunla
buradayım site tasarım yaparken asp de veya css de yapacağımız bir tablonun özelliklerini vs. birkere yazmamız yeterliydi
ilgili yere onun class ını yazmamız yada id sini olayı çözüyordu
şimdi delphi 7 kullanıyorum ve sql ile sorguladığım dbgrid tablolarım için bir ayar tutturdum aşşağıdaki gibi bunu lazım olan her yere kopyala yapıştır yaptım en az 9 yerde var şimdi
yeni bir sutun açtığımda 9 yeri değiştirmem gerekiyor bunu nerde tanımlamalıyım ve nasıl kullanmalıyımki bir yerden yapacağım bir ayar tüm tablolarıma yansısın

Kod: Tümünü seç

 DBGrid1.Columns[0].Width:=130;
  DBGrid1.Columns[1].Width:=44;
  DBGrid1.Columns[2].Width:=60;
  DBGrid1.Columns[3].Width:=60;
  DBGrid1.Columns[4].Width:=60;
  DBGrid1.Columns[5].Width:=60;
  DBGrid1.Columns[6].Width:=60;
  DBGrid1.Columns[7].Width:=60;
  DBGrid1.Columns[8].Width:=45;
  DBGrid1.Columns[9].Width:=30;
  DBGrid1.Columns[10].Width:=90;
  DBGrid1.Columns[0].Title.Caption:='ADI SOYADI';
  DBGrid1.Columns[1].Title.Caption:='BLOK';
  DBGrid1.Columns[2].Title.Caption:='AİDAT';
   DBGrid1.Columns[3].Title.Caption:='A.ÖDEME';
   DBGrid1.Columns[4].Title.Caption:='A.KALAN';
   DBGrid1.Columns[5].Title.Caption:='YAKIT';
    DBGrid1.Columns[6].Title.Caption:='Y.ÖDEME';
    DBGrid1.Columns[7].Title.Caption:='Y.KALAN';
     DBGrid1.Columns[8].Title.Caption:='AY';
      DBGrid1.Columns[9].Title.Caption:='YIL';
       DBGrid1.Columns[10].Title.Caption:='NOT';
       DBGrid1.Columns[0].Title.Alignment:=taCenter;
  DBGrid1.Columns[1].Title.Alignment:=taCenter;
  DBGrid1.Columns[2].Title.Alignment:=taCenter;
   DBGrid1.Columns[3].Title.Alignment:=taCenter;
   DBGrid1.Columns[4].Title.Alignment:=taCenter;
    DBGrid1.Columns[5].Title.Alignment:=taCenter;
     DBGrid1.Columns[6].Title.Alignment:=taCenter;
      DBGrid1.Columns[7].Title.Alignment:=taCenter;
       DBGrid1.Columns[8].Title.Alignment:=taCenter;
       DBGrid1.Columns[9].Title.Alignment:=taCenter;
       DBGrid1.Columns[10].Title.Alignment:=taCenter; 
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: değişmeyen tanımlama nasıl olur?

Mesaj gönderen emin_as »

Aşagıdaki kodu anaformun oldugu unit e yerlestir.
Yazıları ve genislikleri kendi ihtiyacına göre belirle.
Diger formların create bölümünden GridAyarlar(dbGird1); komutuyla cagirabilirsin.

procedure un diger unitlerde kullanılabilmesi için implementation üzerinde de tanıtılması gerekir.

Kod: Tümünü seç

... 
  procedure GridAyarla(adbGrid: TDBGrid);
implementation 

const 
  toplam_colon  = 5; // seni toplam kolon sayin neyse o 
  yazilar   : array [0..toplam_colon-1] = ('yazi 1 ', ' yazi 2',  ...., 'yazi 10' );  // kolon basliklari
  genislik : array[0..toplam_colon-1] = (44,60,30,  ... , 60); // kolon genislikleri

procedure GridAyarla(adbGrid: TDBGrid);
var
  i : integer;
begin
   for i:=0 to toplam_colon-1 do
   begin 
      adbGrid.Columns[i].Width:=genislik[i];
      adbGrid.Columns[i].Title.Caption:=yazilar[i];
      adbGrid.Columns[i].Title.Alignment:=taCenter;
   end;
end,
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: değişmeyen tanımlama nasıl olur?

Mesaj gönderen pelitt »

emin abi ben yeni olduğum için fazla bişey anlamadım siz şöyle bir tarif yaparsanız daha makbul olur
ana forum iskeleti aşşağıdaki gibi farzedek aklıma gelmişken fonksiyon yazılan yerleride tarif eden olursa memnun olurum
unit Unit4;

interface

uses


type
TForm4 = class(TForm)

var
Form4: TForm4;

implementation

{$R *.dfm}


procedure TForm4.FormCreate(Sender: TObject);
GridAyarlar(dbGird1); //örnek burda kullanılıyor gibi
verdiğin kod hangi aralığa eklenecek
procedure un diger unitlerde kullanılabilmesi için implementation üzerinde de tanıtılması gerekir.
nasıl tanıtacağım hangi kodu kullanacağım
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: değişmeyen tanımlama nasıl olur?

Mesaj gönderen emin_as »

Kod: Tümünü seç

unit unit4
....
implementation

{$R *.dfm}
uses unit1;  // unit1 ana formun oldugu unit procedure u oraya koyacagız
...
Unit1 in içerigi

Kod: Tümünü seç

unit Uni1;

interface

uses


type
TForm1 = class(TForm)

var
Form1: TForm1;

procedure GridAyarlar(adbGrid: TDBGrid);

implementation

{$R *.dfm}
const 
  toplam_colon  = 5; // seni toplam kolon sayin neyse o 
  yazilar   : array [0..toplam_colon-1] = ('yazi 1 ', ' yazi 2',  ...., 'yazi 10' );  // kolon basliklari
  genislik : array[0..toplam_colon-1] = (44,60,30,  ... , 60); // kolon genislikleri

procedure GridAyarla(adbGrid: TDBGrid);
var
  i : integer;
begin
....
Unit1 bu fonksiyonun oldugu yer, diger unitlerin kullanabilmesi için sadece unit1 de implementation ın üzerine de başlıgını yazdık. Diger unitler uses kısmına uses unit1; diyerek bu fonksiyonu kullanabilir.

Delphi ile ilgili kitap alın, bu kadar temel konuları bilmeden program yazamazsınız.
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: değişmeyen tanımlama nasıl olur?

Mesaj gönderen pelitt »

Kod: Tümünü seç

yazilar:array [0..toplam_colon-1]=('ADI SOYADI', 'BLOK', 'AİDAT', 'A.ÖDEME', 'A.KALAN', 'YAKIT', 'Y.ÖDEME', 'Y.KALAN', 'AY', 'YIL', 'NOT');// kolon basliklari
burada hata verdi hata şöyle

Kod: Tümünü seç

Unit1.pas(54): 'OF' expected but '=' found
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: değişmeyen tanımlama nasıl olur?

Mesaj gönderen Battosai »

Bak adam sana ne diyor...
Delphi ile ilgili kitap alın, bu kadar temel konuları bilmeden program yazamazsınız.
Merak ettim hiç bişey bilmeden neden bişeyler yapmaya çalışıyorsun....Öğrencimisin yoksa hobi olarak mı uğraşıyorsun ? Bu sorduğun soruları öğrenme yeri burası değil size öyle gelsede...En azından fonksiyon,procedure nedir ne işe yarar nerde kullanılır ve nerde tanımlanır bunları bi öğren bi zahmet...
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: değişmeyen tanımlama nasıl olur?

Mesaj gönderen pelitt »

Kod: Tümünü seç

yazilar:array[0..toplam_colon-1]of String=('ADI SOYADI', 'BLOK', 'AİDAT', 'A.ÖDEME', 'A.KALAN', 'YAKIT', 'Y.ÖDEME', 'Y.KALAN', 'AY', 'YIL', 'NOT');// kolon basliklari
array dan sonra gelen değerlerin tipini tanımlamadığımdan kaynaklanan bir hataymış çözdüm
elimde 1000 sayfalık kitap var yavaş yavaş öğreniyom 100 sayfa okudum bu gün
baya bişey kaptım hatayı kendim çözdüm
maliye bölümü lisans mezunuyum muhasebe ile ilgili programlar yapmak istiyorum hemde hobi başardığımıda düşünüyorum
isterseniz yaptığım programdan caps lar yollayım bakın
Cevapla