Beispiel #1
0
 //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ��ļ���������
 void m_obFileMixer_Click(object sender, EventArgs e)
 {
     string schemeFile = m_stSchemeFileName;
     string fileName = checkMix(schemeFile);
     if (fileName != null)
     {
         MixerListWriter m_obMixerWriter = mixRequest(fileName, schemeFile);
         if (m_obMixerWriter != null)
         {
             string tempFile = m_obMixText + "\\" + m_stSchemeFolderName;
             string tempScheme = m_obSchemeText + "\\" + m_stSchemeFolderName;
             MixerSchemeDescribe tempWriter = new MixerSchemeDescribe(tempFile, tempScheme);
             int fileCount = mixFile(m_obResourceText.Text, "", tempWriter, tempWriter.excludeList, m_obMixerWriter);
             int deleteCount = m_obMixerWriter.checkMiss(m_obResourceText.Text, m_obMixText.Text, true);
             ErrorBox.Show(fileCount.ToString() + " files created \r\n" + deleteCount.ToString() + " files deleted", "ClassMixer");
         }
     }
 }
Beispiel #2
0
        //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ��ļ���������
        private int mixFile(string folderName, string prefix, MixerSchemeDescribe tempWriter, ArrayList exClude, MixerListWriter m_obMixerWriter)
        {
            DirectoryInfo folder = new DirectoryInfo(folderName);
            FileInfo[] fileList = folder.GetFiles();
            int fileCount = 0;
            for (int i = 0; i < fileList.Length; i++)
            {
                string sourceFile = fileList[i].Name;
                string targetFolderName = tempWriter.getMixedName(prefix);
                if (targetFolderName != null)
                {
                    string targetFolder = m_obMixText.Text + "\\" + targetFolderName;

                    if (Directory.Exists(targetFolder))
                    {
                        if (sourceFile != "ģ��.as")
                        {
                            string info = "from :" + folderName + "\\" + sourceFile + "\r\n to : " + targetFolder;
                            if (MessageBox.Show(info, "ȷ������?", MessageBoxButtons.OKCancel) == DialogResult.OK)
                            {
                                string prefixTemp = "";
                                if (prefix != "")
                                {
                                    prefixTemp = prefix + ".";
                                }
                                string[] nameSeg = sourceFile.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                                string mixedName = m_obMixerWriter.write(prefixTemp + nameSeg[0] as string, targetFolderName);
                                if (mixedName != null)
                                {
                                    string targetFile = targetFolder + "\\" + mixedName + ".as";

                                    File.Copy(folderName + "\\" + sourceFile, targetFile);
                                    fileCount++;
                                }
                            }
                            //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡο���ȷ��
                        }
                        else
                        {
                            ErrorBox.Show("find tempfile ! ", "ClassMixer");
                        }
                        //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ�ģ���ų�
                    }
                }
                //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ�Ŀ¼ȷ��
            }
            //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ��Ӽ���������
            if (prefix != "")
            {
                prefix += ".";
            }
            DirectoryInfo[] folderList = folder.GetDirectories();
            for (int i = 0; i < folderList.Length; i++)
            {
                string subFolder = folderList[i].Name;
                int index = exClude.IndexOf(subFolder);
                if (index < 0)
                {
                    fileCount += mixFile(folderName + "\\" + subFolder, prefix + subFolder, tempWriter, new ArrayList(), m_obMixerWriter);
                }
                else if (index > -1)
                {
                    ErrorBox.Show("findedExclude Item : " + subFolder, "ClassMixer");
                }
            }
            m_obMixerWriter.save();
            return fileCount;
        }