Proiect PAC

Trimis la data: 2007-02-28 Materia: Informatica Nivel: Gimnaziu Pagini: 20 Nota: / 10 Downloads: 315
Autor: Alina Musat Dimensiune: 198kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui referat: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
Programul următor crează o interfaţă funcţională şi completă pentru programul piesă.

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 + unghi, 2 * pi)

piesa.listaAfisare.AddItem ("se deseneaza arcul de raza2")
alfa = 1 - (raza4 * raza4) / (2 * raza2 * raza2)
unghi = Atn(-alfa / Sqr(-alfa * alfa + 1)) + 2 * Atn(1)
Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza2, 0, pi - unghi)
Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza2, pi + unghi, 2 * pi)

piesa.listaAfisare.AddItem ("se deseneaza arcul de raza3")
centru(0) = 0# - raza2: centru(1) = 0#: centru(2) = 0#
alfa = Sqr(3) / 2
unghi = Atn(-alfa / Sqr(-alfa * alfa + 1)) + 2 * Atn(1)
pi = 3.14159265
Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza3, unghi, pi)
Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza3, pi, 2 * pi - unghi)

piesa.listaAfisare.AddItem ("se deseneaza cercul 4 de raza4")
centru(0) = 0# - raza2: centru(1) = 0#: centru(2) = 0#
Set circleobj = ThisDrawing.ModelSpace.AddCircle(centru, raza4)

Dim punctstart(0 To 2) As Double
Dim punctfinal(0 To 2) As Double
Dim frontiera(0 To 2) As AcadEntity
piesa.listaAfisare.AddItem ("se deseneaza polilinia")
punctstart(0) = 0# - raza2 + 6 * raza3 / 7: punctstart(1) = 0# + raza3 / 2: punctstart(2) = 0#
punctfinal(0) = 0# - raza2 + 7 * raza3 / 6: punctfinal(1) = 0# + raza3 / 2: punctstart(2) = 0#
Set frontiera(0) = ThisDrawing.ModelSpace.AddLine(punctstart, punctfinal)
punctfinal(0) = 0# - raza2 + 7 * raza3 / 6: punctfinal(1) = 0# - raza3 / 2: punctstart(2) = 0#
Set frontiera(1) = ThisDrawing.ModelSpace.AddLine(frontiera(0).EndPoint, punctfinal)
punctfinal(0) = 0# - raza2 + 6 * raza3 / 7: punctfinal(1) = 0# - raza3 / 2: punctstart(2) = 0#
Set frontiera(2) = ThisDrawing.ModelSpace.AddLine(frontiera(1).EndPoint, punctfinal)
End Sub
Private Sub raza1_AfterUpdate()
piesa.listaAfisare.AddItem ("s-a introdus raza arcului 1")
piesa.listaAfisare.AddItem ("valoarea introdusa este raza1=" + piesa.raza1.Value)
verificare_numar (piesa.raza1.Value)
If corect = False Then
piesa.raza1.Value = ""
End If
End Sub
Private Sub raza3_afterupdate()
piesa.listaAfisare.AddItem ("s-a introdus raza arcului 3")
piesa.listaAfisare.AddItem ("valoarea introdusa este raza3=" + piesa.raza3.Value)
x = piesa.raza1.Value / 3
y = piesa.raza1.Value / 5
If piesa.raza3.Value >x Then
mesaj = MsgBox("raza3 trebuie sa fie mai mica decat" +str(x), vbOKOnly + vbCritical, "atentie")
corect = False
ElseIf piesa.raza3.Value < y Then
mesaj = MsgBox("raza3 trebuie sa fie mai mare decat" +str(y), vbOKOnly + vbCritical, "atentie")
corect = False
Else
corect = True
piesa.listaAfisare.AddItem ("valoarea introdusa este corecta")
End If
End Sub

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.
Confidentialitatea ta este importanta pentru noi

Referat.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat politica de confidentialitate pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Politica de Cookie
Am inteles