Accueil > Forum > > > > Lecture et écriture sur plusieurs fichiers de données en mode séquentiel
Lecture et écriture sur plusieurs fichiers de données en mode séquentiel
vendredi 16 octobre 2009 à 05:34:40 |
Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

Smanyx
|
Salut à tous,
J'ai un problème pour lequel je désire votre aide. Voilà, il me faut écrire un program qui lit 3 fichiers de donnés:
employees.txt qui contient les rubriques suivantes: no_emp, nom, taux
Contenu:
001 John 19.75325
002 Nacha 17.60125
003 Mark 18.12356
004 Alain 20.82431
005 Solange 16.25634
Wk13102009.txt : avec no_emp, jour1, jour2, jour3,jour4, jour5
Contenu:
001 9 9 9 10 9
002 9 9 8 8 9
003 9 9 9 9 9
004 7 8 8 9 9
005 9 9 9 9 9
GeneralPay.txt : no_emp, paie_cumulee, taxe_cumulee, a_deduct_cumulee
(les montants sont du type float avec 6 positions après la virgule)
Contenu:
001 114563.367188 38200.050781 12115.719727
002 99397.281250 29632.150391 7111.390137
003 103297.453125 30184.080078 10095.730469
004 120938.453125 41424.019531 14081.179688
005 90438.250000 21437.169922 5678.950195
Et après traitement des donnés, crée un quatrième fichier PaieSemaineCourante.txt, écrit les rubriques nécessaires et mets à jour le fichier GeneralPay.txt
Le mode d'accès à tous les fichiers est séquentiel.
Veuillez, s'il vous plait, en m'aidant considérer que mon niveau en programmation est encore de débutant.
Toutefois, j'ai pu écrire le programme que je soumets ci-dessous, mais il ne semble pas tourner correctement. Les données résultant de l'éxécution sont erronées, donc contraire à celles escomptées et l'écrire sur les fichiers ressemble plutôt à du charabia :)...
Après éxécution, je reçois le message d'erreur suivant: "Run-Time Check Failure #2 - Stack around the variable "no_emp" was corrupted"
Qu'est-ce que cela veut dire?
Aussi, si vous pouvez me pointer sur la bonne direction concernant de la documentation sur le sujet pour que j'approfondisse mes connaissances. Merci à tous.
Code C/C++ : /*Lire trois fichiers de données et écrire sur un quatrième fichier*/
#include<stdio.h>
#include<stdlib.h>
float paie(char*, float, float); /* function prototype */
int main(void)
{
char no_emp[4], nom[11];
int jour1, jour2, jour3, jour4, jour5;
float taux, salaire_brut, taxe, a_deduct, salaire_net, paie_cumulee, taxe_cumulee, a_deduct_cumulee, nbr_heures;
FILE *fp1, *fp2, *fp3, *fp4;
/*
fp1 = fopen ("employees.txt")
fp2 = fopen ("GeneralPay.txt")
fp3 = fopen ("Wk11102009.txt")
fp4 = fopen ("PaieSemaineCourante.txt")
*/
/* fopen ouvre le fichier. Exit le pgm en cas de problème */
if ((fp3 = fopen("Wk13102009.txt", "r")) == NULL)
{
printf("\n\tImpossible de lire Wk13102009.txt\n");
}
else
{
if ((fp1 = fopen("employees.txt", "r")) == NULL)
{
printf("\n\tImpossible de lire employees.txt\n");
}
else
{
if ((fp2 = fopen("GeneralPay.txt", "r+")) == NULL)
{
printf("\n\tImpossible de lire GeneralPay.txt\n");
}
else
{
if ((fp4 = fopen("PaieSemaineCourante.txt", "a")) == NULL)
{
printf("\n\tImpossible de lire PaieSemaineCourante.txt.txt.\n");
}
else
{
while (!feof(fp3))
{
fscanf(fp3, "%s%d%d%d%d%d", no_emp, &jour1, &jour2, &jour3, &jour4, &jour5);
fscanf(fp1, "%s%s%f", no_emp, nom, &taux);
fscanf(fp2, "%s%f%f%f", no_emp, &paie_cumulee, &taxe_cumulee, &a_deduct_cumulee );
nbr_heures = jour1 + jour2 + jour3 + jour4 + jour5;
salaire_brut = paie( no_emp, nbr_heures, taux);
taxe = salaire_brut * 0.30;
a_deduct = salaire_brut * 0.08;
salaire_net = salaire_brut - taxe - a_deduct;
//mise à jour des donnes cumulées dans GeneralPay.txt
paie_cumulee += salaire_net;
taxe_cumulee += taxe;
a_deduct_cumulee += a_deduct;
//écrire une ligne dans le fichier PaieSemaineCourante.txt
fprintf(fp4, "%s %s %.5f %2d %.5f %.2f %.2f %.2f%.2f\n", no_emp, nom, taux,
nbr_heures, salaire_brut, salaire_net, paie_cumulee, taxe_cumulee, a_deduct_cumulee);
//écrire une ligne GeneralPay.txt
fprintf(fp2, "%s%.2f %.2f %.2f\n", no_emp, paie_cumulee, taxe_cumulee, a_deduct_cumulee);
//remise des variables à zéro
nbr_heures = 0;
salaire_brut = 0;
taxe = 0;
a_deduct = 0;
salaire_net = 0;
}//fin de la boucle while
fclose(fp2);
fclose(fp1);
fclose(fp4);
}
}
fclose(fp3);
}
}
printf("Program terminé sans normalement !\n\n\n");
system("pause");
return 0;
}
float paie( char *no_empo, float nbr_heures, float taux)
{
float s_brut;
s_brut = nbr_heures * taux;
return (s_brut);
}
No worries, i'll get there...
|
|
mardi 20 octobre 2009 à 13:35:02 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

victorcoasne
|
Bonjour,
En mode debug ton projet plante où ?
Petite remarque : Il serait mieux de mettre tout la récupération / conversion dans une fonction afin de pouvoir quitter la fonction en cas d'erreur avec un return.
En effet il y a trop d'imbrications de if ce qui rend le code illisible.
Par exemple :
Code C/C++ :
if ((fp3 = fopen("Wk13102009.txt", "r")) == NULL)
{
printf("\n\tImpossible de lire Wk13102009.txt\n");
}
else
{
[...]
}
Peut être remplacé par :
Code C/C++ :
fp3 = fopen("Wk13102009.txt", "r");
if (fp3 == NULL)
{
printf("\n\tImpossible de lire Wk13102009.txt\n");
return false;
}
[...]
return true;
Merci et bonne prog,
@++
Victor
|
|
mardi 20 octobre 2009 à 22:29:20 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

victorcoasne
|
Bonjour,
Je viens de compiler ton code avec le GCC de Dev-C++ et j'obtient le fichier suivant (sans erreur d'execution) :
Code : 001 John 19.75325 0 2.00000 -26815622308011076000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00 -0.00 -0.00-2.00
7111.390137 Nacha 17.60125 0 -0.00000 2.00 2.00 0.002.00
.019531 Mark 18.12356 0 2.00000 26815622306875914000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00 -26815622303019266000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00 -2.00-26815622296621845000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00
004 Alain 20.82431 0 -2.00000 0.00 2.00 -26815622333425424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00-2.00
1 Solange 16.25634 0 2.00000 -0.00 -2.00 -0.002.00
Merci et bonne prog,
@++
Victor
|
|
mercredi 21 octobre 2009 à 00:50:19 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

Smanyx
|
Merci Victor pour ton intervention. Je prends en compte la remarque sur l'imbrication du code. D'autre part, le fichier généré est visiblement corrompu(j'obtiens moi aussi le même fichier en sortie). Au regard des fichiers en entrée, qu'est ce qui peut être la cause du dérapage?
Smanyx
|
|
mercredi 21 octobre 2009 à 13:27:02 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

victorcoasne
|
Bonjour,
J'ai remarqué que ta fonction paie ne fait rien et prend un paramètre qui ne sert à rien.
Je te propose de la virer et de remplacer :
Code C/C++ : paie( no_emp, nbr_heures, taux);
Par ça :
Code C/C++ :
Merci et bonne prog,
@++
Victor
|
|
mercredi 21 octobre 2009 à 13:32:01 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

Cyr62110
|
Voici la solution pour retrouver la lecture des données :
fscanf(fp3, "%s%d%d%d%d%d", no_emp, &jour1, &jour2, &jour3, &jour4, &jour5);
fscanf(fp1, "%s%s%f", no_emp, nom, &taux);
fflush(fp2); //Vide le buffer
fscanf(fp2, "%s%f", no_emp, &paie_cumulee, &taxe_cumulee, &a_deduct_cumulee );
Bye
|
|
mercredi 21 octobre 2009 à 13:43:17 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

victorcoasne
|
Bonjour,
Le programme lit dans tes fichiers les lignes suivantes :
Code : NO_EMP : 001 NOM : John JOUR1 : 9 JOUR2 : 9 JOUR3 : 9 JOUR4 : 10 JOUR5 : 9 PAIE_CUMULEE : 114563.367188 TAUX : 19.753250 TAXE_CUMULEE : 38200.050781 A_DEDUCT_CUMULEE : 12115.719727
NO_EMP : 002 NOM : Nacha JOUR1 : 9 JOUR2 : 9 JOUR3 : 8 JOUR4 : 8 JOUR5 : 9 PAIE_CUMULEE : 99397.281250 TAUX : 17.601250 TAXE_CUMULEE : 29632.150391 A_DEDUCT_CUMULEE : 7111.390137
NO_EMP : 003 NOM : Mark JOUR1 : 9 JOUR2 : 9 JOUR3 : 9 JOUR4 : 9 JOUR5 : 9 PAIE_CUMULEE : 103297.453125 TAUX : 18.123560 TAXE_CUMULEE : 30184.080078 A_DEDUCT_CUMULEE : 10095.730469
NO_EMP : 004 NOM : Alain JOUR1 : 7 JOUR2 : 8 JOUR3 : 8 JOUR4 : 9 JOUR5 : 9 PAIE_CUMULEE : 120938.453125 TAUX : 20.824310 TAXE_CUMULEE : 41424.019531 A_DEDUCT_CUMULEE : 14081.179688
NO_EMP : 005 NOM : Solange JOUR1 : 9 JOUR2 : 9 JOUR3 : 9 JOUR4 : 9 JOUR5 : 9 PAIE_CUMULEE : 90438.250000 TAUX : 16.256340 TAXE_CUMULEE : 21437.169922 A_DEDUCT_CUMULEE : 5678.950195
Si c'est bien ce qu'il doit lire il y a sûrement une erreur de traitement par la suite.
Astuce : Quand ça ne marche pas toujours tester par petit bout et passer à la suite si c'est bon.
Merci et bonne prog,
@++
Victor
|
|
mercredi 21 octobre 2009 à 13:55:54 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

victorcoasne
|
Bonjour,
Voici le résultat des calculs suivi des nouvelles valeurs pour GeneralPay.txt :
Code : NO_EMP : 001 NBR_HEURES : 46.000000 SALAIRE_BRUT : 908.649536 TAXE : 272.594849 A_DEDUCT : 72.691963 SALAIRE_NET : 563.362732
GENERALPAY - PAIE_CUMULEE : 115126.726563 TAXE_CUMULEE: 38472.644531 A_DEDUCT_CUMULEE : 12188.412109
NO_EMP : 002 NBR_HEURES : 43.000000 SALAIRE_BRUT : 756.853760 TAXE : 227.056122 A_DEDUCT : 60.548302 SALAIRE_NET : 469.249329
GENERALPAY - PAIE_CUMULEE : 99866.531250 TAXE_CUMULEE: 29859.207031 A_DEDUCT_CUMULEE : 7171.938477
NO_EMP : 003 NBR_HEURES : 45.000000 SALAIRE_BRUT : 815.560181 TAXE : 244.668060 A_DEDUCT : 65.244812 SALAIRE_NET : 505.647308
GENERALPAY - PAIE_CUMULEE : 103803.101563 TAXE_CUMULEE: 30428.748047 A_DEDUCT_CUMULEE : 10160.975586
NO_EMP : 004 NBR_HEURES : 41.000000 SALAIRE_BRUT : 853.796753 TAXE : 256.139038 A_DEDUCT : 68.303741 SALAIRE_NET : 529.354004
GENERALPAY - PAIE_CUMULEE : 121467.804688 TAXE_CUMULEE: 41680.160156 A_DEDUCT_CUMULEE : 14149.483398
NO_EMP : 005 NBR_HEURES : 45.000000 SALAIRE_BRUT : 731.535278 TAXE : 219.460587 A_DEDUCT : 58.522823 SALAIRE_NET : 453.551880
GENERALPAY - PAIE_CUMULEE : 90891.804688 TAXE_CUMULEE: 21656.630859 A_DEDUCT_CUMULEE : 5737.473145
Est-ce que les valeurs sont bonnes ? (j'ai la flemme de calculer)
Merci et bonne prog,
@++
Victor
|
|
mercredi 21 octobre 2009 à 14:01:15 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

victorcoasne
|
Réponse acceptée !
Bonjour,
Afin que tu résolve le problème je te propose le code suivant :
Code C/C++ : #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DEBUG 1
bool convertir()
{
// Déclaration des variables
char no_emp1[3+1], no_emp2[3+1], no_emp3[3+1], nom[10+1];
int jour1, jour2, jour3, jour4, jour5;
float taux, salaire_brut, taxe, a_deduct, salaire_net, paie_cumulee,
taxe_cumulee, a_deduct_cumulee, nbr_heures;
FILE *fichierEmployees, *fichierGeneralPay, *fichierWk, *fichierSortie;
// Ouverture des fichiers
fichierWk = fopen("Wk13102009.txt", "r");
if (fichierWk == NULL)
{
printf("\n\tImpossible de lire Wk13102009.txt\n");
return false;
}
fichierEmployees = fopen("employees.txt", "r");
if (fichierEmployees == NULL)
{
printf("\n\tImpossible de lire employees.txt\n");
return false;
}
fichierGeneralPay = fopen("GeneralPay.txt", "r+");
if (fichierGeneralPay == NULL)
{
printf("\n\tImpossible de lire GeneralPay.txt\n");
return false;
}
fichierSortie = fopen("PaieSemaineCourante.txt", "a");
if (fichierSortie == NULL)
{
printf(
"\n\tImpossible de lire PaieSemaineCourante.txt.txt.\n");
return false;
}
// Lecture et traitements des fichiers
while (!feof(fichierWk))
{
// Récupération des données
fscanf(fichierWk, "%s%d%d%d%d%d", no_emp1, &jour1, &jour2,
&jour3, &jour4, &jour5);
fscanf(fichierEmployees, "%s%s%f", no_emp2, nom, &taux);
fscanf(fichierGeneralPay, "%s%f%f%f", no_emp3, &paie_cumulee,
&taxe_cumulee, &a_deduct_cumulee);
// Comparaison de la bonne correspondance
if (strcmp(no_emp1, no_emp2)!=0 || strcmp(no_emp2, no_emp3)!=0)
{
printf("\n\tLes champs NO_EMP ne sont pas dans le "
"bon ordre dans les differents fichiers !\n");
}
#if DEBUG == 1
printf("NO_EMP : %s\tNOM : %s\tJOUR1 : %d\tJOUR2 : %d"
"\tJOUR3 : %d\tJOUR4 : %d\tJOUR5 : %d"
"\tPAIE_CUMULEE : %f\tTAUX : %f\tTAXE_CUMULEE : %f"
"\tA_DEDUCT_CUMULEE : %f\n", no_emp1, nom, jour1, jour2,
jour3, jour4, jour5, paie_cumulee, taux, taxe_cumulee,
a_deduct_cumulee);
#endif
// Traitement des données
nbr_heures = jour1 + jour2 + jour3 + jour4 + jour5;
salaire_brut = nbr_heures * taux;
taxe = salaire_brut * 0.30;
a_deduct = salaire_brut * 0.08;
salaire_net = salaire_brut - taxe - a_deduct;
#if DEBUG == 1
printf("NBR_HEURES : %f\tSALAIRE_BRUT : %f\tTAXE : %f"
"\tA_DEDUCT : %f\tSALAIRE_NET : %f\n", nbr_heures,
salaire_brut, taxe, a_deduct, salaire_net);
#endif
// Mise à jour des donnes cumulées pour GeneralPay.txt
paie_cumulee += salaire_net;
taxe_cumulee += taxe;
a_deduct_cumulee += a_deduct;
#if DEBUG == 1
printf("GENERALPAY - \tPAIE_CUMULEE : %f\tTAXE_CUMULEE: %f"
"\tA_DEDUCT_CUMULEE : %f\n", paie_cumulee, taxe_cumulee, a_deduct_cumulee);
#endif
#if DEBUG == 1
printf("fichierSortie : %s %s %.5f %2d %.5f %.2f %.2f %.2f%.2f\n",
no_emp1, nom, taux, nbr_heures, salaire_brut,
salaire_net, paie_cumulee, taxe_cumulee,
a_deduct_cumulee);
printf("fichierGeneralPay : %s%.2f %.2f %.2f\n", no_emp1,
paie_cumulee, taxe_cumulee, a_deduct_cumulee);
#else
// Ecrire une ligne dans le fichier PaieSemaineCourante.txt
fprintf(fichierSortie,
"%s %s %.5f %2d %.5f %.2f %.2f %.2f%.2f\n",
no_emp1, nom, taux, nbr_heures, salaire_brut,
salaire_net, paie_cumulee, taxe_cumulee,
a_deduct_cumulee);
// Ecrire une ligne GeneralPay.txt
fprintf(fichierGeneralPay, "%s%.2f %.2f %.2f\n", no_emp1,
paie_cumulee, taxe_cumulee, a_deduct_cumulee);
#endif
} // Fin de la boucle while
fclose(fichierGeneralPay);
fclose(fichierEmployees);
fclose(fichierSortie);
fclose(fichierWk);
}
int main(void)
{
if (!convertir())
{
system("pause");
return -1;
}
printf("Program termine normalement !\n");
system("pause");
return 0;
}
Merci et bonne prog,
@++
Victor
|
|
mercredi 21 octobre 2009 à 19:40:09 |
Re : Lecture et écriture sur plusieurs fichiers de données en mode séquentiel

victorcoasne
|
Bonjour,
Si ton problème est résolu merci d'appuyer sur le bouton prévu à cet effet
Merci et bonne prog,
@++
Victor
|
|
Cette discussion est classée dans : txt, salaire, emp, taxe, cumulee
Répondre à ce message
Sujets en rapport avec ce message
traitement d'un fichier txt [ par sylvain ]
Bonjour,Je doit effectuer un traitement sur un fichier txt.Je reçoit un fichier txt sous cette forme :// début fichierdébut annonce..........@ fin ann
Liste de control sous Vc++ 6.0 [ par Miboboio ]
Je doit afficher un nombre indeterminer de control,les un en dessous des autres(le nombre depend des info que je dois afficher)Comment est il possible
VNEZ TOUS VOIR SA !! [ par Mickylord ]
regardez , je ne sais pas comment faire pour ecrire une valeur numerique dans un fichier .txt . Comment je fait ???:void EcrireDisque (void) //SA
Renommer un fichier [ par mindark ]
Bonjour, j'essaie tout betement de renommer un fichier a l'aide des api, mais ca ne marche pas !Je veux renommer "kk.txt" en "qq.txt"String ancien="C:
FindFirstFile et FindNextFile [ par mindark ]
Bonjour,Je fais une recherche de *.txt dans un repertoire.J'execute dc FindFirstFile, puis FindNextFile, ca marche sans probleme..Mais comme je fais u
Enregistrer en HEXA un texte avec gcc !! [ par UncleShu ]
/* * Ce programme affiche le fichier en HEXADECIMAL et se copie lui-même avec * une autre exetenstion (.txt). Moi je voudrais qui affiche le fichier *
prb de récupération [ par benb78 ]
bonjour à tous j'ai un problème et j'éspère que vous allez pouvoir m'aider, alors voila:J'aimerai pouvoir faire un listing (dans un fichier) de toutes
ecriture ds un fichier txt [ par Leparasite ]
Bonjour , bon je suis nouveau dans la programation , alors j'essai de faire des petit truc assez simple pour commencer et là j'ai un petit prob .bon j
recuperation de doner ds un fichier txt [ par Leparasite ]
Bonjours voila mon probleme :bon je cree un fichier txt a partir ds boutton ,le code :void CV1Dlg::OnOK() { // TODO: Add extra validation here UpdateD
lecture d'un fichier txt-recuperationde donner-réecriture [ par Leparasite ]
voila ce que je ve faire :sur mon dique dure c:\ j'ai un fichier TXT .je veu que mon programe lise le contenu de ce fichier et le réecrive sur le d: d
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft 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
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
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
|