source: tags/1.4.0/UVCardFile.pas

Last change on this file was 134, checked in by chronos, 2 years ago
  • Modified: UDataFile unit moved into Common package and TDataFile class made TComponent descendant.
File size: 1.6 KB
Line 
1unit UVCardFile;
2
3interface
4
5uses
6 Classes, SysUtils, UVCard, UDataFile;
7
8type
9 { TVCardFile }
10
11 TVCardFile = class(TDataFile)
12 private
13 procedure VCardModify(Sender: TObject);
14 public
15 VCard: TVCard;
16 function GetFileName: string; override;
17 function GetFileExt: string; override;
18 function GetFileFilter: string; override;
19 procedure SaveToFile(FileName: string); override;
20 procedure LoadFromFile(FileName: string); override;
21 procedure Assign(Source: TPersistent); override;
22 constructor Create(AOwner: TComponent); override;
23 destructor Destroy; override;
24 end;
25
26
27implementation
28
29resourcestring
30 SVCardFile = 'vCard file';
31
32{ TVCardFile }
33
34procedure TVCardFile.VCardModify(Sender: TObject);
35begin
36 Modified := True;
37end;
38
39function TVCardFile.GetFileName: string;
40begin
41 Result := SVCardFile;
42end;
43
44function TVCardFile.GetFileExt: string;
45begin
46 Result := VCardFileExt;
47end;
48
49function TVCardFile.GetFileFilter: string;
50begin
51 Result := GetFileName + ' (' + GetFileExt + ')|*' + GetFileExt + '|' + inherited;
52end;
53
54procedure TVCardFile.SaveToFile(FileName: string);
55begin
56 inherited;
57 VCard.SaveToFile(FileName);
58end;
59
60procedure TVCardFile.LoadFromFile(FileName: string);
61begin
62 inherited;
63 VCard.LoadFromFile(FileName);
64end;
65
66procedure TVCardFile.Assign(Source: TPersistent);
67begin
68 inherited;
69 if Source is TVCardFile then
70 VCard.Assign(TVCardFile(Source).VCard);
71end;
72
73constructor TVCardFile.Create(AOwner: TComponent);
74begin
75 inherited;
76 VCard := TVCard.Create(nil);
77 VCard.OnModify := VCardModify;
78end;
79
80destructor TVCardFile.Destroy;
81begin
82 FreeAndNil(VCard);
83 inherited;
84end;
85
86end.
87
Note: See TracBrowser for help on using the repository browser.