Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Boş alan kontrol
#1
Merhaba, 

Forumda yaklaşık 15 adet edit var, bu editleri boş geçilmemesi gerekiyor. boş bir edit olduğunda setfocus ile kullanıcıya bilgilendiriyorum. Fakat ilk sıradaki değilde rastgele setfocus oluyor, setfocus sıralı hale nasıl getirebilirim acaba?

 
 for I := 0 to ComponentCount - 1 do
  begin
    if (Components[I] is TEdit) then
    begin
      if (Components[I] as TEdit).Name <> Search.Name then
      begin
        if (Components[I] as TEdit).Text.Length = 0 then
        begin
          (Components[I] as TEdit).SetFocus;
        end
        else
        begin

        end;
      end;
    end;
  end;
 
end;
Cevapla
#2
(03-02-2018, Saat: 13:36)dilo Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba, 

Forumda yaklaşık 15 adet edit var, bu editleri boş geçilmemesi gerekiyor. boş bir edit olduğunda setfocus ile kullanıcıya bilgilendiriyorum. Fakat ilk sıradaki değilde rastgele setfocus oluyor, setfocus sıralı hale nasıl getirebilirim acaba?

 
 for I := 0 to ComponentCount - 1 do
  begin
    if (Components[I] is TEdit) then
    begin
      if (Components[I] as TEdit).Name <> Search.Name then
      begin
        if (Components[I] as TEdit).Text.Length = 0 then
        begin
          (Components[I] as TEdit).SetFocus;
        end
        else
        begin

        end;
      end;
    end;
  end;
 
end;

1. TabOrder Focus işleminin sırasını belirtir bir incele istersen
2. nesnelerin exit eventlerini ortak bir yapı içinde topla hatalı ise sender nesnesine göre işlem yap
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#3
TabOrder sıralama normal focus rastgele gerçekleşiyor.
Cevapla
#4
(03-02-2018, Saat: 14:04)dilo Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlTabOrder sıralama normal focus rastgele gerçekleşiyor.

Benim bildiğim kadarı ile 
  for I := 0 to ComponentCount - 1 do
ile dönerken objelerin eklenme sırasına göre işlem yapar
bunu en basit form üzerinde sağ tuş yap ve "View as Text" 'e bas (yada ALT+F12)'ye bas
burada hangi sırada olduğunu görürsün
bunları istediğin sıraya göre düzenle sonrada ALT+F12 yap 
şimdi istedğin şekilde çalışacaktır
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#5
(03-02-2018, Saat: 16:56)adelphiforumz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(03-02-2018, Saat: 14:04)dilo Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlTabOrder sıralama normal focus rastgele gerçekleşiyor.

Benim bildiğim kadarı ile 
  for I := 0 to ComponentCount - 1 do
ile dönerken objelerin eklenme sırasına göre işlem yapar
bunu en basit form üzerinde sağ tuş yap ve "View as Text" 'e bas (yada ALT+F12)'ye bas
burada hangi sırada olduğunu görürsün
bunları istediğin sıraya göre düzenle sonrada ALT+F12 yap 
şimdi istedğin şekilde çalışacaktır

arkadaşında dediği gibi bileşenlerin dfm'deki sıralarına göre ilerler.
Narsist bir ruhta başkasına ihtiyaç yoktur !
Cevapla
#6
  if qFisSUBE.AsString = '' then
   begin
     Application.MessageBox(PChar('"Şube" bilgisi eksik girilmiş.'), 'DİKKAT', mb_OK + MB_ICONINFORMATION);
     PageControl.ActivePage := pgDetay;
     ActiveControl := cbSube;
     Exit;
   end;

Bunlar veri tabanında bir yere bağlı ise , ve insert dediyse kullanıcı query alanlarını kontrol edebilirsiniz.
yada query içinde alanlar sıralı ise o sıraya göre dizdiyseniz alanları döngü ile de yapabilirsiniz..
Cevapla
#7
Merhabalar,

TabOrder sıralamı için;

Delphi 7  Smile -> Edit > Tab Order

Veya
Hızlı olması açasından, hangi sıralama ile TabOrder ilerleyecek ise,
Mouse ile ilk objeyi tıklayayıp sonrasında "Shift" tuşuna basılı tutarak (bırakmadan) diğer sıralamaları seçilip sonra klavyeden CTRL+X daha sonra CTRL+V (kes-yapıştır) yaparak TabOrder işlemlerini yapıyorum. Bana daha basit ve hızlı geldiği için sanırım bu yöntemi izliyorum. Smile

Örnek;
Edit1  >> İlk tıklama
Edit3 >> Shift + Üçüncü tıklama
Edit2 >> Shift + İkinci tıklama
Ctrl + X sonra Ctrl+V


76A8JW.png

Sonradan fark ettim, Mobil Platform için olduğunu. Kusura bakmayın lütfen.

Saygılar.
Cevapla
#8
(05-02-2018, Saat: 11:52)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhabalar,

TabOrder sıralamı için;

Delphi 7  Smile -> Edit > Tab Order

Veya
Hızlı olması açasından, hangi sıralama ile TabOrder ilerleyecek ise,
Mouse ile ilk objeyi tıklayayıp sonrasında "Shift" tuşuna basılı tutarak (bırakmadan) diğer sıralamaları seçilip sonra klavyeden CTRL+X daha sonra CTRL+V (kes-yapıştır) yaparak TabOrder işlemlerini yapıyorum. Bana daha basit ve hızlı geldiği için sanırım bu yöntemi izliyorum. Smile

Örnek;
Edit1  >> İlk tıklama
Edit3 >> Shift + Üçüncü tıklama
Edit2 >> Shift + İkinci tıklama
Ctrl + X sonra Ctrl+V


76A8JW.png

Sonradan fark ettim, Mobil Platform için olduğunu. Kusura bakmayın lütfen.

Saygılar.

Merhaba,
Tab order, FMX'de de aynı mantıkla kullanılıyor. Belirttiğiniz yöntemi test edeyim, dedim.
Garip bir durum gördüm.

01.png

object Form1: TForm1
  Left = 0
 Top = 0
 Caption = 'Form1'
 ClientHeight = 480
 ClientWidth = 640
 FormFactor.Width = 320
 FormFactor.Height = 480
 FormFactor.Devices = [Desktop]
 DesignerMasterStyle = 0
 object Edit1: TEdit
   Touch.InteractiveGestures = [LongTap, DoubleTap]
   TabOrder = 1
   Position.X = 272.000000000000000000
   Position.Y = 232.000000000000000000
 end
 object Edit2: TEdit
   Touch.InteractiveGestures = [LongTap, DoubleTap]
   TabOrder = 2
   Position.X = 280.000000000000000000
   Position.Y = 240.000000000000000000
 end
 object Edit3: TEdit
   Touch.InteractiveGestures = [LongTap, DoubleTap]
   TabOrder = 3
   Position.X = 288.000000000000000000
   Position.Y = 248.000000000000000000
 end
end
 

Siz de fark ettiniz mi?
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#9
(05-02-2018, Saat: 12:22)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(05-02-2018, Saat: 11:52)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhabalar,

TabOrder sıralamı için;

Delphi 7  Smile -> Edit > Tab Order

Veya
Hızlı olması açasından, hangi sıralama ile TabOrder ilerleyecek ise,
Mouse ile ilk objeyi tıklayayıp sonrasında "Shift" tuşuna basılı tutarak (bırakmadan) diğer sıralamaları seçilip sonra klavyeden CTRL+X daha sonra CTRL+V (kes-yapıştır) yaparak TabOrder işlemlerini yapıyorum. Bana daha basit ve hızlı geldiği için sanırım bu yöntemi izliyorum. Smile

Örnek;
Edit1  >> İlk tıklama
Edit3 >> Shift + Üçüncü tıklama
Edit2 >> Shift + İkinci tıklama
Ctrl + X sonra Ctrl+V


76A8JW.png

Sonradan fark ettim, Mobil Platform için olduğunu. Kusura bakmayın lütfen.

Saygılar.

Merhaba,
Tab order, FMX'de de aynı mantıkla kullanılıyor. Belirttiğiniz yöntemi test edeyim, dedim.
Garip bir durum gördüm.

01.png

object Form1: TForm1
  Left = 0
 Top = 0
 Caption = 'Form1'
 ClientHeight = 480
 ClientWidth = 640
 FormFactor.Width = 320
 FormFactor.Height = 480
 FormFactor.Devices = [Desktop]
 DesignerMasterStyle = 0
 object Edit1: TEdit
   Touch.InteractiveGestures = [LongTap, DoubleTap]
   TabOrder = 1
   Position.X = 272.000000000000000000
   Position.Y = 232.000000000000000000
 end
 object Edit2: TEdit
   Touch.InteractiveGestures = [LongTap, DoubleTap]
   TabOrder = 2
   Position.X = 280.000000000000000000
   Position.Y = 240.000000000000000000
 end
 object Edit3: TEdit
   Touch.InteractiveGestures = [LongTap, DoubleTap]
   TabOrder = 3
   Position.X = 288.000000000000000000
   Position.Y = 248.000000000000000000
 end
end
 

Siz de fark ettiniz mi?

Evet hocam. Neden acaba TRectangle ?
Cevapla
#10
(05-02-2018, Saat: 12:50)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlEvet hocam. Neden acaba TRectangle ?


TRectangle, işlevsellik ve görsellik açısından en kullanışlı komponent. Onu TObject'in Görsel hali olarak varsayabiliriz. İstediğiniz geometrik şekili verebileceğiniz gibi, parça parça da şekil verebilirsiniz. Aynı zamanda HitTest parametresini aktif ederek bir buton haline getirebilir, bir Gauge bar, bir Dashboard, bir Tile, bir Menü ve aklınıza gelen her türlü görsel komponenti üretmenizi sağlama potansiyelindedir.
{ talk is cheap show me the code. }
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  LiveBindings Yeni Alan Sorunu pro_imaj 2 192 12-09-2017, Saat: 08:15
Son Yorum: pro_imaj
  Listview nesnesi ile birden fazla alan oluşturma Fesih ARSLAN 9 2.507 11-09-2017, Saat: 11:06
Son Yorum: pro_imaj



Konuyu Okuyanlar: 1 Ziyaretçi