begin process at 2012 05 27 19:31:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > TABLE DE HASHAGE ÉVOLUÉE [TS ENVTS] - DÉDIÉE À LA TRADUCTION DE LOGICIELLE

TABLE DE HASHAGE ÉVOLUÉE [TS ENVTS] - DÉDIÉE À LA TRADUCTION DE LOGICIELLE


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Niveau :Initié Date de création :17/08/2004 Vu / téléchargé :4 681 / 172

Auteur : magic_Nono

Ecrire un message privé
Site perso
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

pour toute explication relative au principe d'une table de hashage, veuillez vous reporter à ma source précédente :
http://www.cppfrance.com/code.aspx?ID=25352

cet te évolution propose de fonctionner conjointement avec un fichier ini linguisitique respectant le formalisme déjà décrit dans cette source :
http://www.cppfrance.com/code.aspx?id=24887


l' évolution majeur de la table de hashage est qu'ici, elle charge automatiquement  et a la demande les données depuis le .ini.
2e evolution, plus de malloc, uniquement des new

ainsi chacune ne sera chargée qu'une seule fois et les traitements sont tous accélérés.

Source

  • quelques macros utilisées dans MétaProg :
  • /// --------------------------------------------------------
  • /// ---------------- MACRO : MACRO_GET_TXT_LANGUE ----------------
  • /// --------------------------------------------------------
  • /// ----- Objectif : récup d'un texte dans une langue paramétrée
  • /// ----- PreCond : infos ds FICHIER_INI
  • /// ----- PostCond : /
  • /// ----- Etat : 1 (-1<0<1<2)
  • /// ----- Nota : info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
  • /// ----- MaJ 20/08/04 : table de hashage, chaque D est récupérée une seule fois...
  • /// --------------------------------------------------------
  • /// ----- BString chaineDest : chaine à recup
  • /// ----- BString intitule : intitulé ds le fichier ini
  • /// ----- bool isForTrtt : pour le traitement ou pour le soft (choix langage...)
  • /// ----- ELangageDeProg iLangageTrtt (var globale) : langage de traitement
  • /// --------------------------------------------------------
  • #define MACRO_GET_TXT_LANGUE(chaineDest,intitule,isForTrtt) do{\
  • BString langue;\
  • switch(isForTrtt?iLangageTrtt:iLangageLogiciel)\
  • {\
  • case LANGUE_ANGLAISE : langue="Anglais";break;\
  • case LANGUE_FRANCAISE : langue="Francais";break;\
  • case LANGUE_ESPAGNOLE : langue="Espagnol";break;\
  • case LANGUE_ALLEMANDE : langue="Allemand";break;\
  • case LANGUE_PORTUGUAISE : langue="Portuguais";break;\
  • case LANGUE_ITALIENNE : langue="Italien";break;\
  • default:BVisuel::informe("langue non définie - english selection by default...",false);langue="Anglais";\
  • }\
  • if(isForTrtt)\
  • chaineDest=*donneesLinguistiquesTrtt.get(intitule,&langue);\
  • else\
  • chaineDest=*donneesLinguistiquesSoft.get(intitule,&langue);\
  • /*chaineDest=BFichierIni::get(langue,intitule,FICHIER_INI,true);\
  • chaineDest=chaineDest.convertTxtMisEnForme(false);\
  • */}while(0)
  • /// -----------------------------------------------------------------
  • /// -------------- MACRO : MACRO_INIT_TOOLTIP_AND_NAME --------------
  • /// -----------------------------------------------------------------
  • /// ----- Objectif : récup d'un texte dans une langue paramétrée
  • /// ----- PreCond : infos ds FICHIER_INI
  • /// ----- PostCond : /
  • /// ----- Etat : 1 (-1<0<1<2)
  • /// ----- Nota : info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
  • /// ----- MaJ 18/03/04 : nom langue récupéré dans le ini...
  • /// --------------------------------------------------------
  • /// ----- BString chaineDest : chaine à recup
  • /// ----- BString intitule : intitulé ds le fichier ini
  • /// ----- ELangageDeProg iLangageTrtt (var globale) : langage de traitement
  • /// --------------------------------------------------------
  • #define MACRO_INIT_TOOLTIP_AND_NAME(STR_ID,ID) do{\
  • MACRO_INIT_TOOLTIP(STR_ID,ID);\
  • MACRO_INIT_NAME(STR_ID,ID);\
  • }while(0)
  • /// --------------------------------------------------------
  • /// -------------- MACRO : MACRO_INIT_TOOLTIP --------------
  • /// --------------------------------------------------------
  • /// ----- Objectif : récup d'un texte dans une langue paramétrée
  • /// ----- PreCond : infos ds FICHIER_INI
  • /// ----- PostCond : /
  • /// ----- Etat : 1 (-1<0<1<2)
  • /// ----- Nota : info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
  • /// ----- MaJ 18/03/04 : nom langue récupéré dans le ini...
  • /// --------------------------------------------------------
  • /// ----- BString chaineDest : chaine à recup
  • /// ----- BString intitule : intitulé ds le fichier ini
  • /// ----- ELangageDeProg iLangageTrtt (var globale) : langage de traitement
  • /// --------------------------------------------------------
  • #define MACRO_INIT_TOOLTIP(STR_ID,ID) do{\
  • BString msg;\
  • MACRO_GET_TXT_LANGUE(msg,STR_ID,false);\
  • msg=msg.convertTxtMisEnForme();\
  • m_tooltip.AddTool(GetDlgItem(ID), msg);\
  • }while(0)
  • /// --------------------------------------------------------
  • /// ---------------- MACRO : MACRO_INIT_NAME ---------------
  • /// --------------------------------------------------------
  • /// ----- Objectif : récup d'un texte dans une langue paramétrée
  • /// ----- PreCond : infos ds FICHIER_INI
  • /// ----- PostCond : /
  • /// ----- Etat : 1 (-1<0<1<2)
  • /// ----- Nota : info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
  • /// ----- MaJ 18/03/04 : nom langue récupéré dans le ini...
  • /// --------------------------------------------------------
  • /// ----- BString chaineDest : chaine à recup
  • /// ----- BString intitule : intitulé ds le fichier ini
  • /// ----- ELangageDeProg iLangageTrtt (var globale) : langage de traitement
  • /// --------------------------------------------------------
  • #define MACRO_INIT_NAME(STR_ID,ID) do{\
  • BString msg,data=STR_ID;data+="__";\
  • MACRO_GET_TXT_LANGUE(msg,data,false);\
  • msg=msg.convertTxtMisEnForme();\
  • GetDlgItem(ID)->SetWindowText (msg);\
  • }while(0)
  • /// --------------------------------------------------------
  • /// ---------------- MACRO : MACRO_INIT_TITRE ---------------
  • /// --------------------------------------------------------
  • /// ----- Objectif : initialise le nom de la fenetre
  • /// ----- PreCond : infos ds FICHIER_INI
  • /// ----- PostCond : /
  • /// ----- Etat : 1 (-1<0<1<2)
  • /// ----- Nota : info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
  • /// ----- MaJ 18/03/04 : nom langue récupéré dans le ini...
  • /// --------------------------------------------------------
  • /// ----- BString STR_ID : intitulé ds le fichier ini
  • /// --------------------------------------------------------
  • #define MACRO_INIT_TITRE(STR_ID) do{\
  • BString msg;\
  • MACRO_GET_TXT_LANGUE(msg,STR_ID,false);\
  • SetWindowText (msg);\
  • }while(0)
quelques macros utilisées dans MétaProg :

/// --------------------------------------------------------
/// ---------------- MACRO : MACRO_GET_TXT_LANGUE ----------------
/// --------------------------------------------------------
/// -----  Objectif	: récup d'un texte dans une langue paramétrée
/// -----  PreCond	: infos ds FICHIER_INI
/// -----  PostCond	: /
/// -----  Etat		: 1			(-1<0<1<2)
/// -----  Nota		: info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
/// -----  MaJ 20/08/04 : table de hashage, chaque D est récupérée une seule fois...
/// --------------------------------------------------------
/// -----  BString chaineDest : chaine à recup
/// -----  BString intitule : intitulé ds le fichier ini
/// -----  bool isForTrtt : pour le traitement ou pour le soft (choix langage...)
/// -----  ELangageDeProg iLangageTrtt (var globale) : langage de traitement
/// --------------------------------------------------------
#define MACRO_GET_TXT_LANGUE(chaineDest,intitule,isForTrtt) do{\
	BString langue;\
	switch(isForTrtt?iLangageTrtt:iLangageLogiciel)\
	{\
	case LANGUE_ANGLAISE : langue="Anglais";break;\
	case LANGUE_FRANCAISE : langue="Francais";break;\
	case LANGUE_ESPAGNOLE : langue="Espagnol";break;\
	case LANGUE_ALLEMANDE : langue="Allemand";break;\
	case LANGUE_PORTUGUAISE : langue="Portuguais";break;\
	case LANGUE_ITALIENNE : langue="Italien";break;\
	default:BVisuel::informe("langue non définie - english selection by default...",false);langue="Anglais";\
	}\
	if(isForTrtt)\
	chaineDest=*donneesLinguistiquesTrtt.get(intitule,&langue);\
	else\
	chaineDest=*donneesLinguistiquesSoft.get(intitule,&langue);\
	/*chaineDest=BFichierIni::get(langue,intitule,FICHIER_INI,true);\
	chaineDest=chaineDest.convertTxtMisEnForme(false);\
	*/}while(0)

/// -----------------------------------------------------------------
/// -------------- MACRO : MACRO_INIT_TOOLTIP_AND_NAME --------------
/// -----------------------------------------------------------------
/// -----  Objectif	: récup d'un texte dans une langue paramétrée
/// -----  PreCond	: infos ds FICHIER_INI
/// -----  PostCond	: /
/// -----  Etat		: 1			(-1<0<1<2)
/// -----  Nota		: info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
/// -----  MaJ 18/03/04 : nom langue récupéré dans le ini...
/// --------------------------------------------------------
/// -----  BString chaineDest : chaine à recup
/// -----  BString intitule : intitulé ds le fichier ini
/// -----  ELangageDeProg iLangageTrtt (var globale) : langage de traitement
/// --------------------------------------------------------
#define MACRO_INIT_TOOLTIP_AND_NAME(STR_ID,ID) do{\
	MACRO_INIT_TOOLTIP(STR_ID,ID);\
	MACRO_INIT_NAME(STR_ID,ID);\
	}while(0)
/// --------------------------------------------------------
/// -------------- MACRO : MACRO_INIT_TOOLTIP --------------
/// --------------------------------------------------------
/// -----  Objectif	: récup d'un texte dans une langue paramétrée
/// -----  PreCond	: infos ds FICHIER_INI
/// -----  PostCond	: /
/// -----  Etat		: 1			(-1<0<1<2)
/// -----  Nota		: info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
/// -----  MaJ 18/03/04 : nom langue récupéré dans le ini...
/// --------------------------------------------------------
/// -----  BString chaineDest : chaine à recup
/// -----  BString intitule : intitulé ds le fichier ini
/// -----  ELangageDeProg iLangageTrtt (var globale) : langage de traitement
/// --------------------------------------------------------
#define MACRO_INIT_TOOLTIP(STR_ID,ID) do{\
	BString msg;\
	MACRO_GET_TXT_LANGUE(msg,STR_ID,false);\
	msg=msg.convertTxtMisEnForme();\
	m_tooltip.AddTool(GetDlgItem(ID), msg);\
	}while(0)
/// --------------------------------------------------------
/// ---------------- MACRO : MACRO_INIT_NAME ---------------
/// --------------------------------------------------------
/// -----  Objectif	: récup d'un texte dans une langue paramétrée
/// -----  PreCond	: infos ds FICHIER_INI
/// -----  PostCond	: /
/// -----  Etat		: 1			(-1<0<1<2)
/// -----  Nota		: info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
/// -----  MaJ 18/03/04 : nom langue récupéré dans le ini...
/// --------------------------------------------------------
/// -----  BString chaineDest : chaine à recup
/// -----  BString intitule : intitulé ds le fichier ini
/// -----  ELangageDeProg iLangageTrtt (var globale) : langage de traitement
/// --------------------------------------------------------
#define MACRO_INIT_NAME(STR_ID,ID) do{\
	BString msg,data=STR_ID;data+="__";\
	MACRO_GET_TXT_LANGUE(msg,data,false);\
	msg=msg.convertTxtMisEnForme();\
	GetDlgItem(ID)->SetWindowText (msg);\
	}while(0)
/// --------------------------------------------------------
/// ---------------- MACRO : MACRO_INIT_TITRE ---------------
/// --------------------------------------------------------
/// -----  Objectif	: initialise le nom de la fenetre
/// -----  PreCond	: infos ds FICHIER_INI
/// -----  PostCond	: /
/// -----  Etat		: 1			(-1<0<1<2)
/// -----  Nota		: info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
/// -----  MaJ 18/03/04 : nom langue récupéré dans le ini...
/// --------------------------------------------------------
/// -----  BString STR_ID : intitulé ds le fichier ini
/// --------------------------------------------------------
#define MACRO_INIT_TITRE(STR_ID) do{\
	BString msg;\
	MACRO_GET_TXT_LANGUE(msg,STR_ID,false);\
	SetWindowText (msg);\
	}while(0)



 Conclusion

j'ai développé cette bibli pour MétaProg et ce projet est applicable pour tout logiciel

je vous le fournit en licence cardware : cad, envoyé un mail ou un mettez un post me disant ds quoi vs l'utilisez.

Bonne Prog

Magicalement,
Bruno.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip [MFC] BCOMBOBOX & BLISTBOX
Source avec Zip Source avec une capture [ C++ WIN32 ] REMPLISSAGE DE FICHE - FENETRE DYNAMIQUE
Source avec Zip Source avec une capture WIN32 - MFC - VC6 - PLACE D'UNE APPLI : BARRE DES TACHES OU ...
Source avec Zip [WIN32] [VC6] BOITE À CHOIX MULTIPLE PAR BOUTONS
Source avec Zip TEMPLATE DE DIALOG/FENETRE (VC++)

 Sources de la même categorie

GESTION DE FICHIER ET DOSSIER + AUTRES par shinji63
Source avec une capture CONVERTISSEUR par smartties
Source avec Zip CREATION D'UN FICHIER DBF (EN C) par Stanel
Source avec Zip STRUCTURE DES FICHIERS DBF par Stanel
Source avec Zip Source avec une capture GESTION DES ENTREES/ SORTIES AVEC CODEBARRE par YvaddavY

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales