Jump to content

İşletim Sistemine Göre İşlem Yaptırmak


KintaRo

Recommended Posts

İşletim sistemine göre hareket etme olayına gelince;

-Şimdi DirectX'den yola çıkarak bir örnek yapalım. Bir adet button koyalım ve Bu buttona tıklayınca DirectX'i kuracak şekilde kodlarımızı yazalım. Bunları zaten biliyorsunuz File.Run vs vs...

- Bir adet resim dosyası hazırlayalım. Örneğin OtoKurda ki X şeklindeki resim olsun. Bu resim PNG dir ve X şeklinin dışarıda kalan kısımlar transparandır.

nowin7.png

- Bu resim dosyasının özelliklerine girerek visible seçeneğinin işaretini kaldıralım. Yani bu nesne proje çalışınca görünmez olacak. Ayrıca bu resmi buttonun tam üstüne getirelim.

- Şimdi o Button olduğu sayfanın On Show evresine şu kodları yazalım:

--İşletim sisteminin ismini al.
osName = System.GetOSName();
-- Eğer işletim sistemi Win 7 ise
if osName == "Windows 7" then
-- Button'u pasif yap
Button.SetEnabled("Button1", false)
-- Resim dosyasını göster
Image.SetVisible("Image1", true)
end[/CODE]

Böylece projeyi Win7 sistemde çalıştırınca o button pasif olacak ve X işaretli resim buttonun üstünde belirecektir.

Not: Kullandığımız resim dosyasını hafif transparan yapmak istersek Resim özelliklerinden Opacity değerini isteğimiz göre düşürerek transparan bir görüntü elde edebiliriz.

qttempnl2068.png

Link to comment
Share on other sites

  • 5 ay sonra...

otokurda her sayfa aslında 2 sayfadan oluşuyor. Yani mesela OtoKur normal bölümü için;

otokur_normal

otokur_normal7

şeklinde iki sayfa buluyor. Otokur normal tuşuna bastığınız zaman, içerisinde şu kod çalışıyor:

osname = System.GetOSName();
if osname == "Windows XP" then -- eğer sistem xp ise
Page.Jump("otokur_normal"); -- 1. sayfayi aç
elseif osname == "Windows 7" then -- eğer 7 ise 
Page.Jump("otokur_normal7") -- 2. sayfayi aç
end

ufak bir göz aldatmacası yani ;)

Üzerine çıkan uyarılara gelince zaten biliyorsunuz o kısımları. öncelikle o yazıyı oluşturdum paragraf nesnesi ile, sonra özelliklerden visible seçeneğini kaldırdım yani normalde görünmez oldu. Buttonlar zaten 2. sayfa oldugu için pasif, On Enter evresinde Paragrapgh.Setvisible true, On Leave evresindede false. bu kadar :)

Link to comment
Share on other sites

ama şimdi aklıma geldide daha değişik bir kontrol yapabilirsiniz. Bu şekilde kod tasarrufuna gidilebilir. Bu performansi etkileyecektir. (OtoKur acemilik zamanlarıma geldi. Şimdiki bilgim olsa o 9000 satir kod eminim %50 düşecekti.)

Sayfanın On Show evresine;

sOSName = System.GetOSName();

if sOSName == "Windows XP" then -- xp ise

Button.SetEnabled("Button1", true) -- buttonu aktif et

elseif sOSName == "Windows 7" then -- win7 ise

Button.SetEnabled("Button1", false) -- pasif et

end

bu sekilde sistem windows 7 ise sayfadaki win7 ye uyumsuz buttonlari pasif edersiniz. daha sonra her buttonun On Enter evresine:

bPasif = Button.IsEnabled(this)

if bPasif == false then -- eğer button pasif ise
Paragraph.SetVisible("Paragraph1", true) -- paragrafi goster
end

ve her buttonun on leave evresine:

bPasif = Button.IsEnabled(this)

if bPasif == false then -- eğer button pasif ise
Paragraph.SetVisible("Paragraph1", false) -- paragrafi gizle
end

yazarak button pasif kontrol yaparsiniz ve o mesjalari gösterebilirsiniz. Kodlari denemedim ama doğruluğundan eminim :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...