[Button] Hakkında bir kaç soru

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
yazboz
Üye
Mesajlar: 53
Kayıt: 30 Ara 2006 01:24
Konum: İstanbul

[Button] Hakkında bir kaç soru

Mesaj gönderen yazboz »

merhaba yeni üye.
hayırlı bayramınız mubarek olsun

sorularım
1- Winxp tipi gibi button nasıl yaparım . acaba yeni component 'mi eklemek lazım ?

2- Button'a renk nasıl verilir.

3- Button'a ilk tıklamada caption adı (Kapat) tekrar tıklamada (Aç) işlemi nasıl yapılır? ve
(kapat) durumundayken siyah, kırmızı arasında bir ampul
gibi yanıp sönmesini nasıl yapabilirim.

saygılarımla
Kullanıcı avatarı
MGd.
Üye
Mesajlar: 41
Kayıt: 08 Nis 2006 06:47
Konum: Aydın

Mesaj gönderen MGd. »

Teşekkürler. Sizede iyi bayramlar.
1-XP tarzı butonlar için XPMan adında component var onu kullanabilirsin. Formunun üstüne 1 tane yerleştirmen yeterli.
2- Normal butonun rengini değiştiremiyorsun. Farklı component kullanman gerekir.
3- Çok Kullanışlı olmaz ama en basitinden ;
Buton OnClick yordamına (Butona çift tıkla)

Kod: Tümünü seç

var x,i : integer;
begin
  inc(i); // i değişkenimizi 1 arttırdık
  x:= i mod 2;  // i nin 2 ile bölümünden kalan 0 ise yani çift sayı ise
  if x = 0 then 
    button1.caption := 'Kapalı';  // çift sayı ise 
  else 
    Button1.Caption := 'Acık';  // tek sayı ise
Renkli buton componenti kullanacak olursan yan-sön olayını da Timer nesnesi ile yapabilirsin.
Not: Forumda soru sormadan önce arama yaparsan istediğin sonuca daha çabuk ulaşabilirsin. :arrow: search.php Kolay Gelsin.
Mgdizayn.
Kullanıcı avatarı
yazboz
Üye
Mesajlar: 53
Kayıt: 30 Ara 2006 01:24
Konum: İstanbul

Mesaj gönderen yazboz »

çok teşekkürler
Kullanıcı avatarı
yazboz
Üye
Mesajlar: 53
Kayıt: 30 Ara 2006 01:24
Konum: İstanbul

Mesaj gönderen yazboz »

pardon. koda geç saatlerde bakabildim, fakat kod çalışmadı ?
yani Aç/Kapat işlemi gerçekleşmedi?

saygılarımla
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

var x,i : integer;

kısmını Procedure dışına al. Yani Global değişken olsun.

Örnek...

Kod: Tümünü seç

var x,i : integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
  inc(i); // i değişkenimizi 1 arttırdık
  x:= i mod 2;  // i nin 2 ile bölümünden kalan 0 ise yani çift sayı ise
  if x = 0 then
    button1.caption := 'Kapalı' // çift sayı ise
  else
    Button1.Caption := 'Acık';  // tek sayı ise
end;
veya local sabit-değişken hazırla.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
Const
  {$j+} i : Integer = 0; {$j-}
Var
  x : Integer;
begin
  inc(i); // i değişkenimizi 1 arttırdık
  x:= i mod 2;  // i nin 2 ile bölümünden kalan 0 ise yani çift sayı ise
  if x = 0 then
    button1.caption := 'Kapalı' // çift sayı ise
  else
    Button1.Caption := 'Acık';  // tek sayı ise
end;
Resim
Resim ....Resim
Kullanıcı avatarı
yazboz
Üye
Mesajlar: 53
Kayıt: 30 Ara 2006 01:24
Konum: İstanbul

Mesaj gönderen yazboz »

teşekkür ederim

bildiğim global bölgede yazılan bir değişken diğer procedure'ler tarafından çağrılabilir.
fakat bir ara müsait olduğunuzda. değşkenin global bölgede yazılmasının mantığını biraz daha açıklıyabilirseniz çok sevinirim.

bu gibi kodlara çok rastlıyorum. acaba genelde değşkenlerin procedure dışında yazılması daha mı iyi olur yoksa işleme göre mi yapılıyor ?

saygılar
Kullanıcı avatarı
naughty_boy
Üye
Mesajlar: 11
Kayıt: 30 Ara 2006 04:13

Mesaj gönderen naughty_boy »

çok teşekkürler...çok faydalı oldu.
Kullanıcı avatarı
yazboz
Üye
Mesajlar: 53
Kayıt: 30 Ara 2006 01:24
Konum: İstanbul

Mesaj gönderen yazboz »

merhaba
bende yeni ve basit bir yöntem ekliyorum.

Kod: Tümünü seç

begin
    if Button1.Caption='Aç' then 
       button1.Caption:='Kapat' 
       {........}                           // + Kapat font'una reng verabilirsiniz 
    else
       button1.Caption:='Aç';
end;  

Kod: Tümünü seç

Const {$j+}
     B : Boolean = False;         // boolan ile
begin
     B := Not B;
     If B then
     button1.Caption := 'Aç'
else
     button1.Caption := 'Kapat';
end;

Kod: Tümünü seç

{$j+}
     const
      i : Boolean = False;               // boolean ile 2'ci yöntem
begin
       if i = False then
       begin
       Button1.Caption := 'Aç';
       i := True;
       end
    else
      begin
      burron1.caption := 'Kapat';
      i := False;
      end
end;      

Kod: Tümünü seç

{$j+}
     Const
     i : integer = 0;                              // integer ile
begin
      if i = 0 then
      begin
      Button1.caption:='Aç';
      i := 1;
      end
  Else
     begin
     Button1.caption:='Kapat';
     i:=0;
    end
end;
NOT:
lutfen yanlış anlamayın bu sadece bir çalışma ve yeni başlıyanlar için
Cevapla