source: platform/trunk/UProject.pas

Last change on this file was 11, checked in by chronos, 10 years ago
  • Added: Some new concept forms and actions.
File size: 1.5 KB
Line 
1unit UProject;
2
3interface
4
5uses
6 Generics.Collections, Classes, XMLDoc;
7
8type
9 TProjectFile = class
10 FileName: string;
11 Changed: string;
12 Source: TStringList;
13 constructor Create;
14 destructor Destroy; override;
15 end;
16
17 TProject = class
18 FileName: string;
19 Files: TList<TProjectFile>;
20 Modified: Boolean;
21 constructor Create;
22 destructor Destroy; override;
23 procedure LoadFromFile(FileName: string);
24 procedure SaveToFile(FileName: string);
25 procedure Load;
26 procedure Save;
27 end;
28
29implementation
30
31{ TProject }
32
33constructor TProject.Create;
34begin
35 Files := TList<TProjectFile>.Create;
36end;
37
38destructor TProject.Destroy;
39begin
40 Files.Free;
41 inherited;
42end;
43
44procedure TProject.Load;
45var
46 Doc: TXMLDocument;
47begin
48 try
49 Doc := TXMLDocument.Create(nil);
50 Doc.LoadFromFile(FileName);
51 Modified := False;
52 finally
53 Doc.Free;
54 end;
55end;
56
57procedure TProject.LoadFromFile(FileName: string);
58begin
59 Self.FileName := FileName;
60 Load;
61end;
62
63procedure TProject.Save;
64var
65 Doc: TXMLDocument;
66begin
67 try
68 Doc := TXMLDocument.Create(nil);
69 Doc.SaveToFile(FileName);
70 Modified := False;
71 finally
72 Doc.Free;
73 end;
74end;
75
76procedure TProject.SaveToFile(FileName: string);
77begin
78 Self.FileName := FileName;
79 Save;
80end;
81
82{ TProjectFile }
83
84constructor TProjectFile.Create;
85begin
86 Source := TStringList.Create;
87end;
88
89destructor TProjectFile.Destroy;
90begin
91 Source.Free;
92 inherited;
93end;
94
95end.
Note: See TracBrowser for help on using the repository browser.