Interfete functionale
Programul urmator creaza o interfata functionala si completa pentru programul piesa. Se vor introduce de la tastatura 2 parametrii raza1 si raza3 pentru arcul 1 si arcul 3 si dupa rularea programului se va obtine figura urmatoare.
Dim corect As Boolean
Dim centru(0 To 2) As Double
Dim raza2 As Double
Dim raza3 As Double
Dim raza4 As Double
Dim x As Double
Dim y As Double
Dim circleobj As AcadCircle
Dim arcobj As AcadArc
Dim alfa As Double
Dim unghi As Double
Dim pi As Double
Private Sub userform_initialize()
piesa.raza1.ControlTipText = "trebuie introdus un numar strict pozitiv pentru raza 1"
piesa.raza3.ControlTipText = "trebuie introdus un numar strict pozitiv pentru raza 3 mai mic decat raza1"
piesa.deseneaza.ControlTipText = "deseneaza piesa"
piesa.afisare.ControlTipText = "afiseaza fereastra pentru urmarirea executiei programului"
piesa.listaAfisare.ControlTipText = "afiseaza operatiile efectuate"
corect = True
piesa.afisare.Value = True
piesa.listaAfisare.AddItem ("s-a lansat programul")
End Sub
Private Sub afisare_click()
If piesa.afisare.Value = True Then
piesa.listaAfisare.Visible = True
Else
piesa.listaAfisare.Visible = False
End If
End Sub
Private Sub deseneaza_Click()
If (piesa.raza1.Value = "") Or (piesa.raza3.Value = "") Then
mesaj = MsgBox("trebuie sa introduceti toate datele inainte de a desena piesa", vbOKOnly + vbCritical, "atentie")
piesa.listaAfisare.AddItem ("s-a incercat desenarea fara toate datele introduse")
End If
piesa.listaAfisare.AddItem ("se incepe desenarea")
piesa.listaAfisare.AddItem ("se deseneaza arcul de raza1")
centru(0) = 0#: centru(1) = 0#: centru(2) = 0#
raza2 = (raza1 * 5) / 4
raza4 = (4 * raza3) / 3
alfa = (raza2 * raza2 + raza1 * raza1 - raza4 * raza4) / (2 * raza2 * raza1)
unghi = Atn(-alfa / Sqr(-alfa * alfa + 1)) + 2 * Atn(1)
pi = 3.14159265
Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza1, 0, pi - unghi)
Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza1, pi +