PROGRAMACIÓ D'APLICACIONS EDUCATIVES AMB VISUAL BASICMÒDUL 6

Fitxer: m6p3.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         =   "Dibuix Fractal"
   ClientHeight    =   5820
   ClientLeft      =   1095
   ClientTop       =   1485
   ClientWidth     =   7365
   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     =   388
   ScaleMode       =   3  'Pixel
   ScaleWidth      =   491
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

Private Sub Dibuix1(N As Integer)
    Dim s As Integer, i As Integer
    Dim Fila, Columna As Integer
    ReDim FilaAuxiliar(0 To 400) As Integer
    ReDim Automat(0 To 400) As Integer

    For Columna = 0 To 400     'Inicialització de l'estat de l'autòmat  (Estat 0)
        Automat(Columna) = 0
    Next Columna
    Automat(199) = 1
    Automat(200) = 1

    Fila = 1                                'Dibuixem la primera fila
    For Columna = 0 To 400
        PSet (Columna, Fila), QBColor(Automat(Columna))
    Next Columna

    For Fila = 2 To 400
        For Columna = 1 To 399 'Calculem la fila següent i la posem a FilaAuxiliar
            s = 0
            For i = Columna - 1 To Columna + 1
                s = s + Automat(i)
            Next i
            FilaAuxiliar(Columna) = s Mod N
        Next Columna
        For Columna = 0 To 400 'Pasem la FilaAuxiliar a l'autòmat i dibuixem l'autòmat
            Automat(Columna) = FilaAuxiliar(Columna)
            PSet (Columna, Fila), QBColor(Automat(Columna))
        Next Columna
    Next Fila
End Sub

Private Sub Form_Click()
    Dim a As Integer
    a = Val(InputBox("Escriviu un número entre 2 i 16"))
    Dibuix1 (a)
End Sub