Script shell

Bonjour,
je voudrais appeler une méthode d'une classe qt4 , dans un script shell.
ça veut dire quand j'écris une commande shell (que je la programme dans le scipt)cette méthode est exécutée.
j'éspère que j'ai bien expliqué
veuillez m'aider SVP?
merci d'avance
Configuration: Windows XP
Firefox 2.0.0.20

6 réponses

  1. Ta classe qt4 est programmé par quel language. ?
    par ce que'en effet pour exécuter une classe progrmmé en java, tous ce dont t'a besoin est d'ecrire une commande qui execute un fichier (j'espere que tu sais comment, si non dit-lt moi). Et ainsi, a l'execution, tu aura t'a methode de classe qui sera executer.Voilà.
    1
    1. re bonjour
      ma classe est écite en c++
      en fait j'en sais rien comment écrire un script,
      veuillez détailler SVP
      merci
      0
    2. @saratout d'abord, tu doit verifier les droits d'exécutionde ton fichier c++.
      puis pour ecrire un script shell, tu doit ouvrir kwrite/ou xemacs/ou n'importe quelle editeurs de text sur la console par exemple: -> kwrite nom de ton fichier.sh &
      cette commande permet en effet de creer le fichier (et je precise ça doit etre en format sh), et puis une fois ouvert, tu tape ça:

      ---> if( gcc monfichier.c =! false) monfichier.c ;

      Si cela ne marche pas essaye ça:

      d'abord compile le fichier : gcc monfichier.c,
      puis, sur le script; ecrit juste : monfichier.c

      une fois termine, pour executer le script, tu doit 'lexecuter ainsi : nom de ton fichier.sh

      et cela j'espere aboutira sur qqc.
      0
    3. @kouhou88merci kouhou,
      mon fichier est en c++: file.cpp, je vous ai dit que c'est une classe qt4,
      donc lors de la compilation, il trouve pas les include et il trouve pas les objets QT comme par exemple:
      <QSQLDatabase>.
      merci d'avance
      0
  2. Modérateur
    Salut,

    Tu devras peut être écrire ton programme en c++ et ensuite utiliser ce programme dans un script shell.
    0
    1. salut,
      wé c'est la deuxième question , comment écrire un programme script ,
      veuillez détailler SVP , merci
      0
  3. Modérateur
    0
    1. merci Lami
      mais c'est trop évident que j'ai regardé ça et d'autres avant de poster ma question,
      ma fonction que je souhaite l'exécuter contient l'accès à une base de données , une récupération de données, les afficher dans un fichier à créer.
      vous voyez la difficulté , c'est pour j'aurais préféré appeler directement ma méthode c++ de la classe qt4 .
      merci d'avance
      0
    2. Modérateur
      @saraRe,

      Ben, une fois le fichier créer tu peux l'exploiter avec un script shell.

      Donc tu compiles ton programme c++ qui va créer le fichier
      Tu mets le chemin de programme dans le script
      Il te restera à traiter le fichier créé par ton programme

      #!/bin/bash
      
      /chemin/vers/programme
      
      # ici tu continue le script pour exploiter le fichier
      0
    3. @lami20jre salut,
      oui mais
      mon fichier est en c++: file.cpp, je vous ai dit que c'est une classe qt4,
      donc lors de la compilation, il trouve pas les include et il trouve pas les objets QT comme par exemple:
      <QSQLDatabase>.
      merci d'avance
      0
    4. Modérateur
      @saraRe,

      En fait ton problème c'est une histoire de compilation.
      Le shell viendra plus tard.

      Alors peut être qu'il faudra nous montrer tes messages d'erreurs à la compilation pour essayer de depister les librairies qui manquent.
      0
    5. @lami20jre salut,
      ok, n'oubliez pas que je voudrais excéuter qu'une méthode du fichier

      voici des lignes des erreurs:

      debian:~/Desktop/iMaqaovliw17/src# gcc statwindowimpl.cpp
      In file included from statwindowimpl.cpp:1:
      statwindowimpl.h:4:19: error: QWidget: Aucun fichier ou dossier de ce type
      statwindowimpl.h:5:24: error: QTableWidget: Aucun fichier ou dossier de ce type
      statwindowimpl.h:6:27: error: ui_statwindow.h: Aucun fichier ou dossier de ce ty pe
      In file included from statwindowimpl.h:7,
      from statwindowimpl.cpp:1:
      mainwindowimpl.h:5:23: error: QMainWindow: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:6:21: error: QFileInfo: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:7:23: error: QMessageBox: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:8:23: error: QFileDialog: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:9:17: error: QFile: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:10:23: error: QVBoxLayout: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:11:22: error: QTabWidget: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:12:23: error: QScrollArea: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:13:23: error: QTextStream: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:14:24: error: QApplication: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:15:21: error: QTextEdit: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:18:32: error: Qsci/qsciscintilla.h: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:19:36: error: Qsci/qsciscintillabase.h: Aucun fichier ou dossie r de ce type
      mainwindowimpl.h:20:31: error: Qsci/qscilexercpp.h: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:21:31: error: Qsci/qscilexersql.h: Aucun fichier ou dossier de ce type
      mainwindowimpl.h:22:27: error: ui_mainwindow.h: Aucun fichier ou dossier de ce t ype
      In file included from mainwindowimpl.h:24,
      from statwindowimpl.h:7,
      from statwindowimpl.cpp:1:
      graphwidgetcg.h:5:17: error: QMenu: Aucun fichier ou dossier de ce type

      merci d avance
      0
  4. Modérateur
    Re,

    Je pense que tu devras utiliser g++ pour la compilation au lieu de gcc vu qu'il s'agit de C++
    0
    1. re salut
      oui, mais ça donne les memes erreurs , des includes à rajouter,
      au fait c'est pas ça le problème (quelles sont les includes à rajouter),
      le problème est :où mettre les includes .
      je pense que vous allez me dire, à l'entete, oui,
      après compilation réuddite , oui
      après j'ai l'executable, c'est ce que vous cherchez,
      mais mon fichier il contient pas un main, que je veux la lancer, non
      moi je veux exécuter seulement une méthode.
      merci d'avance
      0
  5. Modérateur
    Re,

    non
    moi je veux exécuter seulement une méthode.


    Ben, en ce cas tu ne peux pas.
    0
    1. merci pour votre temps,
      mais moi, j'en suis sure que je peux le faire
      à+
      0
  6. Modérateur
    Re,

    mais moi, j'en suis sure que je peux le faire
    Alors peut être que j'ai mal compris ou peut être tes explications ne sont pas claires.
    0