Grafik Kullanımı
Tarih
03/02/2010 13:49
Konu Sahibi
accessman
Yorumlar
6
Okunma
2512
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
alıntıdır
Grafik Kullanımı

Aranızda C64 ile program yapma şerefine erişmiş olanlar bilirler; grafik çizmek için nelere katlanılırdı o zamanlar. Karelere ayrılmış bir tabloda (yanlış hatırlamıyorsam 24*21 idi) karakterler oluşturulur, sonra her bir kare, üstteki değerlere göre toplanarak uzun datalar oluşturulurdu. Eğer uğraşmışsanız anlamışsınızdır. Anlamadıysanız üzülmeyin çünkü artık programlara grafik eklemek için böyle zahmetli işlerle uğraşmanız gerekmiyor.

OLE nesnesi sayesinde zaten pahalı çizim ve illutrasyon (türkçesi ne?) programlarıyla çizdiğiniz grafikleri pat diye programa koyabiliyorsunuz. Ama amacınız aktif grafikler ise (-ki kendileri, girilen bilgi ya da alınan sonuca göre sonradan çizilen grafikler oluyorlar) VB nin bizlere verdiği çizim imkânlarına şöyle bir bakmanız gerekecektir.

[line]Line Nesnesi : Araç kutusunda bulunur. Nerde kaybolur, onu bilemeyeceğim (tamam, kötü espri.). Bordercolor ile renk, Borderwidth ile kalınlık, Borderstyle ile çizim biçimini ayarlayabilirsiniz ki, bu biçimler kesik çizgi, nokta ve saydam gibi niceliklerdir. X1,Y1 başlangıç koordinatlarını, X2,Y2 ise bitiş koordinatlarını belirtmektedir. Bunlar sayesinde kod içerisinden de Line nesnesini kullanabilirsiniz.

Shape Nesnesi: Bu nesne sayesinde kare, dikdörtgen, elips, daire vb şekiller çizebilirsiniz.Nesnenin shape özelliği sayesinde çizilecek şeklin tipini belirlersiniz.

Shape.shape = (Çizilecek şekil)
0 : Dikdörtgen
1 : Kare
2 : Elips
3 : Daire
4 : Yuvarlatılmış dikdörtgen
5 : Yuvarlatılmış kare

Shape.Borderstyle = (Çerçeve tipi)
0 : Yok
1 : Sürekli
2 : Kesikli çizgi
3 : Noktalı çizgi
4 : Çizgi-nokta şeklinde kesikli çizgi
5 : Çizgi-nokta-çizgi
6 : Sınır çizgisi şeklin içinde kalır

Shape.Fillstyle = (İçinin doldurulma şekli )
0 : Tamamen dolu
1 : Boş
2 : Yatay çizgiler
3 : Dikey çizgiler
4 : Yatay ve dikey çizgiler
5 : Sola yatık çizgiler
6 : Sağa yatık çizgiler
7 : Baklava Tepsisi

Backstyle özelliğinin değerini 0 yaparsanız; çizilen şeklin içi saydam olacaktır. Yok “Ben saydam istemiyom” deseniz,o zaman 1 yapın ki; içi renkli olsun.
Borderstyle ve Fillstyle için yukarı bakın, bakın ki, o kadar şeyi yeniden yazmayayım. Bana da yazık değil mi?

Bunlar basit şekiller çizerken kullanabileceğimiz nesnelerdi. İstatistik gibi bilgileri şemaya dökebileceğimiz MSCHART nesnesine geçmeden önce kod ile grafik çizebileceğimiz VB komutlarına da şöyle bir bakalım isterseniz.

Taa BASIC’den buyana kullandığınız, tanıdık, sevimli komutlardır bunlar. Gelin hasret giderelim.

Nesne.PSET (X,Y), Renk :X ve Y ile belirttiğiniz koordinata bir tane nokta koymaya yarar bu komut. İsterseniz renk de yazarak noktalarınızın renkli, cıvıl cıvıl olmalarını sağlayabilirsiniz. Nokta deyip küçümsemeyin. Her hangi basit bir parabolü bile line nesnesi ile çizemessiniz.

Nesne.Line (X1,Y1)-(X2,Y2),Renk,B(F) : Şirin dikdötgenler çizmek için kullanabilirsiniz. En sondaki “B” nin yanına “F” de koyarsanız, dikdörtgeninizin içi dolu olur. Koymassanız boş olur. Hem “F” koyma, hem de dolu olmasını iste! Var mı ööle !?! Geyiğe girmeden devam edelim sonra çıkamayız.

Nesne.Circle (X,Y),Yarıçap,Renk, Başlangıç açısı, Bitiş açısı, Basıklık aireler ve elipsler çizmek için kullanırız biz bu komutu. Hem adı circle olduğu için hem de daire ve elips çizmek için bu komut kullanıldığı için. ( Burda çok ince bir espri var. Esasında MUDER kullanmıştı bunu. Önce anlamamıştım ama anladığımdan bu yana hep gülerim. Ah Gameshow Ah!)

Hepsini anlattım. Tabi böyle anlaşılmaz. Örnek gerek. Gerek de şimdi vaktim yok. Netcez şimdi? Ya uğraşın işte. Ya bakma öyle ağlamaklı, beni de ağlatacan. Tamam tamam örnek yapalım. Ama sadece nasıl kullanıldığı ile ilgili. Öyle ahım şahım bişe olmıyacak. Ha bir de Scale metotu var. Ona da bir bakalım da, örneğe öyle geçeriz.

Scale Metotu : Normalde ekranın sol üst köşesi (0,0) koordinatları ile belirtilir. Bu Scale ile ekran koordinatlarını kafanıza göre değiştirebilirsiniz. Mesela Scale (-500,250)-(500,-250) ile ekranın sol üst köşesini (-500,250), sağ alt köşesini (500,-250) olarak değiştirmiş olursunuz. Ekran şuna benzer (şimdi paintle falan uğraştırmayın böyle idare ediverin işte):

(-500,250) (500,250)
(0,0)
(-500,-250) (500,-250)
Örnek_LineNesnesi :

Private Sub Command1_Click()
k = 1
For i = 1 To 10
Line1.BorderColor = QBColor(Rnd*15)'***
'*** Kullanılış şekli QBColor(Renk Kodu). Renk kodu 0-15 arasında yazılabilir.
Line1.BorderWidth = k
Line1.X1 = i * Rnd * 100
Line1.Y1 = i * Rnd * 100
Line1.X2 = i * Rnd * 100
Line1.Y2 = i * Rnd * 100
k = k + 1
If k = 6 Then k = 1
For f = 1 To 300
Next f
Next i
End Sub

Örnek_LineKomutu :

Private Sub Form_Click()
Scale (-1000,1000)-(1000,-1000)
For i= 1 To 5000 Step 100
Line (-1000+i,1000-i)-(-800+i, 800-i),QBColor(15*Rnd),BF
Next i
End Sub
@benbendedeilem
Cevapla


ogulcan92
Aktif Üye
Kullanici Avatari
Aktif Üye
1.160
06/05/2009
477
İzmir
Ofis 2003
07/08/2015,11:50
Sn:accessman
Paylaşım için teşekkürler.
Cevapla


Puletin
Uzman
Kullanici Avatari
Uzman
1.716
01/11/2008
416
Ülke Dışı
Ofis 2003
29/10/2016,20:35
Teşekkürler sn.accessman, birde örnek olsaydı tadından yenmezdi Img-grin
Kaplumbağa ya dikkat et...
Sadece başını çıkartıp risk aldığında ilerleyebiliyor...
Cevapla


accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Private Sub Command1_Click()
k = 1
For i = 1 To 10
Line1.BorderColor = QBColor(Rnd*15)'***
'*** Kullanılış şekli QBColor(Renk Kodu). Renk kodu 0-15 arasında yazılabilir.
Line1.BorderWidth = k
Line1.X1 = i * Rnd * 100
Line1.Y1 = i * Rnd * 100
Line1.X2 = i * Rnd * 100
Line1.Y2 = i * Rnd * 100
k = k + 1
If k = 6 Then k = 1
For f = 1 To 300
Next f
Next i
End Sub

bu kodu nasıl accesse uyarlayabiliriz
@benbendedeilem
Cevapla


benremix
Uzman
Kullanici Avatari
Uzman
R.... S....
4.431
17/05/2009
365
Ankara
Ofis 2010
Dün,21:35
(03/02/2010, 14:05)Puletin Adlı Kullanıcıdan Alıntı: Teşekkürler sn.accessman, birde örnek olsaydı tadından yenmezdi Img-grin
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi 


Cevapla


accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
DrawMode property için
http://msdn.microsoft.com/en-us/library/...e.11).aspx
DrawStyle property için
http://msdn.microsoft.com/en-us/library/...e.11).aspx
FillStyle property için
http://msdn.microsoft.com/en-us/library/...e.11).aspx
SpecialEffect property için
http://msdn.microsoft.com/en-us/library/...e.11).aspx
ScaleMode property için
http://msdn.microsoft.com/en-us/library/...e.11).aspx

buda rapor ayrıntısına grafik çizmek için

Private Sub Ayrıntı_Print(Cancel As Integer, PrintCount As Integer)
Const conPI = 3.14159265359
Dim sngHCtr As Single, sngVCtr As Single
Dim sngRadius As Single
Dim sngStart As Single, sngEnd As Single

sngHCtr = Me.ScaleWidth / 2 ' Horizontal center.
sngVCtr = Me.ScaleHeight / 2 ' Vertical center.
sngRadius = Me.ScaleHeight / 3 ' Circle radius.
' Draw circle.
Me.Circle(sngHCtr, sngVCtr), sngRadius
sngStart = -0.00000001 ' Start of pie slice.
sngEnd = -2 * conPI / 3 ' End of pie slice.
Me.FillColor = RGB(255,0,0) ' Color pie slice red.
Me.FillStyle = 0 ' Fill pie slice.
' Draw pie slice within circle.
Me.Circle(sngHCtr, sngVCtr), sngRadius, , sngStart, sngEnd
End Sub
@benbendedeilem
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Nz Fonksiyonu (İşlevi) Kullanımı Anlatımı tdsharun 17 12.162 Dün, 15:52 atoz112
Exclamation Access Sql Server Bağlantısı Ve Ağda Kullanımı. Mecnun24 1 1.442 07/06/2015, 20:24 ozanakkaya
  procedure kullanımı accessman 3 1.947 03/02/2010, 22:54 ercansahin
  msgbox'ın çok yönlü kullanımı mehmetdemiral 6 3.722 19/03/2009, 16:23 mehmetdemiral


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya