//--------------------------------------- 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); }
//------------------------------------------- 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); }
//--------------------------------------- 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); }
//------------------------------------------- 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(""); }
//------------------------------------------- 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); }
private string GetFileTitle(string strCle) { CIndexAide index = m_index.GetIndex(strCle, true); return(GetFileTitle(index.Index)); }