

Fitxer: m6p6.frm
Definició dels objectes. Interfície d'usuari.
Recordeu que això no ho podeu editar directament. Per editar-ho es fa incorporant nous objectes
de la paleta en el vostre formulari. I per canviar els valors ho feu sel.leccionant l'objecte i
escolliu la propietat a canviar en la finestra Properties.
VERSION 5.00
Begin VB.Form Form1
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "Una funció i una pilota"
ClientHeight = 3645
ClientLeft = 2430
ClientTop = 2280
ClientWidth = 6450
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
LinkTopic = "Form1"
PaletteMode = 1 'UseZOrder
ScaleHeight = 3645
ScaleWidth = 6450
Begin VB.PictureBox picDibuix
Appearance = 0 'Flat
BackColor = &H80000005&
ForeColor = &H80000008&
Height = 3495
Left = 360
ScaleHeight = 3465
ScaleWidth = 5865
TabIndex = 0
Top = 0
Width = 5895
End
End
Codi del programa. Programació de respostes a events.
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim VertexAX As Single
Dim VertexAY As Single
Dim VertexBX As Single
Dim VertexBY As Single
Private Sub DibuixaFuncioSinus()
Dim x As Single, Retar As Double
picDibuix.AutoRedraw = True
picDibuix.CurrentX = VertexAX
picDibuix.CurrentY = Sin(VertexAX)
For x = VertexAX To VertexBX + 0.1 Step 0.1
picDibuix.Line -(x, Sin(x))
Next
End Sub
Private Sub Form_Load()
PosaEscala
DibuixaFuncioSinus
End Sub
Private Sub picDibuix_Click()
Dim Radi As Single
Dim x As Single, Retar As Double
picDibuix.AutoRedraw = False
Radi = 0.25 'de la pilota
picDibuix.FillStyle = 0 'color sòlid
picDibuix.FillColor = RGB(0, 0, 255) 'color pilota
picDibuix.DrawMode = 10 'Not Xor
For x = VertexAX To VertexBX Step 0.5
picDibuix.Circle (x, Sin(x) + Radi), Radi 'Dibuixar la pilota
For Retar = 0 To 50000: Next 'El número d'iteracions varia en funció de la velocitat de l'ordinador.
picDibuix.Circle (x, Sin(x) + Radi), Radi 'Esborra la pilota
Next x
End Sub
Private Sub PosaEscala()
Dim MidaX As Single
Dim MidaY As Single
Dim ConversióTwipsCentimetres As Single
ConversióTwipsCentimetres = 1 / 567
MidaX = picDibuix.Width * ConversióTwipsCentimetres
MidaY = picDibuix.Height * ConversióTwipsCentimetres
VertexAX = -MidaX / 2
VertexAY = MidaY / 2
VertexBX = MidaX / 2
VertexBY = -MidaY / 2
picDibuix.Scale (VertexAX, VertexAY)-(VertexBX, VertexBY)
End Sub