int stegout(char* image_source, char* destDossier) { Image image; Texte texte; int erreur; if((erreur=lireImage(image_source,&image))!=0) return erreur; extraire(image,&texte); if((erreur=ecrireTexte(texte,destDossier))!=0) return erreur; return 0; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { this->showMaximized(); // Création de l'interface graphique ui->setupUi(this); // Création du menu Fichier, avec les options Enregistrer, Extraire et Charger Image ui->menuFile->addAction("Charger Image",this,SLOT(charger())); ui->menuFile->addAction("Enregistrer",this,SLOT(enregistrer())); ui->menuFile->addAction("Extraire",this,SLOT(extraire())); //Cache les fenètres de selections ui->fenetreAscenceur->hide(); ui->fenetreCouloir->hide(); ui->fenetreCreLiaison->hide(); ui->fenetreDefEchelle->hide(); ui->fenetreEntreeSortie->hide(); ui->fenetreEscalier->hide(); ui->fenetrePorte->hide(); ui->fenetreQrCode->hide(); ui->fenetreSalle->hide(); ui->fenetreToilette->hide(); // Création du groupe qui permet de rendre active une seule des actions (un seul bouton enfoncé) QActionGroup* group = new QActionGroup(this); group->setExclusive(true); group->addAction(ui->actionAssenceur); group->addAction(ui->actionCouloir); group->addAction(ui->actionD_finir_chelle); group->addAction(ui->actionEntr_e_Sortie); group->addAction(ui->actionEscalier); group->addAction(ui->actionLiaison); group->addAction(ui->actionPorte); group->addAction(ui->actionQr_Code); group->addAction(ui->actionSalle); group->addAction(ui->actionS_lection); group->addAction(ui->actionWC); // Rend les boutons enfonçables( un click -> enfoncé, autres click -> désenfoncé) ui->actionAssenceur->setCheckable(true); ui->actionCouloir->setCheckable(true); ui->actionD_finir_chelle->setCheckable(true); ui->actionEntr_e_Sortie->setCheckable(true); ui->actionEscalier->setCheckable(true); ui->actionLiaison->setCheckable(true); ui->actionPorte->setCheckable(true); ui->actionQr_Code->setCheckable(true); ui->actionSalle->setCheckable(true); ui->actionS_lection->setCheckable(true); ui->actionWC->setCheckable(true); //Connection des boutons à leurs action connect(ui->actionD_finir_chelle, SIGNAL(triggered()),this,SLOT(definirEchelle())); connect(ui->actionEntr_e_Sortie, SIGNAL(triggered()),this,SLOT(definirEntreeSortie())); connect(ui->actionEscalier, SIGNAL(triggered()),this,SLOT(definirEscalier())); connect(ui->actionAssenceur, SIGNAL(triggered()),this,SLOT(definirAssenceur())); connect(ui->actionCouloir, SIGNAL(triggered()),this,SLOT(definirCouloir())); connect(ui->actionSalle, SIGNAL(triggered()),this,SLOT(definirSalle())); connect(ui->actionPorte, SIGNAL(triggered()),this,SLOT(definirPorte())); connect(ui->actionLiaison, SIGNAL(triggered()),this,SLOT(definirLiaison())); connect(ui->actionQr_Code, SIGNAL(triggered()),this,SLOT(definirPosQrcode())); connect(ui->actionS_lection, SIGNAL(triggered()),this,SLOT(definirSelection())); connect(ui->actionWC, SIGNAL(triggered()),this,SLOT(definirWc())); }
int main(int argc, char *argv[]) { int optch; extern int opterr; char format[] = "hvctruxfzdsm"; bool verbose = false; opterr = 1; //boucle qui traite les options while ((optch = getopt(argc, argv, format)) != -1) switch (optch) { case 'h': printf ("Aide :\n"); printf ("Lister : taar -t fichierTAR\n"); printf ("Extraire : taar -x fichierTAR cheminDeSortie\n"); printf ("Compresser : taar -z fichierTAR\n"); break; case 'v': printf ("Paramètre v recontré : mode verbose\n"); verbose = true; break; case 'c': printf ("Paramètre c recontré : creer une archive à partir d'une liste de fichiers (et de repertoires)\n"); printf ("Non implémenté\n"); break; case 't': printf ("Paramètre t recontré : lister les fichiers (et repertoires) contenus dans une archive\n"); lister(argv[2]); break; case 'r': printf ("Paramètre r recontré : ajouter de nouveaux fichiers (ou repertoires) à une archive existante\n"); printf ("Non implémenté\n"); break; case 'u': printf ("Paramètre u recontré : pour mettre à jour l'archive si les fichiers listes sont plus recents que ceux archives\n"); printf ("Non implémenté\n"); break; case 'x': printf ("Paramètre x recontré : pour extraire les fichiers de l'archive\n"); extraire(argv[2], argv[3]); break; case 'f': printf ("Paramètre f recontré : pour indiquer le nom du fichier archive, sinon tar utilise l'entree et la sortie standard avec les options precedentes\n"); break; case 'z': printf ("Paramètre z recontré : pour compresser le fichier d'archive (en utilisant gzip)\n"); compresser(argv[2]); break; case 'd': printf ("Paramètre d recontré : pour supprimer un fichier d'une archive\n"); printf ("Non implémenté\n"); break; case 's': printf ("Paramètre s recontré\nAvec 'parse' : pour economiser de la place pour stocker les fichier contenant beaucoup de zeros consecutifs (sparse file)"); printf ("Non implémenté\n"); break; case 'm': printf ("Paramètre m recontré : pour afficher les differences entre les fichiers archives et les fichiers existants en utilisant la commande Unix 'diff'\n"); printf ("Non implémenté\n"); break; } }