source: 2014/tet/FileWatcher/FileWatcher/Executable.cs @ 5261

Revision 4833, 2.2 KB checked in by anlakane, 7 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6namespace FileWatcher
7{
8    /// <summary>
9    /// Ajettavan ohjelman tiedot.
10    /// </summary>
11    [Serializable]
12    public class Executable
13    {
14        /// <summary>
15        /// Ohjelman hakemistopolku.
16        /// </summary>
17        public string Path { get; set; }
18
19        /// <summary>
20        /// Ohjelman argumentit.
21        /// </summary>
22        public string Arguments { get; set; }
23
24        /// <summary>
25        /// Käytetäänkö ensimmäisenä parametrina oletuksena tiedostoa.
26        /// </summary>
27        public bool HasFileAsFirstParameter { get; set; }
28
29        /// <summary>
30        /// Ohjelmat, jotka ajetaan tämän ohjelman jälkeen.
31        /// </summary>
32        public List<Executable> SubPrograms { get; set; }
33
34        public Executable Parent { get; set; }
35
36        /// <summary>
37        /// Mikä ohjelma on vuorossa.
38        /// </summary>
39        public int CurrentSubProgram { get; set; }
40
41        public Executable(string path, string arguments, bool hasfileasfirstparameter)
42        {
43            Path = path;
44            Arguments = arguments;
45            HasFileAsFirstParameter = hasfileasfirstparameter;
46            SubPrograms = new List<Executable>();
47        }
48
49        public Executable(string path, string arguments, bool hasfileasfirstparameter, Executable parent)
50        {
51            Path = path;
52            Arguments = arguments;
53            HasFileAsFirstParameter = hasfileasfirstparameter;
54            SubPrograms = new List<Executable>();
55            Parent = parent;
56        }
57
58
59        /// <summary>
60        /// Palauttaa ohjelman nimen ilman hakemistopolkua.
61        /// </summary>
62        /// <returns>Ohjelman nimi.</returns>
63        public String GetName()
64        {
65            int kauttaviivanPaikka = 0;
66            String nimi = "";
67            for (int i = Path.Length - 1; i >= 0; i--)
68            {
69                if (Path[i] == '\\')
70                {
71                    kauttaviivanPaikka = i;
72                    break;
73                }
74            }
75            nimi = Path.Substring(kauttaviivanPaikka + 1);
76            return nimi;
77        }
78    }
79}
Note: See TracBrowser for help on using the repository browser.