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

Sign in to follow this  
charlie69

[Resolvido] Variáveis

Recommended Posts

charlie69

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

Share this post


Link to post
Share on other sites
anolsi

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


"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!

Share this post


Link to post
Share on other sites
anolsi

não ha outra forma?

Porquê que não pode ser como parâmetro?


"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!

Share this post


Link to post
Share on other sites
charlie69

poder pode, queria apenas alargar os conhecimentos.

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

Share this post


Link to post
Share on other sites
anolsi

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


"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!

Share this post


Link to post
Share on other sites
anolsi

modulo1.Y o  que queres dizer com isto?

<nome_do_modulo>.<nome_da_variavel>


"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!

Share this post


Link to post
Share on other sites
charlie69

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?

Share this post


Link to post
Share on other sites
anolsi

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?


"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!

Share this post


Link to post
Share on other sites
charlie69

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.

Share this post


Link to post
Share on other sites
charlie69

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?

Share this post


Link to post
Share on other sites
anolsi

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


"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!

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×

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.