Hardware Delphi

Tasarim ortamin gayet düzgün görünen bir formun baska bir bilgisayarda bozuk görünmesi oldukca can sikicidir. Bu olayin sebebi fakli ekran cözünürlükleri ve yazi tipi ayaridir. Bunu önlemek icin uygulama icerisinde bazi kontroller yapmak gerekir.
Asagidaki kod örneginde form ve üzerindeki kontrollerin sistemdeki ayarlara göre yeniden ölceklenmesi gösterilmektedir.
implementation
const
{formlarimizin 800x600 ölcülerinde olmasini istiyorsak.}
ScreenWidth: LongInt = 800;
ScreenHeight: LongInt = 600;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
scaled := true;
if (screen.width <> ScreenWidth) then
begin
height:=longint(height)*longint(screen.height)DIV
ScreenHeight;
width := longint(width) * longint(screen.width) DIV ScreenWidth;
scaleBy(screen.width, ScreenWidth);
end;
end;
Bu islemden sonra kontrollerdeki yazi tiplerinin de ölceklenmesi gerekecektir. Bu islem bir döngü icerisinde kolaylikla yapilir. Fakat bu esnada ilgili bilesenin FONT özelligi bulundugundan emin olunmalidir. Bu kontrol icin RTTI (Run Time Type Information) kullanilabilir.
USES typinfo;
var
i: integer;
begin
for i := componentCount - 1 downto 0 do
with components[i] do
begin
if GetPropInfo(ClassInfo, 'font') <> nil then
font.size := (NewFormWidth DIV OldFormWidth) * font.size;
end;
end;