Angelfire54 | Bonjour à tous
J'ai un problème qui commence sérieusement à m'énerver.
Je réalise actuellement un projet qui sert à modifier le thème usplash sur unix. Donc j'ai besoin d'une structure de type Thème.
Je vous mets ce que j'ai réalisé pour le moment.
Le .h :
Code :
- #ifndef DEF_FONCTIONS
- #define DEF_FONCTIONS
- #include<stdio.h>
- #include<stdlib.h>
- #include <string.h>
- struct Theme{
- char* nom;
- char* cheminAcces;
- char* cheminImage;
- };
- typedef struct Theme Theme;
- Theme creerTheme(char* nomT, char* cheminT, char* cheminImageT);
- void ajouterTheme(char* nomT, char* cheminT, char* cheminImageT, FILE* f);
- void supprimerTheme(Theme th, FILE* f);
- void chargerConfig(Theme* theme, FILE* f);
- void installerTheme(Theme th);
- void valider();
- void afficherMiniature(Theme th);
- #endif // FONCTIONS_H_INCLUDED
|
Fonctions.c
Code :
- #include "fonctions.h"
- #include <process.h>
- Theme creerTheme(char* nomT, char* cheminT, char* cheminImageT) {
- Theme th;
- th.nom = nomT;
- th.cheminAcces = cheminT;
- th.cheminImage = cheminImageT;
- return th;
- }
- void ajouterTheme(char* nomT, char* cheminT, char* cheminImageT, FILE* f) {
- Theme th = creerTheme(nomT, cheminT, cheminImageT);
- f = fopen("Theme.txt","ab" );
- fwrite(&th,sizeof(Theme),1,f);
- fclose(f);
- }
- void chargerConfig(Theme* theme, FILE* f) {
- int t, i = 0;
- Theme th;
- f = fopen("Theme.txt","rb" );
- while (i < 30) {
- fseek(f,i*sizeof(Theme),SEEK_SET);
- t = fread (&th,sizeof(Theme),1,f);
- if (t != 0) {
- theme[i] = th;
- } else {
- break;
- }
- theme ++;
- i++;
- }
- fclose(f);
- }
- void supprimerTheme(Theme th, FILE* f) {
- }
- void installerTheme(Theme th) {
- system ( "sudo cp \"/home/utoto/chemin_vers_theme/mon_theme.so\" /usr/lib/usplash/" ) ;
- system ( "sudo update-alternatives --install /usr/lib/usplash/usplash-artwork.so usplash-artwork.so \"/usr/lib/usplash/mon_theme.so\" 10" ) ;
- system ( "sudo update-alternatives --config usplash-artwork.so" ) ;
- system ( "sudo update-initramfs -u" ) ;
- }
- void valider() {
- printf("Vous avez réalisé l'option avec succès !" );
- //on ferme la fenetre
- }
- void afficherMiniature(Theme th) {
- //on affiche une miniature du theme a installer
- }
|
Main.c
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #include "fonctions.h"
- int main()
- {
- int choix;
- FILE* fichier;
- Theme theme[30];
- chargerConfig(theme, fichier);
- Theme th;
- char* nom = "Marrant";
- char* cheminA = "C:\\Programmes\\";
- char* cheminImageA = "C:/Programmes/Images";
- printf("\t\tMenu, veuillez choisir une option\n\n1) Fonction ajouter un theme\n2) Fonction supprimer un theme\n3) Fonction installer un theme\n4) Fonction valider\n5) Fonction afficher miniature theme\n" );
- scanf("%ld", &choix);
- switch(choix) {
- case 1:
- ajouterTheme(nom, cheminA, cheminImageA, fichier);
- break;
- case 2:
- supprimerTheme(th, fichier);
- break;
- case 3:
- installerTheme(th);
- break;
- case 4:
- valider();
- break;
- case 5:
- afficherMiniature(th);
- break;
- default:
- printf("Votre choix n'est pas valide..." );
- }
- return (0);
- }
|
Je vous avoue que j'ai vraiment besoin d'aide
|