Jump to content

Recommended Posts

Posted (edited)

boa tarde,

tenho um arrayList, em que adiciono objectos Pessoa

Private contacts As New ArrayList()

Public Sub addArray()
 Dim p1 As New Pessoa("ana", "cinfaes", "913287722", "ana_mendes22@hotmail.com", "19/5/1991")
 Dim p2 As New Pessoa("andre", "rio mau", "913287122", "andre.sr@live.com.pt", "02/04/1990")
 contacts.Add(p1)
 contacts.Add(p2)
End Sub

minha dúvida é, quando tento editar um objecto desse arrayList, como faço para editar um dado objecto? só mesmo apagando o que lá está e adicionando um novo?

minha classe Pessoa, tem métodos get e set de acesso.

Public Sub editPeople(ByVal n As String, ByVal a As String, ByVal nu As String, ByVal e As String, ByVal d As String)
 Dim i As Integer
 Dim pe As Pessoa
 For i = 0 To contacts.Count - 1
	 pe = contacts.Item(i)
	 If pe.getNumber() = nu Then
		 'contacts.Item(i)
	 End If
 Next
End Sub

outra questão: criei uma app "form aplication" e, ao correr o programa, queria que ele carrega-se esse arrayList para a memoria, ou seja, na classe Form1.vb invocar o método addArray() para depois tratar a informação. É possivel fazê-lo? onde?

cumprimentos,

Edited by ribeiro55
Posted

Primeiro tens de descobrir o índice do item que queres alterar.

Com o índice descoberto, presumo que te esteja a fazer confusão não ter intellisense.

O teu método está lá, mas como ArrayList é genérica, o intellisense não sugere.

Podes fazer um DirectCast para a tua classe Pessoa, ou voltar a despejar o item para uma variável do tipo Pessoa, como fazes no teu For, mas neste caso em que só estás a operar objectos do tipo Pessoa, sugiro List(Of Pessoa) ao invés de ArrayList.

Dessa forma, onde tens contacts.item(i), podes abreviar para contacts(i) e podes aceder logo aos membros.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Posted

Para pegar e actualizar um determinado item na lista, podes utilizar Linq por exemplo.


Para isso deves declarar esse ArrayList num modulo para que esteja disponível em qualquer parte da aplicação.

Pedro Martins

Não respondo a duvidas por PM

Posted

obrigada resolvi o meu problema...

Em relação á outra duvida que tinha, na class Form1 eu crio um objecto Contactos (a classe q tem o arrayList de pessoa) e não sei onde chamar o método addArray() que adiciona objectos a esse array para operar com ele...

Public Class Form1
   Dim contatos As New Contactos

   Private Sub Form1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    contatos.addArray()

   End Sub

pensei que pudesse ser no Load da form mas não...

cumprimentos

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.