Executar el programa m6p8.exe per conèixer el seu comportament. Veure el llistat del codi del programa, m6p8. Executar Visual Basic per editar el projecte (acabat): m6p8.vbp. Complement de l'anteriorEl següent exercici, complement de l'anterior, correspon a un gràfic de barres de les notes de 179 alumnes de matemàtiques.Fase de disseny de la interfície d’usuariDissenyeu un formulari semblant a l'anterior, i amb les mateixes propietats, que desareu amb el nom m6p8 i al directori C:\VBCurs\VBActivi\m6\p8Fase de programació de respostes a eventsMètodes associats a l'event Click:Per a l'opció de menú mnuPantalla: Recordeu que no cal que escriviu aquest codi. El podeu copiar a la carpeta i enganxar-lo en la finestra d'edició de Visual Basic. Sub mnuPantalla_Click () Static FrecuenciaAbsoluta(1 To 10) Dim LlargPaper As Single, AltPaper Dim MidaDibuixX As Integer Dim MidaDibuixY As Integer Dim x1 As Integer, y1 As Integer Dim x2 As Integer, y2 As Integer Dim i As Integer Dim TotalAmpleBarra As Integer 'Mida del paper Din A4 LlargPaper = 210 AltPaper = 297 'Freqüències absolutes de les notes d'un nivell FrecuenciaAbsoluta(1) = 2 FrecuenciaAbsoluta(2) = 5 FrecuenciaAbsoluta(3) = 10 FrecuenciaAbsoluta(4) = 15 FrecuenciaAbsoluta(5) = 45 FrecuenciaAbsoluta(6) = 48 FrecuenciaAbsoluta(7) = 23 FrecuenciaAbsoluta(8) = 15 FrecuenciaAbsoluta(9) = 12 FrecuenciaAbsoluta(10) = 4 'Mides del dibuix que voleu fer MidaDibuixX = 150 MidaDibuixY = 90 'Posar el sistema de coordenades adient ScaleMode = 6 x1 = -(LlargPaper / 2) + (MidaDibuixX / 2) y1 = (AltPaper / 2) + (MidaDibuixY / 2) x2 = (LlargPaper / 2) + (MidaDibuixX / 2) y2 = -(AltPaper / 2) + (MidaDibuixY / 2) Scale (x1, y1)-(x2, y2) 'Quadre exterior FillStyle = 1 Line (0, 0)-(MidaDibuixX, MidaDibuixY), , B 'Dibuixar les barres i els números de l'eix x. TotalAmpleBarra = MidaDibuixX / 10 FillStyle = 7 For i = 1 To 10 x1 = 2 + (i - 1) * TotalAmpleBarra y1 = 0 x2 = 12 + (i - 1) * TotalAmpleBarra y2 = FrecuenciaAbsoluta(i) * MidaDibuixY / 50 Line (x1, y1)-(x2, y2), , B CurrentX = 2 + (i - 1) * 15 CurrentY = -5 Print i Next i 'Dibuixar les línies de separació de l'eix y For y1 = 10 To 40 Step 10 Line (-2, y1 * MidaDibuixY / 50)-(2, y1 * MidaDibuixY / 50) CurrentX = -20 CurrentY = y1 * MidaDibuixY / 50 Print y1 Next y1 End Sub Per a l'opció de menú Per impressora: Per tal de fer l'opció d'imprimir, copieu el contingut del procediment anterior a dins del procediment mnuImprimir_Click i poseu la paraula Printer davant de totes les instruccions del programa que s'escaiguin, o sigui totes les intruccions de dibuix. Per exemple: Printer.ScaleMode = 6 Printer.Scale (x1, y1)-(x2, y2) Printer.FillStyle = 1 Printer.Line (0, 0)-(MidaDibuixX, MidaDibuixY), , BEtc... Al final de les instruccions de dibuix heu de posar la instrucció: Printer.EndDoc Notes: Hi ha dos fets que cal tenir presents per tal de no induir-nos a errades:
2. El mètode circle si que queda afectat per l'escala del dibuix que feu. L'aspecte del cercle sempre es rodó en pantalla, però la seva mida depèn solament del radi respecte a les unitats de l'eix horitzontal. ExercicisPer enviar al professor tutor. (Directori C:\VBCurs\VBExerci\m6\p8 )E1. Feu dibuixos semblants als de l'activitat 1 però de forma que els pugueu imprimir. El dibuix de la finestra principal ha de ser semblant a: Cal enviar els següents fitxers:
Fitxer formulari m6p8e1.frm Fitxer executable m6p8e1.exe |