"A arte de programar consiste na arte de organizar e dominar a complexidade."

sexta-feira, 5 de fevereiro de 2016

Dados estruturados

1.

Código:

Private Type Pessoa
    Nome As String * 30
    Morada As String * 40
    Telefone As Long
End Type

Dim tabela(4) As Pessoa
Dim i, j As Integer

Private Sub Command1_Click()
    If i < j - 1 Then
        i = i + 1
        ver_dados (i)
    End If
End Sub

Private Sub Command2_Click()
    If i > 0 Then
        i = i - 1
        ver_dados (i)
    End If
End Sub

Private Sub Command3_Click()
    If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" Then
        MsgBox "A gravar os campos do formulário", vbInformation, "Inserir Dados!"
        gravar_dados
        Command1.Enabled = True
        Command2.Enabled = True
        Command4.Enabled = True
        Command5.Enabled = True
        Command6.Enabled = True
        Command7.Enabled = True
        Command8.Enabled = True
    Else
        MsgBox "Tem de preencher todos os campos", vbCritical, "Aviso"
    End If
End Sub

Private Sub gravar_dados()
    tabela(j).Nome = Text1.Text
    tabela(j).Morada = Text2.Text
    tabela(j).Telefone = Val(Text3.Text)
    i = j
    j = j + 1
End Sub

Private Sub Command4_Click()
    Dim procura As String * 30, x As Integer
    procura = InputBox("Qual o nome que quer procurar?", "Pesquisa")
    For x = 0 To j - 1
        If UCase(tabela(x).Nome) = UCase(procura) Then
            ver_dados (x)
            Exit For
        End If
    Next x
End Sub

Private Sub Command5_Click()
    Dim opcao As Integer
    
    opcao = MsgBox("Deseja sair?", vbYesNo + vbQuestion, "Confirmação de saída")
    If opcao = vbYes Then
        End
    End If
End Sub

Private Sub Command6_Click()
    Command1.Enabled = False
    Command2.Enabled = False
    Command4.Enabled = False
    Command5.Enabled = False
    Command7.Enabled = False
    Command8.Enabled = False
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
End Sub

Private Sub Command7_Click()
    Dim opcao As Integer, l As Integer
    
    opcao = MsgBox("Tem a certeza que quer eliminar?", vbYesNo + vbQuestion, "Confirmação de eliminação")
    If opcao = vbYes Then
        For l = i To j - 1
            tabela(l).Nome = tabela(l + 1).Nome
            tabela(l).Morada = tabela(l + 1).Morada
            tabela(l).Telefone = tabela(l + 1).Telefone
        Next l
        j = j - 1
        ver_dados (i)
    End If
End Sub

Private Sub Command8_Click()
    MsgBox "As suas alterações foram guardadas", vbInformation, "Alterar"
    
    tabela(i).Nome = Text1.Text
    tabela(i).Morada = Text2.Text
    tabela(i).Telefone = Val(Text3.Text)
End Sub

Private Sub Form_Load()
    tabela(0).Nome = "Manuel Silva"
    tabela(0).Morada = "Rua Torta Nº2"
    tabela(0).Telefone = 912345678
    j = 1
    i = 0
    ver_dados (0)
End Sub

Private Sub ver_dados(k As Integer)
    Text1.Text = tabela(k).Nome
    Text2.Text = tabela(k).Morada
    Text3.Text = tabela(k).Telefone
End Sub

Sem comentários:

Enviar um comentário