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

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Panel ve çözünürlük
#1
Merhaba, bir konuda fikrinizi almak istiyorum.
Aşağıdaki resimde görüldüğü gibi  Ana ve client isminde panel kullanarak oluşturduğum iki panom var. 

AMAC : Dışarıdan girilen rakam hangisinde varsa o kutunun rengi değişsin.

Sorunlar:
1) Bu formu 1024 çözünürlükte tasarladım. Fakat uygulama televizyona bağlanmış bilgisayarlardada çalışacak. Televizyon çözünürlüklerini tahmin edemediğim için Formun ve formdaki panellerin ekran büyüklüğüne göre orantılı olarak büyümesi gerekiyor. Bu konuda scalebye olarak bir kaç konu okudum fakat neye göre nasıl kullanılacağını anlayamadım. Bu konuda ne yapabilirim.

2) Dışarıdan elle herhangi bir rakam girildiğinde aşağıdaki panellerin hangisinde varsa o panellerin rengini değiştirmek istiyorum. Buna ilk aklıma gelen bir prosedür ile bütün panellerin captionları gezip eşleşenlerin rengini değiştirmek. 135 adet panelim var bu şekilde yapmam doğru olurmu farklı bir fikriniz varmı? 

Not: Ben panel kullanarak oluşturdum fakat aşağıdaki şekli sağlayacak ve yukarıda bahsettiğim sorunları aşmakta daha kolay olacak farklı fikirleriniz var ise o şekildede oluşturabilirim. Örnek: Panel değil de shape kullanarak oluştur gibi... Siz olsanız nasıl yapardınız ?

Benimle deneyim ve bilgilerinizi paylaşırsanız sevinirim.




g9kooR.png
Cevapla
#2
2. için
panellerine uygun isim verip,
Var
 aPanel tpanel;
.
.
aPanel := (FindComponent('pnlTombala'+TasNo.tosting)) as TPanel;
if aPanel <> nil then
Begin
 aPanel.color := clRed;
End;
Cevapla
#3
Panellerle hiç uğraşma hocam, aşağıda bi kod örneği var bak.
procedure TForm1.FormCreate(Sender: TObject);
VAR
X:INTEGER;
begin
TABLO.Active:=TRUE;
FOR X:=1 TO 90 DO BEGIN
TABLO.Append;
TABLOKOD.AsInteger:=X;
TABLOONAY.AsInteger:=0;
TABLO.Refresh;
END;
end;

procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer);
begin
if DBCtrlGrid1.DataSource.DataSet.FieldByName('ONAY').AsInteger=0 then
   DBCtrlGrid1.Color:=clGray
 else
   DBCtrlGrid1.Color:=clBlue;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TABLO.Locate('KOD',INTTOSTR(STRTOINT(EDIT1.Text)-1),[loPartialKey]);
TABLO.Edit;
TABLOONAY.AsInteger:=1; // 1 olunca onaylandı demektir, yukarıda direk maviye boyar refresh edince.
TABLO.Refresh;
end;

TABLO dediğim memtable bendeki, dbctrlgrid koy forma, width, height, row count, col count ayarla, gerisi zaten kodda var. istediğin veritabanı ile yaparsın, ben olsam direk memtable ile yapardım. Hangi rakam yazılırsa o kodu boyarsın olur biter.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#4
Meko arkadaşım,
Çok teşekkürler. Sanırım paylaşmış olduğun kod component name göre arıyor değil mi ?  Hemen deniyorum.


Esistem , arkadaşım
emeğine sağlık güzel kod çok teşekkür ediyorum ama dbctrlgrid ile benden beklenen görselliği veremiyorum.  Görünen panellerin arkasına resimler eklenecek o yüzden onları kullanamıyorum.
Cevapla
#5
(23-09-2017, Saat: 00:34)Lord_Ares Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMeko arkadaşım,
Çok teşekkürler. Sanırım paylaşmış olduğun kod component name göre arıyor değil mi ?  Hemen deniyorum.


Esistem , arkadaşım
emeğine sağlık güzel kod çok teşekkür ediyorum ama dbctrlgrid ile benden beklenen görselliği veremiyorum.  Görünen panellerin arkasına resimler eklenecek o yüzden onları kullanamıyorum.

Aşağıdaki linkte konu cevaplandı;

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
Can Yücel: "Toprak gibi olmalısın! Ezildikçe sertleşmelisin! Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı."
Cevapla
#6
Ekran çözünürlüğünü için aşağıdaki örneği inceleyebilirsiniz;

ShowMessage('Screen Width = ' + inttostr(   Screen.Width   ) + #13#10 + 'Screen Height = ' + inttostr(   Screen.Height   ));
Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
Can Yücel: "Toprak gibi olmalısın! Ezildikçe sertleşmelisin! Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı."
Cevapla
#7
gridpanellayout componentini bi incelemeni önerrirm..
WWW
Cevapla
#8
(27-09-2017, Saat: 17:18)mcuyan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olgridpanellayout componentini bi incelemeni önerrirm..

Merhaba,
Sanırım @Lord_Ares uygulamayı VCL olarak geliştiriyor. Belirtmiş olduğunuz TGridLayout, FMX platformuna ait bir nesnedir.
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
(27-09-2017, Saat: 17:23)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(27-09-2017, Saat: 17:18)mcuyan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olgridpanellayout componentini bi incelemeni önerrirm..

Merhaba,
Sanırım @Lord_Ares uygulamayı VCL olarak geliştiriyor. Belirtmiş olduğunuz TGridLayout, FMX platformuna ait bir nesnedir.

Evet. Yanlış görmüşüm. Pardon. Smile
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  panel sürükleme murtishow76 4 144 12-10-2018, Saat: 17:24
Son Yorum: murtishow76
  Çözünürlük sorunu klavye 13 629 03-08-2018, Saat: 19:52
Son Yorum: klavye
  PageControl e sabit panel eklenebilirmi cinarbil 9 313 29-06-2018, Saat: 09:59
Son Yorum: cinarbil
  Değer döndüren panel Lord_Ares 11 1.337 26-09-2017, Saat: 15:19
Son Yorum: Lord_Ares
Question Graphics32 companent PaintBox32 panel sabitleme. Shou 12 4.757 08-08-2016, Saat: 23:30
Son Yorum: Shou



Konuyu Okuyanlar: 1 Ziyaretçi