Accueil > > > GESTION FICHIERS TXT (INSERTION, CONCATÉNATION, DÉNOMBREMENT, FILTRES ETC...)
GESTION FICHIERS TXT (INSERTION, CONCATÉNATION, DÉNOMBREMENT, FILTRES ETC...)
Information sur la source
Description
Mon code permet de faire plusieurs actions sur les fichiers txt. Il y a peut etre des sources similaires mais je n'ai pas vérifié (je sens que je vais encore avoir des commentaires du genre : ca y est déjà et mieux codé en plus). Les principales catégories sont Effacage/Copie/Concaténation/Remplacage/Insertion/ Dénombrement(lignes,mots...)/Filtres si l'on souhaite seulement sélectionner certains types de mots. Voilà je crois que ca résume bien. Attention n'utilisez pas de fichiers qui s'appellent temp.txt ou temp1.txt (déjà utilisés par le programme) Hésitez pas a commenter la source pour dire ce que vous en pensez
Source
-
- #include <iostream>
- #include <vector>
-
- using namespace std;
-
- class LectEcr {
-
-
-
-
- private :
-
- FILE * f;
- char * nom;
-
- vector <int> indexDebutMots; //Table d'indexation de tous les mots (les debuts de mots)
- vector <int> indexFinMots; //Table d'indexation de tous les mots (les fins de mots)
- vector <int> indexLignes; //Table d'indexation de toutes les lignes (les debuts):
-
- int nbMots; //Nombre de mots total (apres passage de la fonction MAJIndex)
- int nbLignes; //Nombre de lignes total (apres passage de la fonction MAJIndex)
-
- bool isopen ;
- int mode_open;
-
-
- public :
-
- LectEcr(char * c); //Constructeur
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions de Base
- /////////////////////////////////////////////////////////////////////////
-
- //Ecrit la chaine dans le fichier à la position et sur la longueur indiquée
- //Efface les caracteres présents sur ces positions si il le faut
- bool ecrire(char * chaine,int pos,int longueur);
-
-
- //Lit les caracteres et les place dans le buffer de debut sur la longueur indiquée
- int lire(char * buffer,int deb,int longueur);
-
- //Ouvre le fichier courant
- //mode 1 : "r+" (lecture ecriture) / mode 2 mode concatenation "a"
- bool ouvrir(int mode);
-
- //Ferme le fichier courant
- int fermer();
-
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions de remplacage de chaines
- /////////////////////////////////////////////////////////////////////////
-
-
-
- //Remplace toutes les occurences de la chaine a par la chaine b dans le fichier courant
- bool remplaceChaine(char * a,char * b);
-
- //Remplace toutes les occurences de la chaine a par la chaine b dans le fichier courant à partir de la
- //position indiquée
- bool remplaceChaineAPartirDe(char * a,char * b,int pos);
-
- //Remplace toutes les occurences de la chaine a par la chaine b dans le fichier courant jusqu'à la
- //position indiquée
- bool remplaceChaineJusqua(char * a,char * b,int pos);
-
- //Remplace toutes les occurences de la chaine a par la chaine b dans le fichier situées entre pos1 et pos2
- //la methode remplacera les mots qui débordent sur la droite mais pas sur la gauche
- bool remplaceChainePartie(char * a,char * b,int pos1,int pos2);
-
-
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions d'effacage
- /////////////////////////////////////////////////////////////////////////
-
-
- //Efface le fichier courant
- bool effacer();
-
- //Efface le fichier spécifié (les données car le fichier existe toujours)
- bool effacer(char * nom_fichier);
-
- //Efface la partie du fichier spécifiée (de pos sur longueur)
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- bool effacePartie(int pos,int longueur);
-
- //Efface le fichier à partir de la position spécifiée
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- bool effaceAPartirDe(int pos);
-
- //Efface le fichier jusqu'à la position spécifiée
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- bool effaceJusqua(int pos);
-
- //Efface toutes les occurences de la chaine spécifiée (remplace par rien en fait)
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- bool effaceChaine(char * chaine);
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions de copie
- /////////////////////////////////////////////////////////////////////////
-
-
- ////Copie le contenu de a dans b (crée b si besoin ou écrase les données de b)
- bool copie(char * source,char * dest); //copie le contenu de a dans b (crée b si besoin ou écrase les données de b)
-
- //Copie le contenu de f vers le fichier dest
- bool copieVers (char * dest);
-
- //Copie le contenu de source dans le fichier f (écrase les données ds f si besoin)
- bool copieDe (char * source);
-
- //Copie la partie de a spécifiée dans b
- bool copiePartie(char * source,char * dest, int pos, int longueur); //copie la partie de a spécifiée dans b
-
- //Copie le contenu de a (à partir de pos) dans b
- bool copieAPartirDe (char * source,char * dest, int pos);
-
-
- /////////////////////////////////////////////////////////////////////////
- // Insertion
- /////////////////////////////////////////////////////////////////////////
-
-
- //Insert le contenu d'une chaine à l'endroit spécifié
- bool insertChaine(char * chaine,int pos);
-
- //insert le contenu d'un autre fichier à l'endroit spécifié
- bool insertFichier(char * fichier,int pos);
-
-
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions de concaténation
- /////////////////////////////////////////////////////////////////////////
-
- //Concatene source a la suite de dest (source reste inchangé)
- bool concatFichier(char * source,char * dest);
-
- //Concatene source a la suite de f (source reste inchangé)
- bool concatFichierDe(char * source);
-
- //Concatene f a la suite de dest (f reste inchangé)
- bool concatFichierVers(char * dest);
-
- //Concatene chaine a la suite du fichier courant
- bool concatChaine(char * chaine);
-
- //Concatene chaine à la suite du fichier spécifié
- bool concatChaineFichier(char * chaine,char * fichier,int longueur);
-
-
-
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions de dénombrement
- /////////////////////////////////////////////////////////////////////////
-
- //Renvoie le nombre d'ocurences de 'chaine'
- int nbOccurences(char * chaine);
-
- //Renvoie le nombre de lignes IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- int getNbLignes() {return nbLignes;};
-
- //Renvoie le nombre de mots IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- int getNbMots(){ return nbMots;};
-
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions pour trouver des positions particulières
- /////////////////////////////////////////////////////////////////////////
-
- //Renvoie la position du début du mot spécifié par son numéro (a)
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- int getPosDebutMot(int a) {
- if (a>=0 && a<=nbMots) return indexFinMots.at(a-1); //Le premier mot est le mot n°1 (Convention KissyFroth)
- else return -1;
- };
-
- //Renvoie la position de la fin du mot spécifié par son numéro (a)
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- int getPosFinMot(int a)
- {
- if (a>=0 && a<=nbMots) return indexFinMots.at(a-1);
- else return -1;
- };
-
- //Renvoie la position du début de la ligne spécifiée par son numéro (a)
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- int getPosLigne(int a)
- {
- if (a>=0 && a<=nbLignes) return indexLignes.at(a-1);
- else return -1;
- };
-
- //Renvoie le numéro du mot spécifié par une position (du moment que la position est dans le mot c'est bon)
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- int getNumMot(int pos);
-
- //Renvoie le numéro de la ligne spécifiée par une position (du moment que la position est dans la ligne c'est bon)
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- int getNumLigne(int pos);
-
-
-
- /////////////////////////////////////////////////////////////////////////
- // Fonctions diverses
- /////////////////////////////////////////////////////////////////////////
-
- //Compare si 2 chaines sont identiques sur la longueur spécifiée (en partant du début)
- bool egalChaines(char * a,char * b,int longueur);
-
- //Renvoie vrai si le caractere a appartient a la chaine b faux sinon
- bool appartient(char a,char * b);
-
-
-
- //Fonction Mise A Jour Index
- //Certainement la fonction la plus importante de la classe
- //Elle sert à remplir les tableaux d'indexations de tous les mots 'indexMots' et de toutes les lignes 'indexLignes'
- //mis en attributs private
- //Elle sert aussi à dénombrer le nombre de mots et de lignes
- //Vous devrez l'appeller avant chaque fonction de statistiques ou de positionnement (fonctions classées dans
- // "denombrement" ou "positions particulieres") à moins qu'aucun changement n'ait été effectué depuis le dernier appel
- //La chaine "separateurs" désigne tous les caractéres que vous souhaitez voir comme étant des séparateurs de mots
- //Par exemple " " ou "*" peuvent etre désignés comme separateurs et ne feront donc jamais parti de mots
- //Le caractere de saut de ligne '\n' et les guillemets '"' sont considérés comme des séparateurs par défaut
- bool MAJIndex(char * separateurs);
-
-
- //Met a jour uniquement l'index des lignes
- bool MAJIndexLignes();
-
-
-
-
- //Retourne true si le mot n° nb répond aux criteres de la chaine
- //Le caractere * peut désigner n'importe quelle chaine de caracteres
- //EXEMPLE : le mot "banane"
- // motCriteres renverra "true" aux criteres "*a*a*" (il y a bien 2 "a" qui ne sont pas forcés de se suivre)
- // motCriteres renverra "true" aux criteres "ba*" (banane commence par ba + autre chose après)
- // motCriteres renverra "false" aux criteres "*aa*" (les 2 "a" devraient se suivre pour que ce soit vrai)
- // motCriteres renverra "true" aux criteres "*b*" (le caractere "*" peut ne rien désigner : il ny a rien avant b)
- // motCriteres renverra "false" aux criteres "*u*" (le caractere "u" n'est pas présent dans "banane")
- // motCriteres renverra "false" aux criteres "*n" (banane ne se termine pas par n")
- //
- // min et max sont des filtres de taille du mot recherché
- // si vous voulez des mots de toutes les tailles vous devrez mettre en param 0 pour min et -1 pour max
- //
- //IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
- //
- bool motCriteres(char * crit,int nb,int min,int max);
-
-
-
- //Copie tous les mots du fichier courant qui répondent aux critères "crit" dans le fichier f;
- // min et max sont des filtres de taille du mot recherché
- // si vous voulez des mots de toutes les tailles vous devrez mettre en param 0 pour min et -1 pour max
- int copieMots(char * fichier,char * crit,int min,int max);
-
-
-
-
-
- };
#include <iostream>
#include <vector>
using namespace std;
class LectEcr {
private :
FILE * f;
char * nom;
vector <int> indexDebutMots; //Table d'indexation de tous les mots (les debuts de mots)
vector <int> indexFinMots; //Table d'indexation de tous les mots (les fins de mots)
vector <int> indexLignes; //Table d'indexation de toutes les lignes (les debuts):
int nbMots; //Nombre de mots total (apres passage de la fonction MAJIndex)
int nbLignes; //Nombre de lignes total (apres passage de la fonction MAJIndex)
bool isopen ;
int mode_open;
public :
LectEcr(char * c); //Constructeur
/////////////////////////////////////////////////////////////////////////
// Fonctions de Base
/////////////////////////////////////////////////////////////////////////
//Ecrit la chaine dans le fichier à la position et sur la longueur indiquée
//Efface les caracteres présents sur ces positions si il le faut
bool ecrire(char * chaine,int pos,int longueur);
//Lit les caracteres et les place dans le buffer de debut sur la longueur indiquée
int lire(char * buffer,int deb,int longueur);
//Ouvre le fichier courant
//mode 1 : "r+" (lecture ecriture) / mode 2 mode concatenation "a"
bool ouvrir(int mode);
//Ferme le fichier courant
int fermer();
/////////////////////////////////////////////////////////////////////////
// Fonctions de remplacage de chaines
/////////////////////////////////////////////////////////////////////////
//Remplace toutes les occurences de la chaine a par la chaine b dans le fichier courant
bool remplaceChaine(char * a,char * b);
//Remplace toutes les occurences de la chaine a par la chaine b dans le fichier courant à partir de la
//position indiquée
bool remplaceChaineAPartirDe(char * a,char * b,int pos);
//Remplace toutes les occurences de la chaine a par la chaine b dans le fichier courant jusqu'à la
//position indiquée
bool remplaceChaineJusqua(char * a,char * b,int pos);
//Remplace toutes les occurences de la chaine a par la chaine b dans le fichier situées entre pos1 et pos2
//la methode remplacera les mots qui débordent sur la droite mais pas sur la gauche
bool remplaceChainePartie(char * a,char * b,int pos1,int pos2);
/////////////////////////////////////////////////////////////////////////
// Fonctions d'effacage
/////////////////////////////////////////////////////////////////////////
//Efface le fichier courant
bool effacer();
//Efface le fichier spécifié (les données car le fichier existe toujours)
bool effacer(char * nom_fichier);
//Efface la partie du fichier spécifiée (de pos sur longueur)
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
bool effacePartie(int pos,int longueur);
//Efface le fichier à partir de la position spécifiée
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
bool effaceAPartirDe(int pos);
//Efface le fichier jusqu'à la position spécifiée
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
bool effaceJusqua(int pos);
//Efface toutes les occurences de la chaine spécifiée (remplace par rien en fait)
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
bool effaceChaine(char * chaine);
/////////////////////////////////////////////////////////////////////////
// Fonctions de copie
/////////////////////////////////////////////////////////////////////////
////Copie le contenu de a dans b (crée b si besoin ou écrase les données de b)
bool copie(char * source,char * dest); //copie le contenu de a dans b (crée b si besoin ou écrase les données de b)
//Copie le contenu de f vers le fichier dest
bool copieVers (char * dest);
//Copie le contenu de source dans le fichier f (écrase les données ds f si besoin)
bool copieDe (char * source);
//Copie la partie de a spécifiée dans b
bool copiePartie(char * source,char * dest, int pos, int longueur); //copie la partie de a spécifiée dans b
//Copie le contenu de a (à partir de pos) dans b
bool copieAPartirDe (char * source,char * dest, int pos);
/////////////////////////////////////////////////////////////////////////
// Insertion
/////////////////////////////////////////////////////////////////////////
//Insert le contenu d'une chaine à l'endroit spécifié
bool insertChaine(char * chaine,int pos);
//insert le contenu d'un autre fichier à l'endroit spécifié
bool insertFichier(char * fichier,int pos);
/////////////////////////////////////////////////////////////////////////
// Fonctions de concaténation
/////////////////////////////////////////////////////////////////////////
//Concatene source a la suite de dest (source reste inchangé)
bool concatFichier(char * source,char * dest);
//Concatene source a la suite de f (source reste inchangé)
bool concatFichierDe(char * source);
//Concatene f a la suite de dest (f reste inchangé)
bool concatFichierVers(char * dest);
//Concatene chaine a la suite du fichier courant
bool concatChaine(char * chaine);
//Concatene chaine à la suite du fichier spécifié
bool concatChaineFichier(char * chaine,char * fichier,int longueur);
/////////////////////////////////////////////////////////////////////////
// Fonctions de dénombrement
/////////////////////////////////////////////////////////////////////////
//Renvoie le nombre d'ocurences de 'chaine'
int nbOccurences(char * chaine);
//Renvoie le nombre de lignes IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
int getNbLignes() {return nbLignes;};
//Renvoie le nombre de mots IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
int getNbMots(){ return nbMots;};
/////////////////////////////////////////////////////////////////////////
// Fonctions pour trouver des positions particulières
/////////////////////////////////////////////////////////////////////////
//Renvoie la position du début du mot spécifié par son numéro (a)
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
int getPosDebutMot(int a) {
if (a>=0 && a<=nbMots) return indexFinMots.at(a-1); //Le premier mot est le mot n°1 (Convention KissyFroth)
else return -1;
};
//Renvoie la position de la fin du mot spécifié par son numéro (a)
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
int getPosFinMot(int a)
{
if (a>=0 && a<=nbMots) return indexFinMots.at(a-1);
else return -1;
};
//Renvoie la position du début de la ligne spécifiée par son numéro (a)
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
int getPosLigne(int a)
{
if (a>=0 && a<=nbLignes) return indexLignes.at(a-1);
else return -1;
};
//Renvoie le numéro du mot spécifié par une position (du moment que la position est dans le mot c'est bon)
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
int getNumMot(int pos);
//Renvoie le numéro de la ligne spécifiée par une position (du moment que la position est dans la ligne c'est bon)
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
int getNumLigne(int pos);
/////////////////////////////////////////////////////////////////////////
// Fonctions diverses
/////////////////////////////////////////////////////////////////////////
//Compare si 2 chaines sont identiques sur la longueur spécifiée (en partant du début)
bool egalChaines(char * a,char * b,int longueur);
//Renvoie vrai si le caractere a appartient a la chaine b faux sinon
bool appartient(char a,char * b);
//Fonction Mise A Jour Index
//Certainement la fonction la plus importante de la classe
//Elle sert à remplir les tableaux d'indexations de tous les mots 'indexMots' et de toutes les lignes 'indexLignes'
//mis en attributs private
//Elle sert aussi à dénombrer le nombre de mots et de lignes
//Vous devrez l'appeller avant chaque fonction de statistiques ou de positionnement (fonctions classées dans
// "denombrement" ou "positions particulieres") à moins qu'aucun changement n'ait été effectué depuis le dernier appel
//La chaine "separateurs" désigne tous les caractéres que vous souhaitez voir comme étant des séparateurs de mots
//Par exemple " " ou "*" peuvent etre désignés comme separateurs et ne feront donc jamais parti de mots
//Le caractere de saut de ligne '\n' et les guillemets '"' sont considérés comme des séparateurs par défaut
bool MAJIndex(char * separateurs);
//Met a jour uniquement l'index des lignes
bool MAJIndexLignes();
//Retourne true si le mot n° nb répond aux criteres de la chaine
//Le caractere * peut désigner n'importe quelle chaine de caracteres
//EXEMPLE : le mot "banane"
// motCriteres renverra "true" aux criteres "*a*a*" (il y a bien 2 "a" qui ne sont pas forcés de se suivre)
// motCriteres renverra "true" aux criteres "ba*" (banane commence par ba + autre chose après)
// motCriteres renverra "false" aux criteres "*aa*" (les 2 "a" devraient se suivre pour que ce soit vrai)
// motCriteres renverra "true" aux criteres "*b*" (le caractere "*" peut ne rien désigner : il ny a rien avant b)
// motCriteres renverra "false" aux criteres "*u*" (le caractere "u" n'est pas présent dans "banane")
// motCriteres renverra "false" aux criteres "*n" (banane ne se termine pas par n")
//
// min et max sont des filtres de taille du mot recherché
// si vous voulez des mots de toutes les tailles vous devrez mettre en param 0 pour min et -1 pour max
//
//IMPORTANT: appeller MAJIndex AVANT d'appeller cette fonction
//
bool motCriteres(char * crit,int nb,int min,int max);
//Copie tous les mots du fichier courant qui répondent aux critères "crit" dans le fichier f;
// min et max sont des filtres de taille du mot recherché
// si vous voulez des mots de toutes les tailles vous devrez mettre en param 0 pour min et -1 pour max
int copieMots(char * fichier,char * crit,int min,int max);
};
Conclusion
J'ai inclus un main où il y a des exemples détaillés de fonctions de la classe. Je pense que c'est plus parlant que des explications.
Historique
- 29 avril 2006 23:28:24 :
- Aucune importance
- 01 mai 2006 22:25:11 :
- Modification du systeme d'indexation des mots et des lignes (passage de tableaux a vector)
Mise a jour de certains commentaires
Ajout de vérifications supplémentaires sur certaines fonctions afin d'éviter des erreurs éventuelles
- 08 mai 2006 23:58:45 :
- -Suppresion des ouvertures/fermetures des fichiers à chaque appel de fonction (rapidité des fonctions largement augmentée)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
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
ecriture en mode insertion [ par loopy ]
Salut, je voudrais savoir s'il est possible de rajouter des infos dans un fichier (en mode texte) sans que cela efface les infos precedentes car je do
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
Afficher un fichier txt inclus dans les ressources dans une editBox. [ par TheMaster ]
Bonjour,Aidez moi s'il vous plait!J'aimerais afficher un fichier texte, qui est inclus dans mes ressources (VC++6.0), dans une edit Box.Je n'arrive pa
imprimer un fichier html avec insertion d images... [ par nebucad ]
Bon jour a tous et a toutesJe devai imprimer des fichiers word et un fichier html sous win qui a deuw images inserees.Je lance un ShellExecute de cett
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
|
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
MATRICE TEMPLATEMATRICE TEMPLATE par hjr2610
Cliquez pour lire la suite par hjr2610 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
|