seminas Posted May 13, 2008 at 08:34 PM Report Share #184889 Posted May 13, 2008 at 08:34 PM Boas! Antes da minha questão quero aqui dar os meus parabéns ao vosso site está excelente, já há alguns dias que venho cá coscuvilhar, e acho mesmo muito bom! e então a minha duvida é o seguinte, estou a tentar aprender outra vez vb6, há alguns anos já tinha começado mas parei e agora por gosto só, estou outra vez a dar uns passos,bom queria saber se é possível defenir uma matriz em que eu não sei á partida quantos elementos essa matriz vai ter porque é algo que o utilizador vai dizer,tipo: dim x as integer dim n_vaos(x) as integer x=text1.text algo asiim do género só que ainda não consegui porque dá-me sempre erro!! Obrigado! Link to comment Share on other sites More sharing options...
anolsi Posted May 13, 2008 at 08:51 PM Report Share #184893 Posted May 13, 2008 at 08:51 PM Repara no que estás a fazer: dim x as integer 'Dimensiona a variável, e com vb esta é automaticamente inicializada a zero(0) dim n_vaos(x) as integer 'Declara um array de dimensões x. Neste caso 0. Explica-me como vais criar um array com zero elementos? "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
jpaulino Posted May 13, 2008 at 08:59 PM Report Share #184896 Posted May 13, 2008 at 08:59 PM Dois exemplos: - Usando array simples - Dim n_vaos() As Integer Private Sub Command1_Click() Dim total As Integer ' Verifica o tamanho do array +1 total = UBound(n_vaos) + 1 ' Redimenciona o array ReDim Preserve n_vaos(total) ' Coloca o valor no array n_vaos(total) = 1 End Sub Private Sub Form_Load() ' Inicia o array ReDim Preserve n_vaos(0) End Sub - Usando colecções - Dim c As New Collection Private Sub Command1_Click() c.Add "Texto" End Sub Link to comment Share on other sites More sharing options...
seminas Posted May 13, 2008 at 09:59 PM Author Report Share #184918 Posted May 13, 2008 at 09:59 PM AH!! erro básico, não passar valor para a variável, ? jpaulino ainda sou muito verde,podes dar-me uma luz acerca do ubound?? se bem percebi é para verificar o tamanho da variável?? obrigado a todos!! 👍 Link to comment Share on other sites More sharing options...
jpaulino Posted May 13, 2008 at 10:01 PM Report Share #184920 Posted May 13, 2008 at 10:01 PM jpaulino ainda sou muito verde,podes dar-me uma luz acerca do ubound?? se bem percebi é para verificar o tamanho da variável?? O ubound verifica o tamanho do array não o tamanho da variável. Se tens 10 elementos ele retoma-te 9 porque o array tem base 0. Link to comment Share on other sites More sharing options...
seminas Posted May 13, 2008 at 10:07 PM Author Report Share #184923 Posted May 13, 2008 at 10:07 PM Por isso é que é total = Ubound(n_vaos) + 1 ?? para o facto de comecar em 0 e para ter o valor certo adiciona-se mais 1? Link to comment Share on other sites More sharing options...
jpaulino Posted May 13, 2008 at 10:10 PM Report Share #184925 Posted May 13, 2008 at 10:10 PM O Redim redimenciona o número de elementos no array. Por isso vais buscar o tamanho actual e aumentas mais um (que é o que vais inserir). O preserve é para preservar os anteriores, ou seja, manter. No caso das collections não tem dimenção pré-definida e podesse simplesmente adicionar itens. Link to comment Share on other sites More sharing options...
asworm Posted May 15, 2008 at 10:19 AM Report Share #185254 Posted May 15, 2008 at 10:19 AM So uma coisa... se fizeres preserve muita vez pode crachar o sistema... porque o preserve mete os valores na memoria... eu digo isto porque existem malware e alguns viros que fazem este tipo de rotinas... Got it? Link to comment Share on other sites More sharing options...
programadorvb6 Posted June 26, 2008 at 10:11 PM Report Share #193872 Posted June 26, 2008 at 10:11 PM para isso existe a instrução Erase (variavel) ______________________________________________________________________________ Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé. Link to comment Share on other sites More sharing options...
asworm Posted June 27, 2008 at 10:06 AM Report Share #193966 Posted June 27, 2008 at 10:06 AM para isso existe a instrução Erase (variavel) nao sabia dessa... Got it? Link to comment Share on other sites More sharing options...
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