NOT:Son yapılan işlemi geri almayı yapamadım..
Fakat program çalışmasında bir sorun yaratmıyor...
PROGRAM KULLANILMASI..
1) Program çalışınca sol boş TextBox'a
Kare
Üçgen
Dikdörtgen
Çizgi
şeklinde çiziceğiniz nesneyi yaznınız ve GÖNDER 'e basınız...
2) Çiziceğiniz şeklin uzunluğunu giriniz ve KAYDET 'e basınız...
3) Çizim Alanının sol üst köşesine göre çizim alanının SOLDAN(Koor.X) ve YUKARDAN(Koor.Y) kaç cm uzakta
olması gerektiğini girip ÇİZ 'e basınız...
NESNELER.....................................................................
1 adet Form
1 adet Frame
10 adet Label
5 adet TextBox
1 adet ComboBox
3 adet CommandButton
1 adet Shape
NESNE BİLGİLERİ............................................................
Form1.........
Name :frmCizimProgV2
Alignment : -
BorderStyle :1-Fixed Single
Caption :Çizim Programı v2.0
Height :8580
Left :0
MaxButton :False
MinButton :True
ScaleHeight :8100
ScaleWidth :9885
Top :0
Width :9975
Frame1........
Name :Frame1
Alignment : -
Caption :Frame1
Font :Arial (8pt)
Height :7815
Left :120
Top :120
Width :1455
Label1........
Name :Label1
Alignment :2-Centre
Caption :Label1
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :1680
Top :120
Width :8055
Label2........
Name :Label2
Alignment :0-Left Justify
Caption :Label2
Font :Arial (8pt)
Height :255
Left :120
Top :480
Width :1215
Label3........
Name :Label3
Alignment :0-Left Justify
Caption :Label3
Font :Arial (8pt)
Height :255
Left :240
Top :2520
Width :975
Label4........
Name :Label4
Alignment :0-Left justify
Caption :Label4
Font :Arial (8pt)
Height :255
Left :240
Top :3240
Width :975
Label5........
Name :Label5
Alignment :0-Left Justify
Caption :Label5
Font :Arial (8pt)
Height :255
Left :240
Top :4290
Width :975
Label6........
Name :Label6
Alignment :0-Left Justify
Caption :Label6
Font :Arial (8pt)
Height :255
Left :240
Top :5640
Width :975
Label7........
Name :Label7
Alignment :0-Left Justify
Caption :Label7
Font :Arial (8pt)
Height :255
Left :240
Top :6360
Width :975
Label8........
Name :Label8
Alignment :0-Left Justify
Caption :Label8
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :360
Top :2160
Width :615
Label9........
Name :Label9
Alignment :0-Left Justify
Caption :Label9
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :1080
Top :2160
Width :255
Label10.......
Name :Label10
Alignment :0-Left Justify
Caption :Label10
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :120
Top :2160
Width :255
Text1.........
Name :Text1
Alignment :0-Left Justify
Caption : -
Font :Arial (8pt)
Height :375
Left :120
Top :840
Width :1215
Text2.........
Name :KenarA
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :2760
Width :1215
Text3.........
Name :KenarB
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :3480
Width :1215
Text4.........
Name :KoorX
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :5160
Width :1215
Text5.........
Name :KoorY
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :5880
Width :1215
Combo1........
Name :Aci
Alignment : -
Caption : -
Font :Arial (8pt)
Height :330
Left :120
Top :6600
Width :1215
Command1......
Name :cmdGonder
Alignment : -
Caption :cmdGonder
Font :Arial (8pt)
Height :375
Left :120
Top :1440
Width :1215
Command2......
Name :cmdKaydet
Alignment : -
Caption :cmdKaydet
Font :Arial (8pt)
Height :375
Left :120
Top :3960
Width :1215
Command3......
Name :cmdCiz
Alignment : -
Caption :cmdCiz
Font :Arial (8pt)
Height :375
Left :120
Top :7080
Width :1215
Shape1........
Name :Alan
Alignment : -
Caption : -
Font : -
Height :7455
Left :1680
Top :480
Width :8055
KOD...........................................................................
Fakat program çalışmasında bir sorun yaratmıyor...
PROGRAM KULLANILMASI..
1) Program çalışınca sol boş TextBox'a
Kare
Üçgen
Dikdörtgen
Çizgi
şeklinde çiziceğiniz nesneyi yaznınız ve GÖNDER 'e basınız...
2) Çiziceğiniz şeklin uzunluğunu giriniz ve KAYDET 'e basınız...
3) Çizim Alanının sol üst köşesine göre çizim alanının SOLDAN(Koor.X) ve YUKARDAN(Koor.Y) kaç cm uzakta
olması gerektiğini girip ÇİZ 'e basınız...
NESNELER.....................................................................
1 adet Form
1 adet Frame
10 adet Label
5 adet TextBox
1 adet ComboBox
3 adet CommandButton
1 adet Shape
NESNE BİLGİLERİ............................................................
Form1.........
Name :frmCizimProgV2
Alignment : -
BorderStyle :1-Fixed Single
Caption :Çizim Programı v2.0
Height :8580
Left :0
MaxButton :False
MinButton :True
ScaleHeight :8100
ScaleWidth :9885
Top :0
Width :9975
Frame1........
Name :Frame1
Alignment : -
Caption :Frame1
Font :Arial (8pt)
Height :7815
Left :120
Top :120
Width :1455
Label1........
Name :Label1
Alignment :2-Centre
Caption :Label1
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :1680
Top :120
Width :8055
Label2........
Name :Label2
Alignment :0-Left Justify
Caption :Label2
Font :Arial (8pt)
Height :255
Left :120
Top :480
Width :1215
Label3........
Name :Label3
Alignment :0-Left Justify
Caption :Label3
Font :Arial (8pt)
Height :255
Left :240
Top :2520
Width :975
Label4........
Name :Label4
Alignment :0-Left justify
Caption :Label4
Font :Arial (8pt)
Height :255
Left :240
Top :3240
Width :975
Label5........
Name :Label5
Alignment :0-Left Justify
Caption :Label5
Font :Arial (8pt)
Height :255
Left :240
Top :4290
Width :975
Label6........
Name :Label6
Alignment :0-Left Justify
Caption :Label6
Font :Arial (8pt)
Height :255
Left :240
Top :5640
Width :975
Label7........
Name :Label7
Alignment :0-Left Justify
Caption :Label7
Font :Arial (8pt)
Height :255
Left :240
Top :6360
Width :975
Label8........
Name :Label8
Alignment :0-Left Justify
Caption :Label8
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :360
Top :2160
Width :615
Label9........
Name :Label9
Alignment :0-Left Justify
Caption :Label9
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :1080
Top :2160
Width :255
Label10.......
Name :Label10
Alignment :0-Left Justify
Caption :Label10
Font :Arial (8pt)
ForeColor :&H00000080&
Height :255
Left :120
Top :2160
Width :255
Text1.........
Name :Text1
Alignment :0-Left Justify
Caption : -
Font :Arial (8pt)
Height :375
Left :120
Top :840
Width :1215
Text2.........
Name :KenarA
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :2760
Width :1215
Text3.........
Name :KenarB
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :3480
Width :1215
Text4.........
Name :KoorX
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :5160
Width :1215
Text5.........
Name :KoorY
Alignment :2-Centre
Caption : -
Font :Arial (8pt)
Height :285
Left :120
Top :5880
Width :1215
Combo1........
Name :Aci
Alignment : -
Caption : -
Font :Arial (8pt)
Height :330
Left :120
Top :6600
Width :1215
Command1......
Name :cmdGonder
Alignment : -
Caption :cmdGonder
Font :Arial (8pt)
Height :375
Left :120
Top :1440
Width :1215
Command2......
Name :cmdKaydet
Alignment : -
Caption :cmdKaydet
Font :Arial (8pt)
Height :375
Left :120
Top :3960
Width :1215
Command3......
Name :cmdCiz
Alignment : -
Caption :cmdCiz
Font :Arial (8pt)
Height :375
Left :120
Top :7080
Width :1215
Shape1........
Name :Alan
Alignment : -
Caption : -
Font : -
Height :7455
Left :1680
Top :480
Width :8055
KOD...........................................................................
Kod:
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
