Delphi Can
Panel ve çözünürlük - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Panel ve çözünürlük (/showthread.php?tid=1355)



Panel ve çözünürlük - Lord_Ares - 22-09-2017

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


Panel ve çözünürlük - meko - 22-09-2017

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;



Cvp: Panel ve çözünürlük - esistem - 22-09-2017

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.


Panel ve çözünürlük - Lord_Ares - 23-09-2017

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.


Cvp: Panel ve çözünürlük - uparlayan - 25-09-2017

(23-09-2017, Saat: 00:34)Lord_Ares Adlı Kullanıcıdan Alıntı: 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.

Aşağıdaki linkte konu cevaplandı;

http://www.delphican.com/deger-donduren-panel.html?pid=9346#pid9346


Panel ve çözünürlük - uparlayan - 26-09-2017

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   ));



Panel ve çözünürlük - mcuyan - 27-09-2017

gridpanellayout componentini bi incelemeni önerrirm..


Cvp: Panel ve çözünürlük - Fesih ARSLAN - 27-09-2017

(27-09-2017, Saat: 17:18)mcuyan Adlı Kullanıcıdan Alıntı: gridpanellayout componentini bi incelemeni önerrirm..

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


Cvp: Panel ve çözünürlük - mcuyan - 01-10-2017

(27-09-2017, Saat: 17:23)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:
(27-09-2017, Saat: 17:18)mcuyan Adlı Kullanıcıdan Alıntı: gridpanellayout 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


Panel ve çözünürlük - Invasion - 01-01-2019

oyun salonları için tombala programı yapılmak istenmiş, dertler aynı.

http://www.delphican.com/showthread.php?tid=3085