• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

soXfoR

[VB6] Eliminar e substituir os dados do vector

3 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta por o seguinte

cmbVOLUNTARIAS.SelectedIndex = cmbVOLUNTARIAS.Count - 1

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora