Пример #1
0
        //---------------------------------------
        public CIndexAide CreateIndexForRessource(string strPrefixe)
        {
            int        nIndex = m_nIndexProchainFichier++;
            CIndexAide index  = new CIndexAide(
                (strPrefixe != null && strPrefixe.Length > 0?strPrefixe + "/":"")
                + "RES" + nIndex.ToString(), nIndex);

            m_listeIndex.Add(index);
            m_dictionnaireIndex.Add(index.Cle, index);
            return(index);
        }
Пример #2
0
        //-------------------------------------------
        public CRessourceFichier GetRessourceFichier(string strCle)
        {
            CIndexAide index      = m_index.GetIndex(strCle, false);
            string     strFichier = GetNomFichierRessource(index, false);

            if (File.Exists(strFichier))
            {
                return(new CRessourceFichier(strCle, strFichier));
            }
            return(null);
        }
Пример #3
0
 //---------------------------------------
 public CIndexAide GetIndex(string strCle, bool bCreateSiInexistant)
 {
     if (m_dictionnaireIndex.ContainsKey(strCle.ToUpper()))
     {
         return(m_dictionnaireIndex[strCle.ToUpper()]);
     }
     if (bCreateSiInexistant)
     {
         CIndexAide index = new CIndexAide(strCle.ToUpper(), m_nIndexProchainFichier++);
         m_listeIndex.Add(index);
         m_dictionnaireIndex.Add(index.Cle, index);
         return(index);
     }
     return(null);
 }
Пример #4
0
        //-------------------------------------------
        private string GetNomFichierRessource(CIndexAide index, bool bCreate)
        {
            if (index == null)
            {
                return("");
            }
            string strRepertoire = c_repertoireRessources;
            string strFichier    = index.Cle;

            try
            {
                if (index.Cle.IndexOf('/') > 0)
                //L'index contient un répertoire, création du répertoire
                {
                    string[] strParts = index.Cle.Split('/');
                    strRepertoire = strParts[0];
                    strFichier    = strParts[1];
                }
                if (!Directory.Exists(RepertoireDeBase + strRepertoire))
                {
                    if (bCreate)
                    {
                        Directory.CreateDirectory(RepertoireDeBase + strRepertoire);
                    }
                }
                strRepertoire = RepertoireDeBase + strRepertoire + "\\";
            }
            catch
            {
                return("");
            }
            try
            {
                string strTitle = strFichier;
                return(strRepertoire + strTitle);
            }
            catch
            {
            }
            return("");
        }
Пример #5
0
        //-------------------------------------------
        public CResultAErreur ReferenceFichier(string strFichierLocal, CHelpData helpUtilisant)
        {
            CResultAErreur result     = CResultAErreur.True;
            CIndexAide     index      = m_index.CreateIndexForRessource(GetFileTitle(helpUtilisant) + ".RES");
            string         strFichier = GetNomFichierRessource(index, true);

            try
            {
                //Copie du fichier dans les ressource
                if (File.Exists(strFichier))
                {
                    File.Delete(strFichier);
                }
                File.Copy(strFichierLocal, strFichier);
                result.Data = new CRessourceFichier(index.Cle, strFichier);
            }
            catch
            {
                result.EmpileErreur(I.T("Error while copying file|30056"));
            }
            return(result);
        }
Пример #6
0
        private string GetFileTitle(string strCle)
        {
            CIndexAide index = m_index.GetIndex(strCle, true);

            return(GetFileTitle(index.Index));
        }