Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Basic hakkında

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Tam Ekran ve Boyutlandırılımaz Pencere

Kod:
xxx = Desktop.Width
yyy = Desktop.Height

GraphicsWindow.Title = "Tencere Değil Pencere"
GraphicsWindow.Width = xxx
GraphicsWindow.Height = yyy
GraphicsWindow.Left = -10
GraphicsWindow.Top = 0
GraphicsWindow.CanResize = "False"
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Sözlük

Small Basic ile çevrim içi bir sözlüğe erişebilir ve İngilizce bir kelimenin anlamını yada bir başka dile çevirisini alabilirsiniz. Tersine başka bir dilden İngilizceye çeviri de mümkün. Türkçe bu diller arasında yer almıyor

Örnek:

Kod:
' Çevrim içi Sözlük

Çevir = Dictionary.GetDefinitionEnglishToFrench("City")
TextWindow.WriteLine(Çevir)
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Saat ve Tarih

Sistem saati ve tarihi kullanılarak yapılabilecek işlemlerden örnekler

Örnek 1: Komutsatırında saat ve tarih gösterimi
Kod:
TextWindow.BackgroundColor = "Cyan"
TextWindow.ForegroundColor = "Blue"
TextWindow.Clear()

Başlat:

Tarih = Clock.Date
Gün = Clock.WeekDay
Saat = Clock.Time

TextWindow.WriteLine("Bu gün "+Tarih+" "+Gün)
TextWindow.WriteLine("Saat "+Saat)
Program.Delay(900)
TextWindow.Clear()

Goto Başlat

Örnek 2: Dijital Saat (Grafiksel)
Kod:
GraphicsWindow.Title = "Dijital Saat"
GraphicsWindow.Top = 10
GraphicsWindow.Left = 10
GraphicsWindow.Width = 300
GraphicsWindow.Height = 100
GraphicsWindow.BackgroundColor = "Cyan"
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.FontName = "Courier New"
GraphicsWindow.FontSize = 20

Başlat:

Tarih = Clock.Date
Gün = Clock.WeekDay
Saat = Clock.Time

GraphicsWindow.DrawText(10,10,"Bu gün "+Tarih+" "+Gün)
GraphicsWindow.DrawText(10,50,"Saat "+Saat)
Program.Delay(900)
GraphicsWindow.Clear()

Goto Başlat
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Yazı Tipleri (Fontlar)

Small Basic ile grafik ekranda Windows'ta kurulu olan Font'ları kullanabilirsiniz. Aşağıdaki örnek üzerinde nasıl kullanılabildiklerini inceleyebilirsiniz.

Kod:
YazıTipi1 = "Freestyle Script Normal"
YazıTipi2 = "Jokerman Normal"
YazıTipi3 = "Lucida Sans"
Kalın     = GraphicsWindow.FontBold
Yatık     = GraphicsWindow.FontItalic
Metin     = "Hello World !"



GraphicsWindow.Title = "Yazı tipleri bir başkadır Small Basic ile"
GraphicsWindow.BackgroundColor = "LightSteelBlue"
GraphicsWindow.Width = 800
GraphicsWindow.Height = 600

GraphicsWindow.FontName = YazıTipi1
GraphicsWindow.BrushColor = "DarkRed"
GraphicsWindow.FontSize = 30
GraphicsWindow.DrawText(10,10,Metin)

GraphicsWindow.FontName = YazıTipi1+Kalın
GraphicsWindow.DrawText(250,10,Metin)

GraphicsWindow.FontName = YazıTipi1+Yatık
GraphicsWindow.FontBold = "False"
GraphicsWindow.FontItalic = "True"
GraphicsWindow.DrawText(500,10,Metin)


GraphicsWindow.FontName = YazıTipi2
GraphicsWindow.BrushColor = "Blue"
GraphicsWindow.FontSize = 30
GraphicsWindow.DrawText(10,100,Metin)

GraphicsWindow.FontName = YazıTipi2+Kalın
GraphicsWindow.FontItalic = "False"
GraphicsWindow.FontBold = "True"
GraphicsWindow.DrawText(250,100,Metin)

GraphicsWindow.FontName = YazıTipi2+Yatık
GraphicsWindow.FontItalic = "True"
GraphicsWindow.FontBold = "False"
GraphicsWindow.DrawText(500,100,Metin)



GraphicsWindow.FontName = YazıTipi3
GraphicsWindow.BrushColor = "Green"
GraphicsWindow.FontItalic = "False"
GraphicsWindow.FontBold = "False"
GraphicsWindow.FontSize = 30
GraphicsWindow.DrawText(10,210,Metin)

GraphicsWindow.FontName = YazıTipi3+Kalın
GraphicsWindow.FontItalic = "False"
GraphicsWindow.FontBold = "True"
GraphicsWindow.DrawText(250,210,Metin)

GraphicsWindow.FontName = YazıTipi3+Yatık
GraphicsWindow.FontItalic = "True"
GraphicsWindow.FontBold = "False"
GraphicsWindow.DrawText(500,210,Metin)


GraphicsWindow.FontName = "Courier New"
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.FontSize = 40
GraphicsWindow.FontItalic = "False"
GraphicsWindow.FontBold = "False"
GraphicsWindow.DrawText(10,310,Metin)

GraphicsWindow.FontName = "Courier New"
GraphicsWindow.FontSize = 40
GraphicsWindow.FontItalic = "False"
GraphicsWindow.FontBold = "True"
GraphicsWindow.DrawText(10,410,Metin)

GraphicsWindow.FontName = "Courier New"
GraphicsWindow.FontSize = 40
GraphicsWindow.FontItalic = "True"
GraphicsWindow.FontBold = "False"
GraphicsWindow.DrawText(10,510,Metin)
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Grafik ortamda kullanıcıdan alınan bilginin işlenmesi

Kod:
' Kullanıcı ile  iletişim

GraphicsWindow.BackgroundColor = "LightBlue"

GraphicsWindow.DrawText(100,35,"Adınız : ")
Ad = Controls.AddTextBox(100,50)

GraphicsWindow.DrawText(100,85,"Soy adınız :")
Soyad = Controls.AddTextBox(100,100)

GraphicsWindow.DrawText(100,135,"Adeasiniz :")
Adres = Controls.AddTextBox(100,150)

Controls.TextTyped = Oku

Buton = Controls.AddButton("Kaydet",100,200)
Controls.ButtonClicked = Bas


Sub Bas
  Basacak = Controls.LastClickedButton
  If Basacak = Buton Then
    GraphicsWindow.Clear()
    GraphicsWindow.BackgroundColor = "Cyan"
    GraphicsWindow.DrawText(100,100,"İsim  : " + Bilgi1)
    GraphicsWindow.DrawText(100,125,"Soyad : " + Bilgi2)
    GraphicsWindow.DrawText(100,150,"Adres : " + Bilgi3)
  EndIf
EndSub

Sub Oku
  Okuyacak = Controls.LastTypedTextBox
  If Okuyacak = Ad Then
    Bilgi1 = Controls.GetTextBoxText(Ad)
  ElseIf Okuyacak = Soyad then
    Bilgi2 = Controls.GetTextBoxText(Soyad)
  elseif Okuyacak = Adres then
    Bilgi3 = Controls.GetTextBoxText(Adres)
  EndIf
EndSub
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Windows 10 daki son güncellemelerden sonra "Network" ve "Flickr" yanıt vermiyorlar. (Web üzerinden dosya indirilemiyor) Hata da vermiyorlar. Ve Resmim.net bazı resimlerime ulaşımı sağlayamıyor. Kendisi de ulaşılamıyor. Umarım ileride düzelir.
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Sorun web sayfalarından kaynaklı çıktı. Sayfalarda yapılan güncellemer sonucu dosya adresleri değişiyor veya dosya kaldırılıyor. Flickr ise indirmelere çoğu gördelde izin vermiyor.
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Bilgisayarınızın Ekran boyutunu algılayan ve yazan bir program.
Kod:
TextWindow.WriteLine("Ekran Genişliği : "+ Desktop.Width)
TextWindow.WriteLine("Ekran Yüksekliği : "+ Desktop.Height)
Programınız farklı bilgisayarlarda farklı boyutlu ekranlara uyum görtermek durumunda olabilir.
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Yön tuşlarının kullanımı.
Kod:
x=50
y=50

GraphicsWindow.Width = 500
GraphicsWindow.Height = 500
GraphicsWindow.BrushColor = "SteelBlue"
GraphicsWindow.FillEllipse(x,y,50,50)


GraphicsWindow.KeyDown = TuşaBas

Sub TuşaBas
  GraphicsWindow.Clear()
  If GraphicsWindow.LastKey = "Right" Then
    x = x + 50
  EndIf
  If GraphicsWindow.LastKey = "Left" Then
    x = x - 50
  EndIf
  If GraphicsWindow.LastKey = "Down" Then
    y = y + 50
  EndIf
  If GraphicsWindow.LastKey = "Up" Then
    y = y - 50
  EndIf
  GraphicsWindow.FillEllipse(x,y,50,50)
EndSub
Yön tuşlarını kullanarak, bir hareket simulasyonu gösterimi. Bunun gibi işlemleri oyunlar içinde kullanabilirsiniz.
 

Pisadam

Administrator
Konum
İstanbul
  • Üyelik Tarihi
    2 Nis 2008
  • Mesajlar
    10,992
  • MFC Puanı
    20,877
Windows 10 daki son güncellemelerden sonra "Network" ve "Flickr" yanıt vermiyorlar. (Web üzerinden dosya indirilemiyor) Hata da vermiyorlar. Ve Resmim.net bazı resimlerime ulaşımı sağlayamıyor. Kendisi de ulaşılamıyor. Umarım ileride düzelir.

Bu tür sitelerin gelecekte var olabileceğini düşünmek pek mümkün görünmüyor. Bu yüzden resimlerinizi imgur, imageShack veya hizliresim gibi platformlardan paylaşmanız resimleriniz için daha uygun olacaktır.
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Bu tür sitelerin gelecekte var olabileceğini düşünmek pek mümkün görünmüyor. Bu yüzden resimlerinizi imgur, imageShack veya hizliresim gibi platformlardan paylaşmanız resimleriniz için daha uygun olacaktır.
Flickr de şahsi bir hesabım bulunmuyor. Small Basic ile standart olarak gelen bir API var, Kategori girerek günün fotografisine erişen veya rastgele seçim yapan. Ama resimlerin çoğu artık indirme engeli ile korunuyor oldu.
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
DKD Ekran duvar kağıdı düzenleyici. Ekranınınzın arkaplanını değiştirir.
Belirli sayıda görseller arasından rasgele seçim sunar ve seçtiğiniz görseli duvar kağıdı olarat atar.
Kurulum dosyası için InstallForge kullandım ve simge için de Greenfish Icon Editor.

https://dosya.co/rxye28shfc58/DKD.setup.rar.html

Beğenmediğiniz görselleri değiştirip, veya yenilerini ekleyip, düzenleyip, yeniden derleyebilirsiniz.
Kod:
Manzara[1] = "https://www.orjinalsozler.com/wp-content/uploads/2013/08/11.jpg"
Manzara[2] = "https://www.orjinalsozler.com/wp-content/uploads/2013/08/91.jpg"
Manzara[3] = "https://www.orjinalsozler.com/wp-content/uploads/2013/09/2210.jpg"
Manzara[4] = "https://www.orjinalsozler.com/wp-content/uploads/2013/08/34.jpg"
Manzara[4] = "https://www.orjinalsozler.com/wp-content/uploads/2013/08/1.jpg"
Manzara[5] = "https://www.orjinalsozler.com/wp-content/uploads/2013/08/5.jpg"
Manzara[6] = "https://www.orjinalsozler.com/wp-content/uploads/2013/08/101.jpg"
Manzara[7] = "https://www.orjinalsozler.com/wp-content/uploads/2013/08/122.jpg"
Manzara[8] = "https://www.orjinalsozler.com/wp-content/uploads/2013/09/319.jpg"
Manzara[9] = "https://www.orjinalsozler.com/wp-content/uploads/2013/09/414.jpg"
Manzara[10] = "https://www.orjinalsozler.com/wp-content/uploads/2013/09/325.jpg"

Çiçek[1] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030100147-8a1836e6-th.jpg"
Çiçek[2] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030100159-40c8049f-th.jpg"
Çiçek[3] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030100153-242c1920-th.jpg"
Çiçek[4] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030100100-fb00f6dd-th.jpg"
Çiçek[5] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030095903-1fa971cc-th.jpg"
Çiçek[6] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030095909-fced8732-th.jpg"
Çiçek[7] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030095731-b6b2af20-th.jpg"
Çiçek[8] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030095717-06ae0683-th.jpg"
Çiçek[9] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030095721-1d372552-th.jpg"
Çiçek[10] = "https://resimdiyari.com/_data/i/upload/2012/10/30/20121030095711-e69dc926-th.jpg"

Araba[1] = "https://resimdiyari.com/_data/i/upload/2012/12/29/20121229161939-397f1968-th.jpg"
Araba[2] = "https://resimdiyari.com/_data/i/upload/2012/12/29/20121229161936-80ca89f8-th.jpg"
Araba[3] = "https://resimdiyari.com/_data/i/upload/2012/10/10/20121010151422-472857aa-th.jpg"
Araba[4] = "https://resimdiyari.com/_data/i/upload/2012/10/10/20121010150901-fc8cdadc-th.jpg"
Araba[5] = "https://resimdiyari.com/_data/i/upload/2012/10/10/20121010150603-1345f358-th.jpg"
Araba[6] = "https://resimdiyari.com/_data/i/upload/2012/06/30/20120630174112-516eb4ff-th.jpg"
Araba[7] = "https://resimdiyari.com/_data/i/upload/2012/06/30/20120630173554-25418cfe-th.jpg"
Araba[8] = "https://resimdiyari.com/_data/i/upload/2012/06/30/20120630173131-fc786069-th.jpg"
Araba[9] = "https://resimdiyari.com/_data/i/upload/2012/06/30/20120630172440-c2361b9f-th.jpg"
Araba[10] = "https://resimdiyari.com/_data/i/upload/2012/06/30/20120630171435-820b764a-th.jpg"

Modern[1] = "https://www.kocaali.com/images/album/1_10.jpg"
Modern[2] = "https://www.kocaali.com/images/album/15_3.jpg"
Modern[3] = "https://www.kocaali.com/images/album/6_9.jpg"
Modern[4] = "https://www.kocaali.com/images/album/2_9.jpg"
Modern[5] = "https://www.kocaali.com/images/album/5_9.jpg"
Modern[6] = "https://www.kocaali.com/images/album/4_9.jpg"
Modern[7] = "https://www.kocaali.com/images/album/18_3.jpg"
Modern[8] = "https://www.kocaali.com/images/album/3_9.jpg"
Modern[9] = "https://www.kocaali.com/images/album/12_3.jpg"
Modern[10] = "https://www.kocaali.com/images/album/16_3.jpg"

GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.BrushColor = "Cyan"
GraphicsWindow.Title = "DKD Duvar Kâğıdı Düzenleyici"
GraphicsWindow.Width = 800
GraphicsWindow.Height = 400
GraphicsWindow.FontSize = 20
GraphicsWindow.DrawText(300,100,"Seçimizi yaptıktan sonra 10 saniye")
GraphicsWindow.DrawText(300,130,"görüntü gelmesi için beyleyin lütfen")

GraphicsWindow.BrushColor = "Red"
GraphicsWindow.FontSize = 12
Ma = Controls.AddButton("Manzara",25,50)
Ci = Controls.AddButton("Çiçek",25,100)
Ar = Controls.AddButton("Araba",25,150)
Mo = Controls.AddButton("Modern",25,200)
Du = Controls.AddButton("Duvar Kâğıdı olarak seç"25,300)


Controls.SetSize(Ma,150,25)
Controls.SetSize(Ci,150,25)
Controls.SetSize(Ar,150,25)
Controls.SetSize(Mo,150,25)

Controls.ButtonClicked = Tıkla

Sub Tıkla
  If Controls.LastClickedButton = Ma Then
    x = Math.GetRandomNumber(10)
    Network.DownloadFile(Manzara[x])
    Network.GetWebPageContents(Manzara[x])
    GraphicsWindow.DrawResizedImage(Manzara[x],200,10,590,380)
    Kaydet = Manzara[x]
  EndIf
  
  If Controls.LastClickedButton = Ci Then
    x = Math.GetRandomNumber(10)
    Network.DownloadFile(Çiçek[x])
    Network.GetWebPageContents(Çiçek[x])
    GraphicsWindow.DrawResizedImage(Çiçek[x],200,10,590,380)
    Kaydet = Çiçek[x]
  EndIf
  
  If Controls.LastClickedButton = Ar Then
    x = Math.GetRandomNumber(10)
    Network.DownloadFile(Araba[x])
    Network.GetWebPageContents(Araba[x])
    GraphicsWindow.DrawResizedImage(Araba[x],200,10,590,380)
    Kaydet = Araba[x]
  EndIf
  
  If Controls.LastClickedButton = Mo Then
    x = Math.GetRandomNumber(10)
    Network.DownloadFile(Modern[x])
    Network.GetWebPageContents(Modern[x])
    GraphicsWindow.DrawResizedImage(Modern[x],200,10,590,380)
    Kaydet = Modern[x]
  EndIf
  
  If Controls.LastClickedButton = Du Then
    ImageList.LoadImage(Kaydet)
    Desktop.SetWallPaper(Kaydet)
  EndIf
EndSub
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Small Basic'in eklentiler ile işlevselliği artırılabiliyor. Bu eklentiler .dll dosyası şeklinde Small Basic'in kurulu olduğu dizine .xml dosyası ile birlikte eklenerek, Small Basic'in kendi dahili komut seti gibi çalıştırılabiliyor. Derlemiş dosya ile aynı dizine ikinci bir .dll dosyasının da kopyalanması gerekiyor. Bazı eklentiler daha karmaşık olabiliyor. Yine eski Small Basic sürümleri için yazılmış olanlar da olabilir. Üçüncü şahıslar tarafından yazılmış eklenrileri kullanmadan önce biraz araştırmak iyi olur.

Uygulama Mağazasından indirilen Small Basic derleyicisinin dizinini bulabilmek biraz zor. Çünkü kullanıcı dizini içinde bir gizli klasöre kuruluyor. Kendi web sayfasından indirilen sürümü Windows 10'da Program Files(x86) dizini içinde Microsoft alt dizininde kuruluyor.

Bazı eklentilerin önerildiği bir sayfa : https://social.technet.microsoft.co...les/14070.small-basic-list-of-extensions.aspx

Henüz denediğim bir eklenti olmadı.
 

engerek

MFC Üyesi
  • Üyelik Tarihi
    3 Mar 2018
  • Mesajlar
    87
  • MFC Puanı
    121
Önceki iletimde eklediğim eklentiler sayfasından bir tek LitDev_v1.2 yi düzgün tanıtabildim ve düzgün çalıştı. Diğerleri ya hiç tanınmadı, yada hata verdi. Bazılarının link'i de ölmüş. LitDev 3 Boyut grafik özellikleri kazandırıyor. Dosyası içinde bazı örnekler de eklenmiş. Eklentiyi kullanabilmek için "LitDev.dll" ve LitDev.xml" dosyalarını SmallBasic dizini içinde bulunan "Lib" dizinine kopyalamak yeterli. Lib dizini içinde bazı başka dosyalar varsayılan olarak zaten mevcut.

Microsoft Uygulama Mağazası'ndan kurulan SmallBasic dosyaları farklı dizinler içinde yayıldığı için, bunu en kolay web'den kurulan SmallBasic'te yapmak mümkün.
 
Üst Alt