/// <summary> /// 新しい検索チケットを作成する。 /// </summary> /// <param name="ticket_id">作成する検索チケットのID。</param> /// <param name="option">検索条件。</param> /// <returns>検索チケットを作成した場合はtrue、指定されたチケットIDを持つ検索チケットが既にある場合はfalse。</returns> public static bool CreateNewTicket(string ticket_id, SearchingTagOption option) { string ticket_directory = GetTicketDirectory(ticket_id); if (Directory.Exists(ticket_directory)) { return(false); } string option_file = GetTicketOptionFile(ticket_id); Directory.CreateDirectory(ticket_directory); string option_text = SerializeSearchingOption(option); IJFile.WriteUTF8(option_file, option_text); return(true); }
public void ParseCategoryFile2(Form form) { string filename = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "category.txt"); string str; if (File.Exists(filename)) { str = IJFile.ReadUTF8(filename); if (!str.StartsWith("version")) // 昔のバージョンの category.txt なら { if (str != Properties.Resources.category204) // ユーザによって改変されているなら { File.Move(filename, Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "category_old1.txt")); // 念のためバックアップを取る if (form != null) { MessageBox.Show(form, "category.txt を category_old1.txt にリネームしました。", "ニコニコランキングメーカー", MessageBoxButtons.OK, MessageBoxIcon.Information); } else // for console { System.Console.WriteLine("category.txt を category_old1.txt にリネームしました。"); } } else { File.Delete(filename); } str = Properties.Resources.category; IJFile.WriteUTF8(filename, str); } } else { str = Properties.Resources.category; IJFile.WriteUTF8(filename, str); } string[] lines = IJStringUtil.SplitWithCRLF(str); for (int i = 1; i < lines.Length; ++i) { string[] ar = lines[i].Split('\t'); CategoryItem item = new CategoryItem(); item.id = ar[0]; item.short_name = ar[1]; item.name = ar[2]; int[] page = new int[5]; for (int j = 0; j < page.Length; ++j) { page[j] = int.Parse(ar[3 + j]); } item.page = page; category_item_dic_.Add(item.name, item); clistbox_.Items.Add(item.name, Array.IndexOf(category_config_, item.id) >= 0); } }