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

charlie69

[Resolvido] Variáveis

14 mensagens neste tópico

Tenho uma Sub que chama uma função.

Dentro da função ele utiliza variáveis que são calculadas na sub.

ex:

Sub ()

Y 'variável calculada

Função

end sub

Função()

ir da célula 1 a Y

end função

Como faço para passar o valor da variável Y da sub para a função? não basta colocar Dim Y as integer no início do módulo do sub? a função está num módulo diferente

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Simples, passas a variável como parâmetro

Sub ()

Y 'variável calculada

Função(Y)

end sub

Função(Y)

ir da célula 1 a Y

end função

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

poder pode, queria apenas alargar os conhecimentos.

E se for um vector de uma sub para uma função?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, mas acho que esta seria a maneira mais correcta, criando uma maior independência.

Mas creio que se a declarares ao nível do módulo com pública, poderás aceder-lhe do outro módulo, com algo do género

modulo1.Y

EDIT:

E se for um vector de uma sub para uma função?

Também podes passar por parâmetro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

modulo1.Y o  que queres dizer com isto?

<nome_do_modulo>.<nome_da_variavel>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

duas dúvidas:

tenho o seguinte procedimento

sub()

call Vector 'chama uma função que cria um vector que tem um determinado tamanho = TamMax, desta função sai o vector Vname

for i=1 to 300

  call Function1(X,Y, Vname, TamMax)

next i

Function1

  for i=1 to TamMax

      if w=Vname(i) then

          a=w

          exit for

      end if

  next i

end function

O problema é que ele não leva o Vname nem o TamMax para a function1. Como proceder para que leve com ele a variável e o vector. basicamente é dizer que o output da functionVector tem que estar disponivel para qualquer procedimento.

outra dúvida, é possível num vector Vname( , ), definir a 1ª coordenada como integer e a 2ª coordenada como string?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sub()

novoVector = Vector() 'chama uma função que cria um vector que tem um determinado tamanho = TamMax, desta função sai o vector Vname

for i=1 to 300

   call Function1(X,Y, novoVector, TamMax)

next i

Function1

   for i=1 to TamMax
      if w=Vname(i) then
          a=w
          exit for
      end if
   next i

end function

Para o vector resolves assim, desde que na função Vector, a última linha seja

Vector = Vname

Agora uma questão, onde é "criada" a variável TamMax?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o TamMAx é gerado dentro da função Vector

Desculpa enganei-me à bocado, vou refazer o codigo:

sub()

  call Vector 'chama uma função que cria um vector que tem um determinado tamanho = amMax, desta função sai o vector Vname

for i=1 to 300

  call Function1(X,Y, Vname, TamMax)

next i

end sub

Function1

  for i=1 to TamMax

      if w=Vname(i) then

          a=w

          exit for

      end if

  next i

end function

Function Vector

abre um ficheiro, vê a última linha escrita sendo esse o TamMax e de cada linha preenche o vector.

end function

o código da Function1 e da função vector não está dentro da sub.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Peço desculpa por este tópico já estar a ser muito extenso, mas surgiu-me outra dúvida sobre variáveis.

Tenho o seguinte código.

Sub Geral()

call Sub1

call Sub 2

end sub geral

Sub1 ()

dentro deste cálcula uma variável X

end sub1

Sub2()

preciso de usar a variável X

end sub2

Como faço para ele reconhecer a variável X como output da Sub1, para depois utiizar na Sub2?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nesse caso não pode ser uma sub, tem que ser uma function, pois só as funções é que retornam resultados

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