Duyurular: 02 Aralık 2008, 09:23:59
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun. *

Çizim Programı v2.0
Sayfa: [1]   Aşağı git
  Yazdır  

  Çizim Programı v2.0
Gönderen Mesaj
BY_DEM@N
System Root
*

KARMA: 5708
Offline Offline

Mesaj Sayısı: 4133



WWW
« : 18 Mayıs 2008, 23:31:36 »

Option Explicit
Dim sekil, A, B, H, X, Y, X1, X2, Y1, Y2, Q, Yazi

Private Sub cmdCiz_Click()

‘Eğer KoorX ve KoorY alanını boş bırakılırsa program hata mesajı verir ve sonlanır.Bunu engelliyoruz…

If KoorX.Text = “” Or KoorY.Text = “” Then
If KoorX.Text = “” Then Yazi = “X Koordinatını boş bıraktınız…”
If KoorY.Text = “” Then Yazi = “Y Koordinatını boş bıraktınız…”
MsgBox Yazi, vbCritical, “Eksik Bilgi”
Exit Sub
End If

‘Girilen bilgileri cm ye çeviriyor ve gerekli değişkenlere aktarıp, gerekli hesaplamaları yapıyoruz….

X = KoorX.Text
Y = KoorY.Text
X = X * 1500 / 2.8
Y = Y * 1500 / 2.8

X = X + 1680
Y = Y + 480


‘Çizim alanı dışına çizim yapmayı engelliyoruz….

If (X < 1680 Or Y < 480) Then MsgBox “Koordinatlar çizim alanı dışında!”, vbCritical, “Tekrar Girin”: GoTo EnSon
If (X > 1680 + 8055 Or Y > 7455 + 480) Then MsgBox “Koordinatlar çizim alanı dışında!”, vbCritical, “Tekrar Girin”: GoTo EnSon
If (X < 1680 And Y > 7455 + 480) Then MsgBox “Koordinatlar çizim alanı dışında!”, vbCritical, “Tekrar Girin”: GoTo EnSon
If (X > 1680 + 8055 And Y < 480) Then MsgBox “Koordinatlar çizim alanı dışında!”, vbCritical, “Tekrar Girin”: GoTo EnSon
If (X > 1680 + 8055 Or Y > 7455 + 480 Or X < 1680 Or Y < 480) Then MsgBox “Koordinatlar çizim alanı dışında!”, vbCritical, “Tekrar Girin”: GoTo EnSon

‘Kare çizimi için programa gönderilen komutlar…

If sekil = “KARE” Then
A = A * 1500 / 2.8
Me.Line (X, Y)-(X + A, Y)
Me.Line (X, Y)-(X, Y + A)
Me.Line (X, Y + A)-(X + A, Y + A)
Me.Line (X + A, Y)-(X + A, Y + A)
End If

‘Dikdortgen çizimi için programa gönderilen komutlar…

If sekil = “DIKDORTGEN” Then
A = A * 1500 / 2.8
B = B * 1500 / 2.8
Me.Line (X, Y)-(X + B, Y)
Me.Line (X, Y)-(X, Y + A)
Me.Line (X, Y + A)-(X + B, Y + A)
Me.Line (X + B, Y)-(X + B, Y + A)
End If

‘Üçgen çizimi için programa gönderilen komutlar…

If sekil = “UCGEN” Then
H = A * (3 ^ 0.5) / 2
‘Son çizilen üçgenin yüksekliği hesaplanıp H değişkenine aktarılıyor ve ekranda gösterilmesi sağlanıyor…
Label8.Caption = H

A = A * 1500 / 2.8
H = A * (3 ^ 0.5) / 2
Me.Line (X, Y)-(X + A, Y)
Me.Line (X + A, Y)-(X + A / 2, Y - H)
Me.Line (X + A / 2, Y - H)-(X, Y)
End If

‘Çizgi çizimi için programa gönderilen komutlar…

If sekil = “CIZGI” Then
A = A * 1500 / 2.8

If Aci.Text = “0″ Then Q = 0
If Aci.Text = “30″ Then Q = 30: X2 = X + (A * 3 ^ 0.5 / 2): Y2 = Y + (A * 0.5)
If Aci.Text = “45″ Then Q = 45: X2 = X + (A * 2 ^ 0.5 / 2): Y2 = Y + (A * 2 ^ 0.5 / 2)
If Aci.Text = “60″ Then Q = 60: X2 = X + (A * 0.5): Y2 = Y + (A * 3 ^ 0.5 / 2)
If Aci.Text = “90″ Then Q = 90: X2 = X + (A * 0): Y2 = Y + (A * 1)
If Aci.Text = “” Then X2 = X + (A * 1): Y2 = Y + (A * 0)

Me.Line (X, Y)-(X2, Y2)
End If

‘Çizim tamamlandıktan sonra diğer çizim işlemine geçiş, gerekli butonların aktif olup gereksizlerin aktifliği kaldırılır…
‘Ayrıca önceki şekil için girilen bilgiler ekrandan silinir…

Son:
KoorX.Text = “”
KoorY.Text = “”
Aci.Text = “”
Label5.Enabled = False: Label6.Enabled = False: Label7.Enabled = False
KoorX.Enabled = False: KoorY.Enabled = False: Aci.Enabled = False

cmdCiz.Default = False
cmdCiz.Enabled = False
cmdGonder.Enabled = True
Text1.Enabled = True
cmdGonder.Default = True
Exit Sub

EnSon:
KoorX.Text = “”
KoorY.Text = “”
Aci.Text = “”

End Sub

Private Sub cmdKaydet_Click()

‘Çizilecek şeklin boyutlarının yazıldıktan sonra kaydedilmesi(değişkenlere aktarılması)..
‘Boş kalan kutular için uyarı mesajları ve gerekli butonların aktif diğerlerinin pasif hale getirilmesi..

A = KenarA.Text
B = KenarB.Text

If KenarA.Text = “” Then
MsgBox “Kenar(A) uzunluğunu yazmadınız…”, vbCritical, “Eksik Bilgi”
Exit Sub
End If

If KenarB.Enabled = True And KenarB.Text = “” Then
MsgBox “Kenar(B) uzunluğunu yazmadınız…”, vbCritical, “Eksik Bilgi”
Exit Sub
End If

Label3.Enabled = False: Label4.Enabled = False
KenarA.Enabled = False: KenarB.Enabled = False
cmdKaydet.Default = False
cmdKaydet.Enabled = False
Label5.Enabled = True: Label6.Enabled = True
KoorX.Enabled = True: KoorY.Enabled = True

If sekil = “CIZGI” Then
Label7.Enabled = True: Aci.Enabled = True
End If

cmdKaydet.Enabled = False
cmdCiz.Enabled = True
cmdCiz.Default = True
KoorX.Text = “”
KoorY.Text = “”
KenarA.Text = “”
KenarB.Text = “”

End Sub

Private Sub cmdGonder_Click()

‘Bilgisayarın hangi şekli çizmesi istendiğinin belirlenmesi…
‘Burada program kullanıcısının farklı yazmasına göre tanımlanmıştır..
‘Örneğin;bilgisayara kare çizdirceksiniz.Siz kare yazdınız ama başkası Kare yada KARE yazabilir..
‘bu olayın programı dondurmaması için yapılan kodlama bölümü..

If Text1.Text = “Kare” Or Text1.Text = “kare” Or Text1.Text = “KARE” Then
sekil = “KARE”
Label3.Enabled = True: KenarA.Enabled = True

ElseIf Text1.Text = “Üçgen” Or Text1.Text = “üçgen” Or Text1.Text = “ÜÇGEN” Then
sekil = “UCGEN”
Label3.Enabled = True: KenarA.Enabled = True

ElseIf Text1.Text = “Dikdörtgen” Or Text1.Text = “dikdörtgen” Or Text1.Text = “DİKDÖRTGEN” Then
sekil = “DIKDORTGEN”
Label3.Enabled = True: KenarA.Enabled = True
Label4.Enabled = True: KenarB.Enabled = True

ElseIf Text1.Text = “çizgi” Or Text1.Text = “ÇİZGİ” Or Text1.Text = “Çizgi” Then
sekil = “CIZGI”
Label3.Enabled = True: KenarA.Enabled = True

Else
MsgBox “Yazdığınız şekil programa kayıtlı değil..”, vbInformation, “Tanımsız Şekil”
GoTo Son
End If

cmdKaydet.Enabled = True
cmdGonder.Default = False
cmdKaydet.Default = True
cmdGonder.Enabled = False
Text1.Enabled = False
Son:
Text1.Text = “”

End Sub

Private Sub Form_Load()

‘Program ilk başladığında nesnelerin adlarının girilmesi ve programın kullanılabilir olması için gerekli
‘nesnelerin aktif gereksizlerin pasif hale gelmesi…

frmCizimProgV2.AutoRedraw = True
Me.Line1.Visible = False

Label3.Enabled = False: Label4.Enabled = False
Label5.Enabled = False: Label6.Enabled = False
KoorX.Enabled = False: KoorY.Enabled = False
KenarA.Enabled = False: KenarB.Enabled = False
Label7.Enabled = False: Aci.Enabled = False
Label8.Caption = “”: Label9.Caption = “cm”
Label10.Caption = “h=”
cmdKaydet.Enabled = False
cmdCiz.Enabled = False

Label3.Caption = “Kenar A (cm)”: KenarA = “”
Label4.Caption = “Kenar B (cm)”: KenarB = “”
Label5.Caption = “Koor. X”: Label6.Caption = “Koor. Y”
Label7.Caption = “Açı”: Aci.Text = “”
KoorX.Text = “”: KoorY.Text = “”

cmdCiz.Caption = “Çi&z”
cmdGonder.Caption = “Gön&der”
cmdGonder.Default = True
Frame1.Caption = “Şekil Çiz”
Label1.Caption = “Çizim Alanı”
Label2.Caption = “Şekil İsmi :”
Text1.Text = “”
cmdKaydet.Caption = “Kay&det”

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

‘imleç işaretinin (mouse için) çizim alanında farklı, çizim alanı dışında farklı görünmesinin sağlanması…

Me.MousePointer = 2
If (X < 1680 And Y < 480) Then Me.MousePointer = 1
If (X > 1680 + 8055 Or Y > 7455 + 480) Then Me.MousePointer = 1
If (X < 1680 And Y > 7455 + 480) Then Me.MousePointer = 1
If (X > 1680 + 8055 And Y < 480) Then Me.MousePointer = 1
If (X > 1680 + 8055 Or Y > 7455 + 480 Or X < 1680 Or Y < 480) Then Me.MousePointer = 1
End Sub
Logged


Register or Login
Bunu okumadan Forumda Herhangi Bir Konuya cvp Yazmayınız....


Sayfa: [1]   Yukarı git
  Yazdır  

 

Gitmek istediğiniz yer: