Accueil > > > [GTK+][WIN/GNULINUX]JEU D'ALLUMETTES
[GTK+][WIN/GNULINUX]JEU D'ALLUMETTES
Information sur la source
Description
J'ai commencé ya pas trop longtemps la prog avec gtk+.
Voici mon premier vrai prog avec, en fait, il s'agit d'un remake de mon jeu "allumettes" que j'avais fait tout d'abord en mode console
Le jeu est un jeu sympa de logique (les règles sont dans la section information du prog)
vous pouvez regler le niveau, etc...
Pour pouvoir utiliser le prog, il faut la lib suivante (pour win) :
http://www.bloodshed.net/dev/packages/bin/gtk-ru ntime.exe
si vous avez envie de compiler vous-meme ma source, rdv ici pour télécharger les packages developpements necessaires pour dev-c++ :
http://www.bloodshed.net/dev/packages/gtk.html
Source
- // début pour vous faire une idée (tout est inclus dans le zip)
-
- #include <stdlib.h>
- #include <stdio.h>
- #include <gtk/gtk.h>
-
- GtkWidget *win;
- GtkWidget *bigbox;
- GtkWidget *boxmenu;
- GtkWidget *gamebox;
- GtkWidget *leftframe;
- GtkWidget *rightframe;
- GtkWidget *grilledebut;
- GtkWidget *menu;
- GtkWidget *menu_nouveau, *menu_about, *menu_quitter;
- GtkWidget *optionbox;
- GtkWidget *jeubox;
-
- GtkWidget *labelniveau;
- GtkWidget *labelcommencer;
- GtkWidget *boutoncommencer;
- GtkWidget *boutonniv1, *boutonniv2, *boutonniv3, *commencerpc, *commencerhumain;
-
- GtkWidget *separateur;
-
- GtkWidget *gamelabel, *selectcaselabel, *selectnblabel;
- GtkWidget *bouttonvalider;
-
- GtkWidget *nbentry, *ligneentry;
-
- GtkWidget *boutonvalider;
-
- GtkWidget *infobox, *infolabel;
-
- GtkWidget *fin, *finlabel, *finbouton;
- GtkWidget *war, *warbouton, *warlabel;
-
- GtkWidget *scorelabel;
-
- char fintxt[60];
-
- int *etat;
- int niveau;
- char start;
- int mode;
- struct _joueur{
- int parties;
- int points;
- }joueur;
-
-
- void quitter(void);
- void nouveau_jeu(void);
- void about(void);
- void commencer(void);
- void jeu (int);
- int addition(int tabl[]);
- void humainjoue(void);
- void actualiseraff(void);
- void init_jeu(int, char);
- void pcjoue();
- void liberer();
- void destroy_fin(void);
- void warning(void);
- void warning_destroy(void);
-
-
- int main( int argc, char *argv[] ) {
-
- joueur.parties=0;
- joueur.points=0;
- mode=0;
- gtk_init (&argc, &argv);
-
- win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_container_set_border_width (GTK_CONTAINER (win), 5);
- gtk_window_set_title (GTK_WINDOW (win), "Gtk Allumettes v1.1");
- gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
- gtk_window_set_default_size(GTK_WINDOW(win), 300,100);
- g_signal_connect (win, "destroy", gtk_main_quit, NULL);
-
- bigbox=gtk_vbox_new(FALSE, 0);
- gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(bigbox));
- gtk_widget_show(bigbox);
-
- boxmenu=gtk_hbox_new(TRUE, 0);
- gtk_box_pack_start(GTK_BOX(bigbox), GTK_WIDGET(boxmenu), FALSE,FALSE, 0);
- gtk_widget_show(boxmenu);
-
- menu=gtk_menu_bar_new();
- gtk_box_pack_start(GTK_BOX(boxmenu), GTK_WIDGET(menu), TRUE,TRUE, 0);
- gtk_widget_show(menu);
-
- menu_nouveau=gtk_menu_item_new_with_label("Nouvelle partie ");
- menu_about=gtk_menu_item_new_with_label(" Informations ");
- menu_quitter=gtk_menu_item_new_with_label(" Quitter ! ");
-
- gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_nouveau);
- gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_about);
- gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_quitter);
-
- gtk_widget_show(menu_nouveau);
- gtk_widget_show(menu_about);
- gtk_widget_show(menu_quitter);
-
- g_signal_connect(G_OBJECT(menu_quitter), "activate", G_CALLBACK(quitter), NULL);
- g_signal_connect(G_OBJECT(menu_about), "activate", G_CALLBACK(about), NULL);
- g_signal_connect(G_OBJECT(menu_nouveau), "activate", G_CALLBACK(nouveau_jeu), NULL);
-
- gtk_widget_show(win);
- gtk_main ();
- return 0;
- }
-
- void quitter(void){
- liberer();
- free(etat);
- gtk_main_quit();
- }
- void nouveau_jeu(void){
- liberer();
- mode=1;
- optionbox=gtk_hbox_new(TRUE, 5);
- leftframe=gtk_vbox_new(FALSE, 5);
- rightframe=gtk_vbox_new(FALSE, 5);
- gtk_widget_show(optionbox);
- gtk_widget_show(leftframe);
- gtk_widget_show(rightframe);
- gtk_box_pack_start(GTK_BOX(optionbox), GTK_WIDGET(leftframe), TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(optionbox), GTK_WIDGET(rightframe), TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(bigbox), GTK_WIDGET(optionbox), TRUE, TRUE, 0);
-
- labelniveau=gtk_label_new("Veuillez selectionner un niveau");
- labelcommencer=gtk_label_new("Veuillez dire qui va commencer");
- gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(labelniveau), FALSE, FALSE, 5);
- gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(labelcommencer), FALSE, FALSE, 5);
- gtk_widget_show(labelniveau);
- gtk_widget_show(labelcommencer);
-
- boutonniv1=gtk_radio_button_new_with_label(NULL, "niveau 1 : super facile");
- boutonniv2=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(boutonniv1), "niveau 2 : moyen ");
- boutonniv3=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(boutonniv2), "niveau 3 : dur ");
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(boutonniv2),TRUE );
- gtk_widget_show(boutonniv1);
- gtk_widget_show(boutonniv2);
- gtk_widget_show(boutonniv3);
- gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv1), FALSE, FALSE, 5);
- gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv2), FALSE, FALSE, 1);
- gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv3), FALSE, FALSE, 1);
-
- separateur=gtk_hseparator_new();
- gtk_widget_show(separateur);
- gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(separateur), TRUE, TRUE, 0);
-
- boutoncommencer=gtk_button_new_with_label("Commencer !");
- gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutoncommencer), TRUE, TRUE, 2);
- gtk_widget_show(boutoncommencer);
- g_signal_connect(G_OBJECT(boutoncommencer), "clicked", G_CALLBACK(commencer), NULL);
-
- commencerpc=gtk_radio_button_new_with_label(NULL, "c'est le pc");
- commencerhumain=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(commencerpc), "c'est vous");
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(commencerhumain),TRUE );
- gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(commencerpc), FALSE, FALSE, 2);
- gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(commencerhumain), FALSE, FALSE, 2);
- gtk_widget_show(commencerpc);
- gtk_widget_show(commencerhumain);
- separateur=gtk_hseparator_new();
- gtk_widget_show(separateur);
- gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(separateur), TRUE, TRUE, 0);
-
-
- //GtkWidget *boutoncommecner;
- //GtkWidget *boutonniv1, *boutonniv2, boutonniv3, *commencerpc, *commencerhumain;
- }
- void about(void){
- liberer();
- mode=3;
- infobox=gtk_vbox_new(TRUE, 5);
- gtk_box_pack_start(GTK_BOX(bigbox), infobox, TRUE, TRUE, 5);
-
- gtk_widget_show(infobox);
- infolabel=gtk_label_new(" licence gpl \n vous etes libre de copier, modifier, redistribuer la \nprogramme modifie ou tel quel suivant les termes de la gpl \n \n Regle du jeu allumettes : \n \nVous pouvez retirer autant d'allumettes que \nvos voulez sur une seule et meme ligne\nCelui qui prend la derniere a perdu\nBonne chance !\n \nPoints : \nniveau 1 : 1point\nniveau 2 : 4points\nniveau 3 : 9 points.");
- gtk_box_pack_start(GTK_BOX(infobox), infolabel, TRUE, TRUE, 5);
- gtk_widget_show(infolabel);
- return;
-
- }
- void commencer(void){
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(commencerpc)))
- start='n';
- else
- start='o';
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(boutonniv1))){
- niveau=1;
- }else {
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(boutonniv2)))
- niveau=2;
- else
- niveau=3;
- }
-
- liberer();
-
- etat=(int *)malloc(sizeof(int)*5);
- *etat=1;
- *(etat+1)=2;
- *(etat+2)=3;
- *(etat+3)=5;
- *(etat+4)=8;
// début pour vous faire une idée (tout est inclus dans le zip)
#include <stdlib.h>
#include <stdio.h>
#include <gtk/gtk.h>
GtkWidget *win;
GtkWidget *bigbox;
GtkWidget *boxmenu;
GtkWidget *gamebox;
GtkWidget *leftframe;
GtkWidget *rightframe;
GtkWidget *grilledebut;
GtkWidget *menu;
GtkWidget *menu_nouveau, *menu_about, *menu_quitter;
GtkWidget *optionbox;
GtkWidget *jeubox;
GtkWidget *labelniveau;
GtkWidget *labelcommencer;
GtkWidget *boutoncommencer;
GtkWidget *boutonniv1, *boutonniv2, *boutonniv3, *commencerpc, *commencerhumain;
GtkWidget *separateur;
GtkWidget *gamelabel, *selectcaselabel, *selectnblabel;
GtkWidget *bouttonvalider;
GtkWidget *nbentry, *ligneentry;
GtkWidget *boutonvalider;
GtkWidget *infobox, *infolabel;
GtkWidget *fin, *finlabel, *finbouton;
GtkWidget *war, *warbouton, *warlabel;
GtkWidget *scorelabel;
char fintxt[60];
int *etat;
int niveau;
char start;
int mode;
struct _joueur{
int parties;
int points;
}joueur;
void quitter(void);
void nouveau_jeu(void);
void about(void);
void commencer(void);
void jeu (int);
int addition(int tabl[]);
void humainjoue(void);
void actualiseraff(void);
void init_jeu(int, char);
void pcjoue();
void liberer();
void destroy_fin(void);
void warning(void);
void warning_destroy(void);
int main( int argc, char *argv[] ) {
joueur.parties=0;
joueur.points=0;
mode=0;
gtk_init (&argc, &argv);
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (win), 5);
gtk_window_set_title (GTK_WINDOW (win), "Gtk Allumettes v1.1");
gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(win), 300,100);
g_signal_connect (win, "destroy", gtk_main_quit, NULL);
bigbox=gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(bigbox));
gtk_widget_show(bigbox);
boxmenu=gtk_hbox_new(TRUE, 0);
gtk_box_pack_start(GTK_BOX(bigbox), GTK_WIDGET(boxmenu), FALSE,FALSE, 0);
gtk_widget_show(boxmenu);
menu=gtk_menu_bar_new();
gtk_box_pack_start(GTK_BOX(boxmenu), GTK_WIDGET(menu), TRUE,TRUE, 0);
gtk_widget_show(menu);
menu_nouveau=gtk_menu_item_new_with_label("Nouvelle partie ");
menu_about=gtk_menu_item_new_with_label(" Informations ");
menu_quitter=gtk_menu_item_new_with_label(" Quitter ! ");
gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_nouveau);
gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_about);
gtk_menu_bar_append (GTK_MENU_BAR (menu), menu_quitter);
gtk_widget_show(menu_nouveau);
gtk_widget_show(menu_about);
gtk_widget_show(menu_quitter);
g_signal_connect(G_OBJECT(menu_quitter), "activate", G_CALLBACK(quitter), NULL);
g_signal_connect(G_OBJECT(menu_about), "activate", G_CALLBACK(about), NULL);
g_signal_connect(G_OBJECT(menu_nouveau), "activate", G_CALLBACK(nouveau_jeu), NULL);
gtk_widget_show(win);
gtk_main ();
return 0;
}
void quitter(void){
liberer();
free(etat);
gtk_main_quit();
}
void nouveau_jeu(void){
liberer();
mode=1;
optionbox=gtk_hbox_new(TRUE, 5);
leftframe=gtk_vbox_new(FALSE, 5);
rightframe=gtk_vbox_new(FALSE, 5);
gtk_widget_show(optionbox);
gtk_widget_show(leftframe);
gtk_widget_show(rightframe);
gtk_box_pack_start(GTK_BOX(optionbox), GTK_WIDGET(leftframe), TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(optionbox), GTK_WIDGET(rightframe), TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(bigbox), GTK_WIDGET(optionbox), TRUE, TRUE, 0);
labelniveau=gtk_label_new("Veuillez selectionner un niveau");
labelcommencer=gtk_label_new("Veuillez dire qui va commencer");
gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(labelniveau), FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(labelcommencer), FALSE, FALSE, 5);
gtk_widget_show(labelniveau);
gtk_widget_show(labelcommencer);
boutonniv1=gtk_radio_button_new_with_label(NULL, "niveau 1 : super facile");
boutonniv2=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(boutonniv1), "niveau 2 : moyen ");
boutonniv3=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(boutonniv2), "niveau 3 : dur ");
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(boutonniv2),TRUE );
gtk_widget_show(boutonniv1);
gtk_widget_show(boutonniv2);
gtk_widget_show(boutonniv3);
gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv1), FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv2), FALSE, FALSE, 1);
gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutonniv3), FALSE, FALSE, 1);
separateur=gtk_hseparator_new();
gtk_widget_show(separateur);
gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(separateur), TRUE, TRUE, 0);
boutoncommencer=gtk_button_new_with_label("Commencer !");
gtk_box_pack_start(GTK_BOX(leftframe), GTK_WIDGET(boutoncommencer), TRUE, TRUE, 2);
gtk_widget_show(boutoncommencer);
g_signal_connect(G_OBJECT(boutoncommencer), "clicked", G_CALLBACK(commencer), NULL);
commencerpc=gtk_radio_button_new_with_label(NULL, "c'est le pc");
commencerhumain=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(commencerpc), "c'est vous");
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(commencerhumain),TRUE );
gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(commencerpc), FALSE, FALSE, 2);
gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(commencerhumain), FALSE, FALSE, 2);
gtk_widget_show(commencerpc);
gtk_widget_show(commencerhumain);
separateur=gtk_hseparator_new();
gtk_widget_show(separateur);
gtk_box_pack_start(GTK_BOX(rightframe), GTK_WIDGET(separateur), TRUE, TRUE, 0);
//GtkWidget *boutoncommecner;
//GtkWidget *boutonniv1, *boutonniv2, boutonniv3, *commencerpc, *commencerhumain;
}
void about(void){
liberer();
mode=3;
infobox=gtk_vbox_new(TRUE, 5);
gtk_box_pack_start(GTK_BOX(bigbox), infobox, TRUE, TRUE, 5);
gtk_widget_show(infobox);
infolabel=gtk_label_new(" licence gpl \n vous etes libre de copier, modifier, redistribuer la \nprogramme modifie ou tel quel suivant les termes de la gpl \n \n Regle du jeu allumettes : \n \nVous pouvez retirer autant d'allumettes que \nvos voulez sur une seule et meme ligne\nCelui qui prend la derniere a perdu\nBonne chance !\n \nPoints : \nniveau 1 : 1point\nniveau 2 : 4points\nniveau 3 : 9 points.");
gtk_box_pack_start(GTK_BOX(infobox), infolabel, TRUE, TRUE, 5);
gtk_widget_show(infolabel);
return;
}
void commencer(void){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(commencerpc)))
start='n';
else
start='o';
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(boutonniv1))){
niveau=1;
}else {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(boutonniv2)))
niveau=2;
else
niveau=3;
}
liberer();
etat=(int *)malloc(sizeof(int)*5);
*etat=1;
*(etat+1)=2;
*(etat+2)=3;
*(etat+3)=5;
*(etat+4)=8;
Conclusion
Licence gpl (www.gnu.org)
J'attend vos commentaires ;)
Historique
- 12 octobre 2005 00:44:43 :
- corrections mineures
- 05 février 2008 13:37:41 :
- modification mineure
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
minimax-jeu des allumettes [ par Masshysteria63 ]
Je suis en train de programmer le jeu des allumettes et il me reste à régler le problème intellige
jeu d'allumettes en C [ par irfa ]
bonjour , je dois rendre un projet en C sur le jeu d'allumettes et comme je suis nulle en C je n'y arrive pas vraiment surtout sur ,le fait de
affichage graphique jeu des allumettes [ par Masshysteria63 ]
Je suis en train de programmer le jeu des allumettes, identique à celui de fort boyard) et je ne vois pas comment faire pour la
Jeu à la Worms [ par norton ]
Hello, j'aimerai essayer de coder un petit jeu à la worms mais je sais pas vraimment comment m'y prendre avec la map. Si vous avez des idées
Simulation clavier mode graphique? [ par Smerek ]
Bonjour a tous, je cherche désespérément comment simuler le clavier sur un jeu.Mon but est qu en lancant mon programme, le jeu se lance
[vc++]bug d'une boite de dialogue [ par shadow1779 ]
Bonsoir,je suis en train de retaper tout mes prog avec les API, et je m'attaque a mon logiciel pour modifier des settings de server de jeu, j'ai fais
lancement executable avec attribut [ par shadow1779 ]
Bonjour,j'essai de faire un launcher de jeu, afin que quand la personne rentre son ip et son port cela lui lance l'executable du jeu avec les attrib n
faire mentir l'ordi en c++ pendant un jeu de dés [ par chacamos ]
Slt tout le monde Je suis débutant G écrit le code ci-dessous L'ordi est censé annoncé un score supérieur au précédent qd le sien est plus petit (Les
le jeu des dominos en langage c [ par Ahmed_day ]
Bonjour,Voilà je débute en programmation et je dois rendre un projet qui consiste à réaliser un jeu de dominos en langage c..
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|