Exemple #1
0
        private void delete_button_Click(object sender, RoutedEventArgs e)  //削除ボタン
        {
            int selectedIndex = files_listview.SelectedIndex;

            if (selectedIndex < 0)
            {
                AleartWindow aleartWindow = new AleartWindow
                {
                    windowName   = "Aleart",
                    aleartDetail = "Please select arbitrary file."
                };

                aleartWindow.ShowDialog();
                return;
            }

            string deleteWavDir = NKernel.observeDirectory + @"\" + NKernel.fileName[selectedIndex] + ".wav";
            string deleteTxtDir = NKernel.observeDirectory + @"\" + NKernel.fileName[selectedIndex] + ".txt";

            File.Delete(deleteWavDir);
            File.Delete(deleteTxtDir);

            for (int i = selectedIndex + 1; i < NKernel.fileName.Count; i++)
            {
                RenameFile(i, "wav", true);
                RenameFile(i, "txt", true);
            }

            NKernel.fileName.Clear();
            List_init();
        }
Exemple #2
0
        private void sortDown_button_Click(object sender, RoutedEventArgs e)  //下ボタン
        {
            int selectedIndex = files_listview.SelectedIndex;

            if (selectedIndex < 0)
            {
                AleartWindow aleartWindow = new AleartWindow
                {
                    windowName   = "Aleart",
                    aleartDetail = "Please select arbitrary file."
                };

                aleartWindow.ShowDialog();
                return;
            }

            if (selectedIndex < files_listview.Items.Count - 1) //一番下を選択中は無効
            {
                // ファイル名変更
                RenameFile(selectedIndex + 1, "wav", true);
                RenameFile(selectedIndex + 1, "txt", true);

                RenameFile(selectedIndex, "wav", false);
                RenameFile(selectedIndex, "txt", false);

                // DB入れ替え処理
                NKernel.fileName.Clear();
                List_init();
            }
        }
Exemple #3
0
        /// <summary>
        /// ファイル名を変更します
        /// </summary>
        /// <param name="index">NKernel.fileName のインデックス</param>
        /// <param name="extension">拡張子</param>
        /// <param name="isUp">上に移動か</param>
        public void RenameFile(int index, string extension, bool isUp)
        {
            string _upData = NKernel.fileName[index];
            string _upDir  = NKernel.observeDirectory + @"\" + _upData + "." + extension;
            string _upedDir;

            if (isUp)
            {
                _upedDir = NKernel.observeDirectory + @"\" + index.ToString("000") + _upData.Remove(0, 3) + "." + extension;
            }
            else
            {
                _upedDir = NKernel.observeDirectory + @"\" + (index + 2).ToString("000") + _upData.Remove(0, 3) + "." + extension;
            }

            try
            {
                File.Move(_upDir, _upedDir);
            }
            catch
            {
                AleartWindow aleartWindow = new AleartWindow
                {
                    windowName   = "Error",
                    aleartDetail = "The required files could not be found."
                };

                aleartWindow.ShowDialog();
                this.Close(); //重大なエラー
            }
        }
Exemple #4
0
        private void sortSelect_button_Click(object sender, RoutedEventArgs e)  //ファイル移動ボタン
        {
            int selectedIndex = files_listview.SelectedIndex;

            if (selectedIndex < 0)
            {
                AleartWindow aleartWindow = new AleartWindow
                {
                    windowName   = "Aleart",
                    aleartDetail = "Please select arbitrary file."
                };

                aleartWindow.ShowDialog();
                return;
            }

            FileMove fileMove = new FileMove();

            fileMove.maxIndex      = NKernel.fileName.Count - 1;
            fileMove.selectedIndex = selectedIndex;
            fileMove.ShowDialog();

            if (fileMove.trueClose) //ウィンドウが正しく閉じられた場合
            {
                int toMoveIndex = fileMove.moveNum;

                if (toMoveIndex < selectedIndex)
                {
                    for (int i = selectedIndex; i > toMoveIndex - 1; i--)
                    {
                        RenameFile(i - 1, "wav", false);
                        RenameFile(i - 1, "txt", false);
                    }

                    File.Move(NKernel.observeDirectory + @"\" + NKernel.fileName[selectedIndex] + ".wav", NKernel.observeDirectory + @"\" + toMoveIndex.ToString("000") + NKernel.fileName[selectedIndex].Remove(0, 3) + ".wav");
                    File.Move(NKernel.observeDirectory + @"\" + NKernel.fileName[selectedIndex] + ".txt", NKernel.observeDirectory + @"\" + toMoveIndex.ToString("000") + NKernel.fileName[selectedIndex].Remove(0, 3) + ".txt");
                }
                else if (toMoveIndex > selectedIndex)
                {
                    for (int i = selectedIndex; i < toMoveIndex - 1; i++)
                    {
                        RenameFile(i + 1, "wav", true);
                        RenameFile(i + 1, "txt", true);
                    }

                    File.Move(NKernel.observeDirectory + @"\" + NKernel.fileName[selectedIndex] + ".wav", NKernel.observeDirectory + @"\" + toMoveIndex.ToString("000") + NKernel.fileName[selectedIndex].Remove(0, 3) + ".wav");
                    File.Move(NKernel.observeDirectory + @"\" + NKernel.fileName[selectedIndex] + ".txt", NKernel.observeDirectory + @"\" + toMoveIndex.ToString("000") + NKernel.fileName[selectedIndex].Remove(0, 3) + ".txt");
                }

                NKernel.fileName.Clear();
                List_init();
            }
        }
Exemple #5
0
        /// <summary>
        /// ファイル変更トリガー処理
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        public void FileUpdata(object source, FileSystemEventArgs e)
        {
            switch (e.ChangeType)
            {
            case WatcherChangeTypes.Created:
                string _fileName = e.FullPath.Replace(NKernel.observeDirectory + @"\", "");
                if (_fileName == "nalice.txt")
                {
                    string   textDetail = ReadTextFile(e.FullPath);
                    string[] noChar     = { @"\", "/", ":", "*", "?", "\"", "<", ">", "|", Environment.NewLine };
                    foreach (var i in noChar)
                    {
                        textDetail = textDetail.Replace(i, "+");
                        Console.WriteLine("Replace : " + i + textDetail);
                    }
                    Console.WriteLine("TEXT : " + textDetail);
                    string newFileName         = (NKernel.fileName.Count + 1).ToString("000") + "_" + textDetail;
                    string newWavFileDirectory = NKernel.observeDirectory + @"\" + newFileName + ".wav";
                    string newTxtFileDirectory = NKernel.observeDirectory + @"\" + newFileName + ".txt";
                    bool   j = true;
                    int    k = 0;
                    while (j)
                    {
                        try
                        {
                            File.Move(e.FullPath.Replace(".txt", ".wav"), newWavFileDirectory);
                            File.Move(e.FullPath, newTxtFileDirectory);
                            j = false;
                        }
                        catch
                        {
                        }

                        k++;

                        if (k > 10000)
                        {
                            AleartWindow aleartWindow = new AleartWindow
                            {
                                windowName   = "Error",
                                aleartDetail = "Critical error about file renaming."
                            };

                            aleartWindow.ShowDialog();
                            this.Close();     //重大なエラー
                        }
                    }
                    NKernel.fileName.Add(newFileName);
                    this.Dispatcher.Invoke((Action)(() =>
                    {
                        files_listview.Items.Add(newFileName);
                    }));
                }
                Console.WriteLine($"NEW CREATION: {e.FullPath}");
                break;

            case WatcherChangeTypes.Deleted:
                Console.WriteLine($"DELETE: {e.FullPath}");
                break;

            case WatcherChangeTypes.Changed:
                Console.WriteLine($"CHANGE: {e.FullPath}");
                break;

            case WatcherChangeTypes.Renamed:
                var renameEventArgs = e as RenamedEventArgs;
                Console.WriteLine($"RENAME: {renameEventArgs.OldFullPath} => {renameEventArgs.FullPath}");
                break;
            }
        }