Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Como usar variavel que foi criada em algum metodo para ser usado em outro metodo?

Como usar variavel que foi criada em algum metodo para ser usado em outro metodo?

Scheduled Pinned Locked Moved Solved Portuguese
2 Posts 2 Posters 1.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MSDiLieto
    wrote on last edited by
    #1

    Boa tarde gente, sou principiante em programacao e estou com uma duvida. Criei um metodo para abrir um arquivo e pegar alguma informacao jogando-a em uma variavel. Mas a minha duvida e': como consigo usar essa mesma variavel mas em outro metodo?

    Esse e' meu codigo:

      void readJson()
       {
          QJsonValue port;
          QJsonValue ip;
          QString val;
          QFile file;
          file.setFileName("/home/msdilieto/teste.conf");
          file.open(QIODevice::ReadOnly | QIODevice::Text);
          val = file.readAll();
          file.close();
          qWarning() << val;
          QJsonDocument d = QJsonDocument::fromJson(val.toUtf8());
          QJsonObject sett2 = d.object();
          QJsonValue decoder_id = sett2.value(QString("decoder_id"));
          qWarning() << decoder_id.toString();
          port = sett2.value(QString("port"));
          qWarning() << port.toString();
          ip = sett2.value(QString("ip"));
          qWarning() << ip.toString();
    
    KillerSmathK 1 Reply Last reply
    0
    • M MSDiLieto

      Boa tarde gente, sou principiante em programacao e estou com uma duvida. Criei um metodo para abrir um arquivo e pegar alguma informacao jogando-a em uma variavel. Mas a minha duvida e': como consigo usar essa mesma variavel mas em outro metodo?

      Esse e' meu codigo:

        void readJson()
         {
            QJsonValue port;
            QJsonValue ip;
            QString val;
            QFile file;
            file.setFileName("/home/msdilieto/teste.conf");
            file.open(QIODevice::ReadOnly | QIODevice::Text);
            val = file.readAll();
            file.close();
            qWarning() << val;
            QJsonDocument d = QJsonDocument::fromJson(val.toUtf8());
            QJsonObject sett2 = d.object();
            QJsonValue decoder_id = sett2.value(QString("decoder_id"));
            qWarning() << decoder_id.toString();
            port = sett2.value(QString("port"));
            qWarning() << port.toString();
            ip = sett2.value(QString("ip"));
            qWarning() << ip.toString();
      
      KillerSmathK Offline
      KillerSmathK Offline
      KillerSmath
      wrote on last edited by
      #2

      Olá @MSDiLieto.

      Eu recomendo você a ler a parte inicial desse artigo Escopo (C++).

      Escopo refere-se a visão de variáveis em sua aplicação, isto é, se você criar uma variável dentro de uma função, a mesma só será visível e acessivel dentro da mesma. (Lembrando que, quando um escopo é finalizado, as variáveis que e estão neles são removidas da memória.(

      Você pode pensar em duas formas de conseguir expor essa informação para outro método.

      1. Chamando o outro método dentro da sua função de leitura e passando as variaveis desejadas como parâmetro
      void func_2(int v)
      {
         // acessar a variável V
      }
      void func_leitura() 
      {
          // fazer a leitura
         int valor = 3; // so existe enquanto o metodo func_leitura é executado.
         func_2(valor); // chama o outro método
      }
      
      1. Definindo a variável no mesmo escopo onde seus metodos podem visualiza-la e acessá-la. Exemplo Classe
      Class A{
      public: 
        A() {}
        void func_2();
        void funcLeitura();
      private:
         int valor; // valor pertence a classe e não ao método em si
      };
      
      void A::func_leitura()
      {
           valor = 3;
      }
      
      void A:func_2()
      {
         // acessar, exibir ou modificar a variável valor.
      }
      

      @Computer Science Student - Brazil
      Web Developer and Researcher
      “Sometimes it’s the people no one imagines anything of who do the things that no one can imagine.” - Alan Turing

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved