Important: Please read the Qt Code of Conduct -

Data and Picture viewer tool

  • Background:
    A system (A) sends a set of 3 different messages (a, b and c) to another system (B) each time an event is generated in system A. These messages are stored in a text file (trace file) as hex strings when received at B. The information about each event in system A is thus found in three different hex strings in the same trace file. The system A generates several hundreds of these events per day. I would like to display the relevant details from a, b and c in one view and converted hex to human readable format.

    System B also downloads pictures from system A using data found in one of the three messages. Pictures are downloaded using FTP.

    I would like to develop a viewer-tool that display selected details from a, b and c and the pictures associated to each event. What I see in my mind is a list showing all messages of kind a. When the user selects one row in the list the details from message a, b and c is displayed in details view of the window.

    In my mind I see following processing steps:

    1. Select and open the trace file you want to view
    2. A parser loops through the trace file and stores each message a in a table, message b in another table and messages c in a third table each table uses a message id as a key.
    3. Display message a in a listview (?)
    4. When a row in the listview is selected, the relevant values are looked up in the tables and the data is displayed in the details view.

    What currently blocks me is how the tables should be built up, should each message be stored in a text file or is there a built in design pattern for this kind of issues, like some kind of QObject that can be used?

    will this approach be slow if I download a large trace file? Building up the tables could possibly take a lot of time, or?

    after all the messages are stored pretty much in an chronological order, perhaps the application can "look for" associated messages b and c at runtime close to the row of each a in the trace file?

    How would you do this?

Log in to reply