amvm Posted August 14, 2012 at 02:01 PM Report #472229 Posted August 14, 2012 at 02:01 PM (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 August 14, 2012 at 02:02 PM by ribeiro55
ribeiro55 Posted August 14, 2012 at 02:13 PM Report #472239 Posted August 14, 2012 at 02:13 PM 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"
Caça Posted August 14, 2012 at 02:13 PM Report #472240 Posted August 14, 2012 at 02:13 PM 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
amvm Posted August 14, 2012 at 02:55 PM Author Report #472255 Posted August 14, 2012 at 02:55 PM 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now