Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to write code that enters lines in the Command Arguments Section
Forum Updated to NodeBB v4.3 + New Features

How to write code that enters lines in the Command Arguments Section

Scheduled Pinned Locked Moved Unsolved General and Desktop
28 Posts 5 Posters 4.5k Views 1 Watching
  • 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.
  • mrjjM mrjj

    @lolilol78
    hi
    well
    int main(int argc, char *argv[])
    argc is tells the number of parameters to exe
    so u can check that if any is given.

    L Offline
    L Offline
    lolilol78
    wrote on last edited by
    #10

    @mrjj not sure i understood really well, do you have any example please ?

    mrjjM 1 Reply Last reply
    0
    • L lolilol78

      @mrjj not sure i understood really well, do you have any example please ?

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #11

      @lolilol78
      hi
      there is not much to it.
      int argc tells the number of arguments.
      often there is one. which is the path to exe.
      so if argc is > 1 then there is (extra) parameters which are in the list
      argv
      argv is a char * array.

      #include <QDebug>
      int main(int argc, char* argv[]) {
        qDebug() << argv[0];
        if (argc == 1 ) {
          qDebug() << "no params given";
        }
      
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
      
        return a.exec();
      }
      
      
      L 1 Reply Last reply
      0
      • mrjjM mrjj

        @lolilol78
        hi
        there is not much to it.
        int argc tells the number of arguments.
        often there is one. which is the path to exe.
        so if argc is > 1 then there is (extra) parameters which are in the list
        argv
        argv is a char * array.

        #include <QDebug>
        int main(int argc, char* argv[]) {
          qDebug() << argv[0];
          if (argc == 1 ) {
            qDebug() << "no params given";
          }
        
          QApplication a(argc, argv);
          MainWindow w;
          w.show();
        
          return a.exec();
        }
        
        
        L Offline
        L Offline
        lolilol78
        wrote on last edited by
        #12

        @mrjj ok thanks for your time ,
        i will try to test something.

        mrjjM 1 Reply Last reply
        0
        • L lolilol78

          @mrjj ok thanks for your time ,
          i will try to test something.

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #13

          @lolilol78
          hi
          i would try

            for (int pcount = 0; pcount < argc; ++pcount) {
              qDebug() <<  argv[pcount];
            }
          
          

          with and without parameters in "run"/Creator

          else just ask.

          L 1 Reply Last reply
          0
          • mrjjM mrjj

            @lolilol78
            hi
            i would try

              for (int pcount = 0; pcount < argc; ++pcount) {
                qDebug() <<  argv[pcount];
              }
            
            

            with and without parameters in "run"/Creator

            else just ask.

            L Offline
            L Offline
            lolilol78
            wrote on last edited by
            #14

            @mrjj thanks for the line but i didnt really understand what that means ? it is gonna print something ?

            mrjjM 1 Reply Last reply
            0
            • L lolilol78

              @mrjj thanks for the line but i didnt really understand what that means ? it is gonna print something ?

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #15

              @lolilol78
              yes, it will show all parameters u give in creator / on command line when run
              it was just for u to get a feeling on how it works.

              L 1 Reply Last reply
              0
              • mrjjM mrjj

                @lolilol78
                yes, it will show all parameters u give in creator / on command line when run
                it was just for u to get a feeling on how it works.

                L Offline
                L Offline
                lolilol78
                wrote on last edited by
                #16

                @mrjj oh okay i understand thank you,

                but actually the parameters are stock in my text file and i need some code to go get them parameters and make the serial connection between the console and the arduino.

                then i dont know if it is possible..

                mrjjM 1 Reply Last reply
                0
                • L lolilol78

                  @mrjj oh okay i understand thank you,

                  but actually the parameters are stock in my text file and i need some code to go get them parameters and make the serial connection between the console and the arduino.

                  then i dont know if it is possible..

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by
                  #17

                  @lolilol78

                  well if if app sees that it got no parameter it could open the text file if u place it next to exe
                  yes it very possible.
                  You can use QFile

                  QFile file("comm.txt");
                  if(!file.open(QIODevice::ReadOnly)) {
                      QMessageBox::information(0, "error", file.errorString());
                  }
                  
                  QTextStream in(&file);
                  
                  while(!in.atEnd()) {
                      QString line = in.readLine();    // read first line
                     qDebug() << line; // here u should set com port/ baud instead.
                  }
                  
                  file.close();
                  
                  L 1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @lolilol78

                    well if if app sees that it got no parameter it could open the text file if u place it next to exe
                    yes it very possible.
                    You can use QFile

                    QFile file("comm.txt");
                    if(!file.open(QIODevice::ReadOnly)) {
                        QMessageBox::information(0, "error", file.errorString());
                    }
                    
                    QTextStream in(&file);
                    
                    while(!in.atEnd()) {
                        QString line = in.readLine();    // read first line
                       qDebug() << line; // here u should set com port/ baud instead.
                    }
                    
                    file.close();
                    
                    L Offline
                    L Offline
                    lolilol78
                    wrote on last edited by
                    #18

                    @mrjj Thank you mrjj

                    mrjjM 1 Reply Last reply
                    0
                    • L lolilol78

                      @mrjj Thank you mrjj

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #19

                      @lolilol78
                      so tutor said ok to read from file?
                      Note that sample read one line at a time

                      L 1 Reply Last reply
                      0
                      • mrjjM mrjj

                        @lolilol78
                        so tutor said ok to read from file?
                        Note that sample read one line at a time

                        L Offline
                        L Offline
                        lolilol78
                        wrote on last edited by
                        #20

                        @mrjj yes the fils has already been read with another function, but now :
                        how to actually send those lines one by one to Arduino via Serial Com?

                        aha_1980A 1 Reply Last reply
                        0
                        • L lolilol78

                          @mrjj yes the fils has already been read with another function, but now :
                          how to actually send those lines one by one to Arduino via Serial Com?

                          aha_1980A Offline
                          aha_1980A Offline
                          aha_1980
                          Lifetime Qt Champion
                          wrote on last edited by
                          #21

                          Hi @lolilol78

                          You are searching for QSerialPort

                          Examples: http://doc.qt.io/qt-5/qtserialport-examples.html

                          Qt has to stay free or it will die.

                          L 1 Reply Last reply
                          3
                          • aha_1980A aha_1980

                            Hi @lolilol78

                            You are searching for QSerialPort

                            Examples: http://doc.qt.io/qt-5/qtserialport-examples.html

                            L Offline
                            L Offline
                            lolilol78
                            wrote on last edited by
                            #22

                            @aha_1980 hello aha,

                            i am really having troubles searching through the site of qt, i am a novice and i cant really manage to code properly every time i try.

                            after having my text file read and every line read as QString, i want to send each line to Arduino via Serial. how can I do it ?

                            aha_1980A JonBJ 2 Replies Last reply
                            0
                            • L lolilol78

                              @aha_1980 hello aha,

                              i am really having troubles searching through the site of qt, i am a novice and i cant really manage to code properly every time i try.

                              after having my text file read and every line read as QString, i want to send each line to Arduino via Serial. how can I do it ?

                              aha_1980A Offline
                              aha_1980A Offline
                              aha_1980
                              Lifetime Qt Champion
                              wrote on last edited by
                              #23

                              @lolilol78

                              No no, it's not working that way - I'm not going to do your homework. I gave you two links and there are several examples.

                              The minimum you can do now is to have a look at the examples. Hint: this one looks close to your task :)

                              Qt has to stay free or it will die.

                              L 1 Reply Last reply
                              6
                              • L lolilol78

                                @aha_1980 hello aha,

                                i am really having troubles searching through the site of qt, i am a novice and i cant really manage to code properly every time i try.

                                after having my text file read and every line read as QString, i want to send each line to Arduino via Serial. how can I do it ?

                                JonBJ Offline
                                JonBJ Offline
                                JonB
                                wrote on last edited by JonB
                                #24

                                @lolilol78
                                You will use http://doc.qt.io/qt-5/qserialport.html#open to open your serial device for write and something like http://doc.qt.io/qt-5/qserialport.html#writeData or http://doc.qt.io/qt-5/qiodevice.html#write-2 to send the strings down the line.

                                1 Reply Last reply
                                4
                                • aha_1980A aha_1980

                                  @lolilol78

                                  No no, it's not working that way - I'm not going to do your homework. I gave you two links and there are several examples.

                                  The minimum you can do now is to have a look at the examples. Hint: this one looks close to your task :)

                                  L Offline
                                  L Offline
                                  lolilol78
                                  wrote on last edited by
                                  #25

                                  @aha_1980 Actually there are not several examples as I am searching for days on the internet how to simply send a string line from a text file through Serial, but thank you for your help.

                                  jsulmJ 1 Reply Last reply
                                  0
                                  • L lolilol78

                                    @aha_1980 Actually there are not several examples as I am searching for days on the internet how to simply send a string line from a text file through Serial, but thank you for your help.

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #26

                                    @lolilol78 said in How to write code that enters lines in the Command Arguments Section:

                                    Actually there are not several examples

                                    Did you actually check the links @aha_1980 gave you?
                                    There ARE examples, 9 to be precise.
                                    You should study documentation and try. If you then still have problems or questions then ask.

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    L 1 Reply Last reply
                                    4
                                    • jsulmJ jsulm

                                      @lolilol78 said in How to write code that enters lines in the Command Arguments Section:

                                      Actually there are not several examples

                                      Did you actually check the links @aha_1980 gave you?
                                      There ARE examples, 9 to be precise.
                                      You should study documentation and try. If you then still have problems or questions then ask.

                                      L Offline
                                      L Offline
                                      lolilol78
                                      wrote on last edited by
                                      #27

                                      @jsulm yes I checked, I would like to know the difference between Asynchronized and Synchronized?

                                      1 Reply Last reply
                                      0
                                      • aha_1980A Offline
                                        aha_1980A Offline
                                        aha_1980
                                        Lifetime Qt Champion
                                        wrote on last edited by aha_1980
                                        #28

                                        @lolilol78

                                        I could not explain better than this Stackoverflow answer:

                                        When you execute something synchronously, you wait for it to finish before moving on to another task. When you execute something asynchronously, you can move on to another task before it finishes.

                                        Edit: the post contained an even better comment:

                                        In simpler terms:

                                        SYNCHRONOUS

                                        You are in a queue to get a movie ticket. You cannot get one until everybody in front of you gets one, and the same applies to the people queued behind you.

                                        ASYNCHRONOUS

                                        You are in a restaurant with many other people. You order your food. Other people can also order their food, they don't have to wait for your food to be cooked and served to you before they can order. In the kitchen restaurant workers are continuously cooking, serving, and taking orders. People will get their food served as soon as it is cooked.

                                        Qt has to stay free or it will die.

                                        1 Reply Last reply
                                        3

                                        • Login

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