/[projects]/dao/DelphiScanner/Components/tpsystools_4.04/source/StNVBits.pas
ViewVC logotype

Contents of /dao/DelphiScanner/Components/tpsystools_4.04/source/StNVBits.pas

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2671 - (show annotations) (download)
Tue Aug 25 18:15:15 2015 UTC (8 years, 9 months ago) by torben
File size: 3652 byte(s)
Added tpsystools component
1 // Upgraded to Delphi 2009: Sebastian Zierer
2
3 (* ***** BEGIN LICENSE BLOCK *****
4 * Version: MPL 1.1
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 1.1 (the "License"); you may not use this file except in compliance with
8 * the License. You may obtain a copy of the License at
9 * http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * The Original Code is TurboPower SysTools
17 *
18 * The Initial Developer of the Original Code is
19 * TurboPower Software
20 *
21 * Portions created by the Initial Developer are Copyright (C) 1996-2002
22 * the Initial Developer. All Rights Reserved.
23 *
24 * Contributor(s):
25 *
26 * ***** END LICENSE BLOCK ***** *)
27
28 {*********************************************************}
29 {* SysTools: StNVBits.pas 4.04 *}
30 {*********************************************************}
31 {* SysTools: non visual component for TStBits *}
32 {*********************************************************}
33
34 {$I StDefine.inc}
35
36 unit StNVBits;
37
38 interface
39
40 uses
41 Windows,
42 Classes,
43 StBase, StBits, StNVCont;
44
45 type
46 TStNVBits = class(TStNVContainerBase)
47 {.Z+}
48 protected {private}
49 {property variables}
50 FContainer : TStBits; {instance of the container}
51 FMaxBits : LongInt;
52
53 {property methods}
54 procedure SetMaxBits(Value : LongInt);
55
56 protected
57 {virtual property methods}
58 function GetOnLoadData : TStLoadDataEvent;
59 override;
60 function GetOnStoreData : TStStoreDataEvent;
61 override;
62 procedure SetOnLoadData(Value : TStLoadDataEvent);
63 override;
64 procedure SetOnStoreData(Value : TStStoreDataEvent);
65 override;
66
67 public
68 constructor Create(AOwner : TComponent);
69 override;
70 destructor Destroy;
71 override;
72 {.Z-}
73
74 property Container : TStBits
75 read FContainer;
76
77 published
78 property MaxBits : LongInt
79 read FMaxBits
80 write SetMaxBits default 100;
81
82 property OnLoadData;
83 property OnStoreData;
84 end;
85
86
87 implementation
88
89 {*** TStNVBits ***}
90
91 constructor TStNVBits.Create(AOwner : TComponent);
92 begin
93 inherited Create(AOwner);
94
95 {defaults}
96 FMaxBits := 100;
97
98 if Classes.GetClass(TStBits.ClassName) = nil then
99 RegisterClass(TStBits);
100
101 FContainer := TStBits.Create(FMaxBits-1);
102 end;
103
104 destructor TStNVBits.Destroy;
105 begin
106 FContainer.Free;
107 FContainer := nil;
108
109 inherited Destroy;
110 end;
111
112 function TStNVBits.GetOnLoadData : TStLoadDataEvent;
113 begin
114 Result := FContainer.OnLoadData;
115 end;
116
117 function TStNVBits.GetOnStoreData : TStStoreDataEvent;
118 begin
119 Result := FContainer.OnStoreData;
120 end;
121
122 procedure TStNVBits.SetMaxBits(Value : LongInt);
123 var
124 HoldOnLoadData : TStLoadDataEvent;
125 HoldOnStoreData : TStStoreDataEvent;
126 begin
127 {setting MaxBits will destroy exisiting data}
128 if Value < 0 then
129 Value := 0;
130 FMaxBits := Value;
131
132 HoldOnLoadData := FContainer.OnLoadData;
133 HoldOnStoreData := FContainer.OnStoreData;
134 FContainer.Free;
135 FContainer := TStBits.Create(FMaxBits-1);
136 FContainer.OnLoadData := HoldOnLoadData;
137 FContainer.OnStoreData := HoldOnStoreData;
138 end;
139
140 procedure TStNVBits.SetOnLoadData(Value : TStLoadDataEvent);
141 begin
142 FContainer.OnLoadData := Value;
143 end;
144
145 procedure TStNVBits.SetOnStoreData(Value : TStStoreDataEvent);
146 begin
147 FContainer.OnStoreData := Value;
148 end;
149
150
151 end.

  ViewVC Help
Powered by ViewVC 1.1.20