Ejemplo n.º 1
0
        ///// <summary>
        ///// XMLファイルからリストを開く
        ///// </summary>
        ///// <returns>XMLから開いたリスト</returns>
        //public List<LaunchSoft> DeserializeXML()
        //{
        //	List<LaunchSoft> llist = new List<LaunchSoft>();
        //	string filePath = "";

        //	filePath = OpenDialog("オープンするファイルを選択してください", gv.MyDirectory, _Kakuchoshi_XMLFile);
        //	if (filePath.Length > 0)
        //	{
        //		/* 選択したファイルをデシリアライズしてリストに格納する。 */
        //		XmlSerializer xmlSer = new XmlSerializer(typeof(List<LaunchSoft>));
        //		try
        //		{
        //			StreamReader sr = new StreamReader(filePath, new UTF8Encoding(false));
        //			llist = (List<LaunchSoft>)xmlSer.Deserialize(sr);
        //			sr.Close();
        //		}
        //		catch (NotSupportedException nse)
        //		{
        //			llist = new List<LaunchSoft>()
        //			{
        //				new LaunchSoft()
        //				{
        //					Launch = false,
        //					Name = "できない",
        //					Path = nse.ToString()
        //				}
        //			};
        //		}
        //	}
        //	else
        //	{
        //		/* 処理なし */
        //	}

        //	return llist;
        //}


        //public List<LaunchSoft> DeserializeXML(string xmlFilePath)
        //{
        //	List<LaunchSoft> llist = new List<LaunchSoft>();

        //	if (xmlFile.Path.Length > 0)
        //	{
        //		/* 選択したファイルをデシリアライズしてリストに格納する。 */
        //		XmlSerializer xmlSer = new XmlSerializer(typeof(List<LaunchSoft>));
        //		try
        //		{
        //			StreamReader sr = new StreamReader(xmlFile.Path, new UTF8Encoding(false));
        //			llist = (List<LaunchSoft>)xmlSer.Deserialize(sr);
        //			sr.Close();
        //		}
        //		catch (NotSupportedException nse)
        //		{
        //			llist = new List<LaunchSoft>()
        //			{
        //				new LaunchSoft()
        //				{
        //					Launch = false,
        //					Name = "できない",
        //					Path = nse.ToString()
        //				}
        //			};
        //		}
        //	}
        //	else
        //	{
        //		/* 処理なし */
        //	}

        //	return llist;
        //}

        ///// <summary>
        ///// 前回使用していたデータを開く。
        ///// 無ければ
        ///// </summary>
        ///// <returns>前回使用していたデータ</returns>
        //public List<LaunchSoft> OpenPrevData()
        //{
        //	List<LaunchSoft> llist = new List<LaunchSoft>();

        //	/* 選択したファイルをデシリアライズしてリストに格納する。 */
        //	XmlSerializer xmlSer = new XmlSerializer(typeof(List<LaunchSoft>));
        //	try
        //	{
        //		if (File.Exists(gv.GetPreviousFilePass()))
        //		{
        //			StreamReader sr = new StreamReader(gv.GetPreviousFilePass(), new UTF8Encoding(false));
        //			llist = (List<LaunchSoft>)xmlSer.Deserialize(sr);
        //			sr.Close();
        //		}
        //		else
        //		{
        //			llist = new List<LaunchSoft>();
        //		}
        //	}
        //	catch (NotSupportedException nse)
        //	{
        //		MessageBox.Show("関数OpenPrevDataでエラーが発生しました。\n" + nse.HResult + " : " + nse.Message );
        //		llist = new List<LaunchSoft>();
        //	}

        //	return llist;
        //}

        /// <summary>
        /// リスト内の重複をチェックする。
        /// </summary>
        /// <param name="checkList">チェックするリスト</param>
        /// <param name="checkData">チェックするデータ</param>
        /// <returns>重複の有無</returns>
        private bool DuplicateCheck(List <LaunchSoft> checkList, LaunchSoft checkData)
        {
            bool isDuplicate = false;

            foreach (LaunchSoft ls in checkList)
            {
                if (ls.Name.Contains(checkData.Name))
                {
                    isDuplicate = true;
                }
            }

            return(isDuplicate);
        }
Ejemplo n.º 2
0
        /* 起動するファイルを追加する */
        private void button_Add_Click(object sender, EventArgs e)
        {
            string     filepath = "";
            LaunchSoft addSoft  = new LaunchSoft();

            filepath = cc.OpenDialog("追加するファイルを選択してください", gv.GetDesktopPass(), "すべてのファイル|*.*");
            if (filepath.Length > 0)
            {
                addSoft.Launch = true;
                addSoft.Name   = Path.GetFileName(filepath);
                addSoft.Path   = filepath;
                cc.AddData(liSoft,
                           addSoft,
                           checkBox_DuplicateCheck.Checked);
                UpdateData();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// リストにソフトの情報(名前やパス)を追加する。
        /// </summary>
        /// <param name="lList">ソフトの情報を追加するリスト</param>
        /// <param name="doc">追加するソフトの情報</param>
        /// <param name="DupChk">重複のチェックボックスの状態</param>
        public void AddData(List <LaunchSoft> lList, LaunchSoft doc, bool DupChk)
        {
            // 重複があり、かつ重複が許されていなければ
            if (DuplicateCheck(lList, doc) && (DupChk == false))
            {
                DialogResult dr = new DialogResult();
                dr = MessageBox.Show("既に追加されています。\n同じデータを追加してもよろしいですか?", "重複確認", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);

                if (dr == DialogResult.Yes)
                {
                    lList.Add(doc);
                }
                return;
            }
            else
            {
                lList.Add(doc);
            }

            return;
        }