Jump to content
soXfoR

[VB6] Eliminar e substituir os dados do vector

Recommended Posts

soXfoR

Boas,

Eu não sei se me vou conseguir explicar como deve de ser, mas vou tentar.  :confused:

Private Sub cmdDEL_Click()

If MsgBox("Eliminar " & cmbVOLUNTARIAS.Text & "?", vbExclamation + vbYesNo, "Eliminar entrada") = vbYes Then
    
    txtNOME.Text = Empty
    txtMORADA.Text = Empty
    txtCODIGO_POSTAL.Text = Empty
    txtLOCALIDADE.Text = Empty
    txtTELEFONE.Text = Empty
    txtTELEMOVEL.Text = Empty
    txtDATA_NASCIMENTO.Text = Empty
    
    VOLUNTARIA(ID).NOME = Empty
    VOLUNTARIA(ID).MORADA = Empty
    VOLUNTARIA(ID).CODIGO_POSTAL = Empty
    VOLUNTARIA(ID).LOCALIDADE = Empty
    VOLUNTARIA(ID).TELEFONE = Empty
    VOLUNTARIA(ID).TELEMOVEL = Empty
    VOLUNTARIA(ID).DATA_NASCIMENTO = Empty
    

    Nesta parte, entre colocar as variaveis Empty e a limpeza da combobox, deveria fazer com que a posição seguinte do ID passa-se para a posição ID, por exemplo, com o ID=1 o vector VOLUNTARIA(ID) estava vazio e a seguinte posiçao do vector VOLUNTARIA teria que passar para o VOLUNTARIA(ID), e assim sucessivamente. Ou seja, depois teria que passar o VOLUNTARIA(3) para o VOLUNTARIA(2). Percebem-me?  :P

   

'Limpa a ComboBox

    cmbVOLUNTARIAS.Clear

    'Adcciona, novamente, os nomes das voluntarias na ComboBox.

    For X = 1 To 1000
    
        If VOLUNTARIA(X).NOME = Empty Then
            Exit For
        End If
    
        cmbVOLUNTARIAS.AddItem (VOLUNTARIA(X).NOME)
    
    Next X
        
    cmbVOLUNTARIAS.SetFocus
    
End If
    
End Sub

Cumpz.  :P

Share this post


Link to post
Share on other sites
Tiago Salgado

Experimenta por o seguinte

cmbVOLUNTARIAS.SelectedIndex = cmbVOLUNTARIAS.Count - 1

Cumps

Share this post


Link to post
Share on other sites
soXfoR

Tiago não percebi muito bem o para que me serviria aquilo.  :confused:

Mas já resolvi o problema. Eu sabia que era uma cena fácil.  :P Criei uma variavel, a TOTALDADOS que contém o número de posições do vector que estão preenchidos, e juntamente com o ID torna fácil a operação que eu pretendia. Começando a fazer a troca do conteúdo dos vectores na posição definida pelo ID e acabando na posição definida pelo TOTALDADOS:P

Private Sub cmdDEL_Click()

If MsgBox("Eliminar " & cmbVOLUNTARIAS.Text & "?", vbExclamation + vbYesNo, "Eliminar entrada") = vbYes Then
    
    txtNOME.Text = Empty
    txtMORADA.Text = Empty
    txtCODIGO_POSTAL.Text = Empty
    txtLOCALIDADE.Text = Empty
    txtTELEFONE.Text = Empty
    txtTELEMOVEL.Text = Empty
    txtDATA_NASCIMENTO.Text = Empty
    
    VOLUNTARIA(ID).NOME = Empty
    VOLUNTARIA(ID).MORADA = Empty
    VOLUNTARIA(ID).CODIGO_POSTAL = Empty
    VOLUNTARIA(ID).LOCALIDADE = Empty
    VOLUNTARIA(ID).TELEFONE = Empty
    VOLUNTARIA(ID).TELEMOVEL = Empty
    VOLUNTARIA(ID).DATA_NASCIMENTO = Empty
    
    For X = ID To TOTALDADOS
    
        VOLUNTARIA(X).NOME = VOLUNTARIA(X + 1).NOME
        VOLUNTARIA(X).MORADA = VOLUNTARIA(X + 1).MORADA
        VOLUNTARIA(X).CODIGO_POSTAL = VOLUNTARIA(X + 1).CODIGO_POSTAL
        VOLUNTARIA(X).LOCALIDADE = VOLUNTARIA(X + 1).LOCALIDADE
        VOLUNTARIA(X).TELEFONE = VOLUNTARIA(X + 1).TELEFONE
        VOLUNTARIA(X).TELEMOVEL = VOLUNTARIA(X + 1).TELEMOVEL
        VOLUNTARIA(X).DATA_NASCIMENTO = VOLUNTARIA(X + 1).DATA_NASCIMENTO
    
    Next X
    
    TOTALDADOS = TOTALDADOS - 1
    
    'Limpa a ComboBox

    cmbVOLUNTARIAS.Clear

    'Adcciona, novamente, os nomes das voluntarias na ComboBox.

    For X = 1 To TOTALDADOS
    
        cmbVOLUNTARIAS.AddItem (VOLUNTARIA(X).NOME)
    
    Next X
        
    cmbVOLUNTARIAS.SetFocus
    
    '--------------------------
    'Chama a funcao GRAVAR_FILE
            GRAVAR_FILE
    '--------------------------
    
End If
    
End Sub

Cumpz.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.