├── .gitignore
├── JSONDoc.pas
├── JSONTreeView.pas
├── LICENSE.md
├── README.md
├── jsoncomps_grp.groupproj
├── jsondoc.dcr
├── jsondoc_dsgn.dpk
├── jsondoc_dsgn.dproj
├── jsondoc_regs.pas
├── jsondoc_rt.dpk
├── jsondoc_rt.dproj
├── jsontreeview_dsgn.dpk
├── jsontreeview_dsgn.dproj
├── jsontreeview_regs.pas
├── jsontreeview_rt.dpk
└── jsontreeview_rt.dproj
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | *.identcache
3 |
4 |
5 | *.dcu
6 |
7 |
8 | *.local
9 |
10 |
11 | *.res
12 |
13 | *.exe
14 | *.~*~
15 | *.stat
--------------------------------------------------------------------------------
/JSONDoc.pas:
--------------------------------------------------------------------------------
1 | unit JSONDoc;
2 |
3 | // ***********************************************************************
4 | //
5 | // JSON Document Component
6 | //
7 | // pawel.glowacki@embarcadero.com
8 | //
9 | // July 2010 - version 1.0
10 | // February 2016 - version 1.1
11 | //
12 | // ***********************************************************************
13 |
14 | interface
15 |
16 | uses
17 | System.Classes, System.JSON;
18 |
19 | type
20 | TJSONDocument = class(TComponent)
21 | private
22 | FRootValue: TJSONValue;
23 | FJsonText: string;
24 | FOnChange: TNotifyEvent;
25 | procedure SetJsonText(const Value: string);
26 | protected
27 | procedure FreeRootValue;
28 | procedure DoOnChange; virtual;
29 | procedure ProcessJsonText;
30 | public
31 | class function StripNonJson(s: string): string; inline;
32 | constructor Create(AOwner: TComponent); override;
33 | destructor Destroy; override;
34 | function IsActive: boolean;
35 | function EstimatedByteSize: integer;
36 | property RootValue: TJSONValue read FRootValue;
37 | published
38 | property JsonText: string read FJsonText write SetJsonText;
39 | property OnChange: TNotifyEvent read FOnChange write FOnChange;
40 | end;
41 |
42 | implementation
43 |
44 | uses
45 | System.SysUtils, System.Character;
46 |
47 | { TJSONDocument }
48 |
49 | constructor TJSONDocument.Create(AOwner: TComponent);
50 | begin
51 | inherited;
52 | FRootValue := nil;
53 | FJsonText := '';
54 | end;
55 |
56 | destructor TJSONDocument.Destroy;
57 | begin
58 | FreeRootValue;
59 | inherited;
60 | end;
61 |
62 | procedure TJSONDocument.FreeRootValue;
63 | begin
64 | if Assigned(FRootValue) then
65 | FreeAndNil(FRootValue);
66 | end;
67 |
68 | procedure TJSONDocument.DoOnChange;
69 | begin
70 | if Assigned(FOnChange) then
71 | FOnChange(self);
72 | end;
73 |
74 | function TJSONDocument.EstimatedByteSize: integer;
75 | begin
76 | if IsActive then
77 | Result := FRootValue.EstimatedByteSize
78 | else
79 | Result := 0;
80 | end;
81 |
82 | function TJSONDocument.IsActive: boolean;
83 | begin
84 | Result := RootValue <> nil;
85 | end;
86 |
87 | procedure TJSONDocument.SetJsonText(const Value: string);
88 | begin
89 | if FJsonText <> Value then
90 | begin
91 | FreeRootValue;
92 | FJsonText := Value;
93 | if FJsonText <> '' then
94 | ProcessJsonText;
95 | if not IsActive then
96 | FJsonText := '';
97 | end;
98 | end;
99 |
100 | procedure TJSONDocument.ProcessJsonText;
101 | var s: string;
102 | begin
103 | FreeRootValue;
104 | s := StripNonJson(JsonText);
105 | FRootValue := TJSONObject.ParseJSONValue(BytesOf(s),0);
106 | DoOnChange;
107 | end;
108 |
109 | class function TJSONDocument.StripNonJson(s: string): string;
110 | var ch: char; inString: boolean;
111 | begin
112 | Result := '';
113 | inString := false;
114 | for ch in s do
115 | begin
116 | if ch = '"' then
117 | inString := not inString;
118 |
119 | if ch.IsWhiteSpace and not inString then
120 | continue;
121 |
122 | Result := Result + ch;
123 | end;
124 | end;
125 |
126 | end.
127 |
128 |
--------------------------------------------------------------------------------
/JSONTreeView.pas:
--------------------------------------------------------------------------------
1 | unit JSONTreeView;
2 |
3 | // ***********************************************************************
4 | //
5 | // JSON TreeView Component
6 | //
7 | // pawel.glowacki@embarcadero.com
8 | //
9 | // July 2010 - version 1.0
10 | // February 2016 - version 1.1
11 | //
12 | // ***********************************************************************
13 |
14 | interface
15 |
16 | uses
17 | System.Classes, System.SysUtils, System.JSON, jsondoc, Vcl.ComCtrls;
18 |
19 | type
20 | EUnknownJsonValueDescendant = class(Exception)
21 | constructor Create;
22 | end;
23 |
24 | TJSONTreeView = class(TTreeView)
25 | private
26 | FJSONDocument: TJSONDocument;
27 | FVisibleChildrenCounts: boolean;
28 | FVisibleByteSizes: boolean;
29 | procedure SetJSONDocument(const Value: TJSONDocument);
30 | procedure SetVisibleChildrenCounts(const Value: boolean);
31 | procedure SetVisibleByteSizes(const Value: boolean);
32 | procedure ProcessElement(currNode: TTreeNode; arr: TJSONArray;
33 | aIndex: integer);
34 | procedure ProcessPair(currNode: TTreeNode; obj: TJSONObject;
35 | aIndex: integer);
36 | protected
37 | procedure Notification(AComponent: TComponent;
38 | Operation: TOperation); override;
39 | public
40 | class function IsSimpleJsonValue(v: TJSONValue): boolean; inline;
41 | class function UnQuote(s: string): string; inline;
42 | constructor Create(AOwner: TComponent); override;
43 | procedure ClearAll;
44 | procedure LoadJson;
45 | published
46 | property JSONDocument: TJSONDocument
47 | read FJSONDocument write SetJSONDocument;
48 | property VisibleChildrenCounts: boolean
49 | read FVisibleChildrenCounts write SetVisibleChildrenCounts;
50 | property VisibleByteSizes: boolean
51 | read FVisibleByteSizes write SetVisibleByteSizes;
52 | end;
53 |
54 | implementation
55 |
56 | { TJSONTreeView }
57 |
58 | procedure TJSONTreeView.ClearAll;
59 | begin
60 | Items.Clear;
61 | end;
62 |
63 | constructor TJSONTreeView.Create(AOwner: TComponent);
64 | begin
65 | inherited;
66 | FVisibleChildrenCounts := true;
67 | FVisibleByteSizes := false;
68 | end;
69 |
70 | class function TJSONTreeView.IsSimpleJsonValue(v: TJSONValue): boolean;
71 | begin
72 | Result := (v is TJSONNumber)
73 | or (v is TJSONString)
74 | or (v is TJSONTrue)
75 | or (v is TJSONFalse)
76 | or (v is TJSONNull);
77 | end;
78 |
79 | procedure TJSONTreeView.LoadJson;
80 | var v: TJSONValue; currNode: TTreeNode; i, aCount: integer; s: string;
81 | begin
82 | ClearAll;
83 |
84 | if (JSONDocument <> nil) and JSONDocument.IsActive then
85 | begin
86 | v := JSONDocument.RootValue;
87 |
88 | Items.BeginUpdate;
89 | try
90 | Items.Clear;
91 |
92 | if IsSimpleJsonValue(v) then
93 | Items.AddChild(nil, UnQuote(v.Value))
94 |
95 | else
96 | if v is TJSONObject then
97 | begin
98 | aCount := TJSONObject(v).Count;
99 | s := '{}';
100 | if VisibleChildrenCounts then
101 | s := s + ' (' + IntToStr(aCount) + ')';
102 | if VisibleByteSizes then
103 | s := s + ' (' + IntToStr(v.EstimatedByteSize) + ' bytes)';
104 | currNode := Items.AddChild(nil, s);
105 | for i := 0 to aCount - 1 do
106 | ProcessPair(currNode, TJSONObject(v), i)
107 | end
108 |
109 | else
110 | if v is TJSONArray then
111 | begin
112 | aCount := TJSONArray(v).Count;
113 | s := '[]';
114 | if VisibleChildrenCounts then
115 | s := s + ' (' + IntToStr(aCount) + ')';
116 | if VisibleByteSizes then
117 | s := s + ' (' + IntToStr(v.EstimatedByteSize) + ' bytes)';
118 | currNode := Items.AddChild(nil, s);
119 | for i := 0 to aCount - 1 do
120 | ProcessElement(currNode, TJSONArray(v), i)
121 | end
122 |
123 | else
124 | raise EUnknownJsonValueDescendant.Create;
125 |
126 | finally
127 | Items.EndUpdate;
128 | end;
129 |
130 | FullExpand;
131 | end;
132 | end;
133 |
134 | procedure TJSONTreeView.ProcessPair(currNode: TTreeNode; obj: TJSONObject; aIndex: integer);
135 | var p: TJSONPair; s: string; n: TTreeNode; i, aCount: integer;
136 | begin
137 | p := obj.Pairs[aIndex];
138 |
139 | s := UnQuote(p.JsonString.ToString) + ' : ';
140 |
141 | if IsSimpleJsonValue(p.JsonValue) then
142 | begin
143 | Items.AddChild(currNode, s + p.JsonValue.ToString);
144 | exit;
145 | end;
146 |
147 | if p.JsonValue is TJSONObject then
148 | begin
149 | aCount := TJSONObject(p.JsonValue).Count;
150 | s := s + ' {}';
151 | if VisibleChildrenCounts then
152 | s := s + ' (' + IntToStr(aCount) + ')';
153 | if VisibleByteSizes then
154 | s := s + ' (' + IntToStr(p.EstimatedByteSize) + ' bytes)';
155 | n := Items.AddChild(currNode, s);
156 | for i := 0 to aCount - 1 do
157 | ProcessPair(n, TJSONObject(p.JsonValue), i);
158 | end
159 |
160 | else if p.JsonValue is TJSONArray then
161 | begin
162 | aCount := TJSONArray(p.JsonValue).Count;
163 | s := s + ' []';
164 | if VisibleChildrenCounts then
165 | s := s + ' (' + IntToStr(aCount) + ')';
166 | if VisibleByteSizes then
167 | s := s + ' (' + IntToStr(p.EstimatedByteSize) + ' bytes)';
168 | n := Items.AddChild(currNode, s);
169 | for i := 0 to aCount - 1 do
170 | ProcessElement(n, TJSONArray(p.JsonValue), i);
171 | end
172 | else
173 | raise EUnknownJsonValueDescendant.Create;
174 | end;
175 |
176 | procedure TJSONTreeView.ProcessElement(currNode: TTreeNode; arr: TJSONArray; aIndex: integer);
177 | var v: TJSONValue; s: string; n: TTreeNode; i, aCount: integer;
178 | begin
179 | v := arr.Items[aIndex];
180 | s := '[' + IntToStr(aIndex) + '] ';
181 |
182 | if IsSimpleJsonValue(v) then
183 | begin
184 | Items.AddChild(currNode, s + v.ToString);
185 | exit;
186 | end;
187 |
188 | if v is TJSONObject then
189 | begin
190 | aCount := TJSONObject(v).Count;
191 | s := s + ' {}';
192 | if VisibleChildrenCounts then
193 | s := s + ' (' + IntToStr(aCount) + ')';
194 | if VisibleByteSizes then
195 | s := s + ' (' + IntToStr(v.EstimatedByteSize) + ' bytes)';
196 | n := Items.AddChild(currNode, s);
197 | for i := 0 to aCount - 1 do
198 | ProcessPair(n, TJSONObject(v), i);
199 | end
200 |
201 | else if v is TJSONArray then
202 | begin
203 | aCount := TJSONArray(v).Count;
204 | s := s + ' []';
205 | n := Items.AddChild(currNode, s);
206 | if VisibleChildrenCounts then
207 | s := s + ' (' + IntToStr(aCount) + ')';
208 | if VisibleByteSizes then
209 | s := s + ' (' + IntToStr(v.EstimatedByteSize) + ' bytes)';
210 | for i := 0 to aCount - 1 do
211 | ProcessElement(n, TJSONArray(v), i);
212 | end
213 | else
214 | raise EUnknownJsonValueDescendant.Create;
215 |
216 | end;
217 |
218 | procedure TJSONTreeView.SetJSONDocument(const Value: TJSONDocument);
219 | begin
220 | if FJSONDocument <> Value then
221 | begin
222 | FJSONDocument := Value;
223 | ClearAll;
224 | if FJSONDocument <> nil then
225 | begin
226 | if FJSONDocument.IsActive then
227 | LoadJson;
228 | end;
229 | end;
230 | end;
231 |
232 | procedure TJSONTreeView.SetVisibleByteSizes(const Value: boolean);
233 | begin
234 | if FVisibleByteSizes <> Value then
235 | begin
236 | FVisibleByteSizes := Value;
237 | LoadJson;
238 | end;
239 | end;
240 |
241 | procedure TJSONTreeView.SetVisibleChildrenCounts(const Value: boolean);
242 | begin
243 | if FVisibleChildrenCounts <> Value then
244 | begin
245 | FVisibleChildrenCounts := Value;
246 | LoadJson;
247 | end;
248 | end;
249 |
250 | class function TJSONTreeView.UnQuote(s: string): string;
251 | begin
252 | Result := Copy(s,2,Length(s)-2);
253 | end;
254 |
255 | procedure TJSONTreeView.Notification(AComponent: TComponent;
256 | Operation: TOperation);
257 | begin
258 | inherited;
259 |
260 | if Operation = opRemove then
261 | if FJSONDocument <> nil then
262 | if AComponent = FJSONDocument then
263 | begin
264 | FJSONDocument := nil;
265 | ClearAll;
266 | end;
267 | end;
268 |
269 | { EUnknownJsonValueDescendant }
270 |
271 | resourcestring
272 | StrUnknownTJSONValueDescendant = 'Unknown TJSONValue descendant';
273 |
274 | constructor EUnknownJsonValueDescendant.Create;
275 | begin
276 | inherited Create(StrUnknownTJSONValueDescendant);
277 | end;
278 |
279 | end.
280 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pglowack/DelphiJSONComponents/46325ae0418fabdc4353430c9674902f77776884/LICENSE.md
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Delphi 10 "Seattle" JSON Components
2 | by pawel.glowacki@embarcadero.com
3 |
4 | "TJSONDocument" and "TJSONTreeView" components
5 |
6 | More information at:
7 | http://community.embarcadero.com/blogs/entry/learn-how-to-use-the-new-json-features-in-rad-studio-10-seattle-webinar-march-2nd-wednesday
8 |
9 | "Learn How to Use the New JSON Features in Delphi 10 Seattle" Whitepaper:
10 | http://cc.embarcadero.com/Item/30496
11 |
12 | ========================================
13 |
14 | Open "jsoncomps_grp" project group in Embarcadero Delphi.
15 |
16 | Build All.
17 |
18 | Install "jsondoc_dsgn" package.
19 |
20 | Install "jsontreeview_dsgn" package.
21 |
22 | Add the folder with components source code to Delphi "Browsing Path"
23 |
--------------------------------------------------------------------------------
/jsoncomps_grp.groupproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {879801F3-3E14-4182-A6B9-B66A0FB1DBEC}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Default.Personality.12
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/jsondoc.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pglowack/DelphiJSONComponents/46325ae0418fabdc4353430c9674902f77776884/jsondoc.dcr
--------------------------------------------------------------------------------
/jsondoc_dsgn.dpk:
--------------------------------------------------------------------------------
1 | package jsondoc_dsgn;
2 |
3 | {$R *.res}
4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
5 | {$ALIGN 8}
6 | {$ASSERTIONS ON}
7 | {$BOOLEVAL OFF}
8 | {$DEBUGINFO OFF}
9 | {$EXTENDEDSYNTAX ON}
10 | {$IMPORTEDDATA ON}
11 | {$IOCHECKS ON}
12 | {$LOCALSYMBOLS ON}
13 | {$LONGSTRINGS ON}
14 | {$OPENSTRINGS ON}
15 | {$OPTIMIZATION OFF}
16 | {$OVERFLOWCHECKS OFF}
17 | {$RANGECHECKS OFF}
18 | {$REFERENCEINFO ON}
19 | {$SAFEDIVIDE OFF}
20 | {$STACKFRAMES ON}
21 | {$TYPEDADDRESS OFF}
22 | {$VARSTRINGCHECKS ON}
23 | {$WRITEABLECONST OFF}
24 | {$MINENUMSIZE 1}
25 | {$IMAGEBASE $400000}
26 | {$DEFINE DEBUG}
27 | {$ENDIF IMPLICITBUILDING}
28 | {$DESCRIPTION 'JSON Document - Designtime'}
29 | {$DESIGNONLY}
30 | {$IMPLICITBUILD ON}
31 |
32 | requires
33 | rtl;
34 |
35 | contains
36 | jsondoc_regs in 'jsondoc_regs.pas';
37 |
38 | end.
39 |
--------------------------------------------------------------------------------
/jsondoc_dsgn.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {79A1DB52-A88E-40E0-BD6A-41AB3B104011}
4 | jsondoc_dsgn.dpk
5 | 18.0
6 | None
7 | True
8 | Debug
9 | Win32
10 | 1
11 | Package
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Base
49 | true
50 |
51 |
52 | true
53 | Base
54 | true
55 |
56 |
57 | true
58 | Cfg_1
59 | true
60 | true
61 |
62 |
63 | true
64 | Base
65 | true
66 |
67 |
68 | true
69 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
70 | jsondoc_dsgn
71 | All
72 | true
73 | true
74 | .\$(Platform)\$(Config)
75 | .\$(Platform)\$(Config)
76 |
77 |
78 | rtl;$(DCC_UsePackage)
79 | android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar
80 | None
81 |
82 |
83 | rtl;$(DCC_UsePackage)
84 | None
85 |
86 |
87 | rtl;$(DCC_UsePackage)
88 | None
89 |
90 |
91 | rtl;$(DCC_UsePackage)
92 | None
93 |
94 |
95 | rtl;$(DCC_UsePackage)
96 |
97 |
98 | rtl;$(DCC_UsePackage)
99 | JSON Document - Designtime
100 | true
101 | 1033
102 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=
103 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
104 |
105 |
106 | rtl;$(DCC_UsePackage)
107 |
108 |
109 | DEBUG;$(DCC_Define)
110 | true
111 | false
112 | true
113 | true
114 | true
115 |
116 |
117 | 1033
118 | true
119 | false
120 |
121 |
122 | false
123 | RELEASE;$(DCC_Define)
124 | 0
125 | 0
126 |
127 |
128 |
129 | MainSource
130 |
131 |
132 |
133 |
134 | Cfg_2
135 | Base
136 |
137 |
138 | Base
139 |
140 |
141 | Cfg_1
142 | Base
143 |
144 |
145 |
146 | Delphi.Personality.12
147 | Package
148 |
149 |
150 |
151 | jsondoc_dsgn.dpk
152 |
153 |
154 | Embarcadero C++Builder Office 2000 Servers Package
155 | Embarcadero C++Builder Office XP Servers Package
156 | Microsoft Office 2000 Sample Automation Server Wrapper Components
157 | Microsoft Office XP Sample Automation Server Wrapper Components
158 | TeeChart Pro 2015 VCL Components
159 | TeeChart Pro 2015 for FireMonkey Components
160 | TeeTree 2 Components
161 | TeeTree for FireMonkey
162 |
163 |
164 |
165 |
166 |
167 | true
168 |
169 |
170 |
171 |
172 | true
173 |
174 |
175 |
176 |
177 | true
178 |
179 |
180 |
181 |
182 | jsondoc_dsgn.bpl
183 | true
184 |
185 |
186 |
187 |
188 |
189 | Contents\Resources
190 | 1
191 |
192 |
193 |
194 |
195 | classes
196 | 1
197 |
198 |
199 |
200 |
201 | Contents\MacOS
202 | 0
203 |
204 |
205 | 1
206 |
207 |
208 |
209 |
210 | 1
211 |
212 |
213 | 1
214 |
215 |
216 | 1
217 |
218 |
219 |
220 |
221 | res\drawable-xxhdpi
222 | 1
223 |
224 |
225 |
226 |
227 | library\lib\mips
228 | 1
229 |
230 |
231 |
232 |
233 | 0
234 |
235 |
236 | 1
237 |
238 |
239 | 1
240 |
241 |
242 | 1
243 |
244 |
245 | library\lib\armeabi-v7a
246 | 1
247 |
248 |
249 | 1
250 |
251 |
252 |
253 |
254 | 0
255 |
256 |
257 | 1
258 | .framework
259 |
260 |
261 |
262 |
263 | 1
264 |
265 |
266 | 1
267 |
268 |
269 | 1
270 |
271 |
272 |
273 |
274 | 1
275 |
276 |
277 | 1
278 |
279 |
280 | 1
281 |
282 |
283 |
284 |
285 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
286 | 1
287 |
288 |
289 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
290 | 1
291 |
292 |
293 |
294 |
295 | library\lib\x86
296 | 1
297 |
298 |
299 |
300 |
301 | 1
302 |
303 |
304 | 1
305 |
306 |
307 | 1
308 |
309 |
310 |
311 |
312 |
313 | library\lib\armeabi
314 | 1
315 |
316 |
317 |
318 |
319 | 0
320 |
321 |
322 | 1
323 |
324 |
325 | 1
326 |
327 |
328 |
329 |
330 | 1
331 |
332 |
333 | 1
334 |
335 |
336 | 1
337 |
338 |
339 |
340 |
341 | res\drawable-normal
342 | 1
343 |
344 |
345 |
346 |
347 | res\drawable-xhdpi
348 | 1
349 |
350 |
351 |
352 |
353 | res\drawable-large
354 | 1
355 |
356 |
357 |
358 |
359 | 1
360 |
361 |
362 | 1
363 |
364 |
365 | 1
366 |
367 |
368 |
369 |
370 |
371 | res\drawable-hdpi
372 | 1
373 |
374 |
375 |
376 |
377 | library\lib\armeabi-v7a
378 | 1
379 |
380 |
381 |
382 |
383 |
384 |
385 | 1
386 |
387 |
388 | 1
389 |
390 |
391 | 1
392 |
393 |
394 |
395 |
396 | res\values
397 | 1
398 |
399 |
400 |
401 |
402 | res\drawable-small
403 | 1
404 |
405 |
406 |
407 |
408 | res\drawable
409 | 1
410 |
411 |
412 |
413 |
414 | 1
415 |
416 |
417 | 1
418 |
419 |
420 | 1
421 |
422 |
423 |
424 |
425 | 1
426 |
427 |
428 |
429 |
430 | res\drawable
431 | 1
432 |
433 |
434 |
435 |
436 | 0
437 |
438 |
439 | 0
440 |
441 |
442 | 0
443 |
444 |
445 | 0
446 |
447 |
448 | 0
449 |
450 |
451 | 0
452 |
453 |
454 |
455 |
456 | library\lib\armeabi-v7a
457 | 1
458 |
459 |
460 |
461 |
462 | 0
463 | .bpl
464 |
465 |
466 | 1
467 | .dylib
468 |
469 |
470 | 1
471 | .dylib
472 |
473 |
474 | 1
475 | .dylib
476 |
477 |
478 | 1
479 | .dylib
480 |
481 |
482 |
483 |
484 | res\drawable-mdpi
485 | 1
486 |
487 |
488 |
489 |
490 | res\drawable-xlarge
491 | 1
492 |
493 |
494 |
495 |
496 | res\drawable-ldpi
497 | 1
498 |
499 |
500 |
501 |
502 | 0
503 | .dll;.bpl
504 |
505 |
506 | 1
507 | .dylib
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 | False
520 | False
521 | False
522 | False
523 | False
524 | True
525 | False
526 |
527 |
528 | 12
529 |
530 |
531 |
532 |
533 |
534 |
--------------------------------------------------------------------------------
/jsondoc_regs.pas:
--------------------------------------------------------------------------------
1 | unit jsondoc_regs;
2 |
3 | // ***********************************************************************
4 | //
5 | // JSON Document Component
6 | //
7 | // pawel.glowacki@embarcadero.com
8 | //
9 | // July 2010 - version 1.0
10 | // February 2016 - version 1.1
11 | //
12 | // ***********************************************************************
13 |
14 |
15 | interface
16 |
17 | {$R jsondoc.dcr}
18 |
19 | procedure Register;
20 |
21 | implementation
22 |
23 | uses
24 | System.Classes, jsondoc;
25 |
26 | procedure Register;
27 | begin
28 | RegisterComponents('JSON', [TJSONDocument]);
29 | end;
30 |
31 | end.
32 |
--------------------------------------------------------------------------------
/jsondoc_rt.dpk:
--------------------------------------------------------------------------------
1 | package jsondoc_rt;
2 |
3 | {$R *.res}
4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
5 | {$ALIGN 8}
6 | {$ASSERTIONS ON}
7 | {$BOOLEVAL OFF}
8 | {$DEBUGINFO OFF}
9 | {$EXTENDEDSYNTAX ON}
10 | {$IMPORTEDDATA ON}
11 | {$IOCHECKS ON}
12 | {$LOCALSYMBOLS ON}
13 | {$LONGSTRINGS ON}
14 | {$OPENSTRINGS ON}
15 | {$OPTIMIZATION OFF}
16 | {$OVERFLOWCHECKS OFF}
17 | {$RANGECHECKS OFF}
18 | {$REFERENCEINFO ON}
19 | {$SAFEDIVIDE OFF}
20 | {$STACKFRAMES ON}
21 | {$TYPEDADDRESS OFF}
22 | {$VARSTRINGCHECKS ON}
23 | {$WRITEABLECONST OFF}
24 | {$MINENUMSIZE 1}
25 | {$IMAGEBASE $400000}
26 | {$DEFINE DEBUG}
27 | {$ENDIF IMPLICITBUILDING}
28 | {$DESCRIPTION 'JSON Document - Runtime'}
29 | {$IMPLICITBUILD ON}
30 |
31 | requires
32 | rtl;
33 |
34 | contains
35 | JSONDoc in 'JSONDoc.pas';
36 |
37 | end.
38 |
--------------------------------------------------------------------------------
/jsondoc_rt.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {5153162F-6602-46FA-9793-4C0E9396AF8E}
4 | jsondoc_rt.dpk
5 | 18.0
6 | None
7 | True
8 | Debug
9 | Win32
10 | 1
11 | Package
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Base
49 | true
50 |
51 |
52 | true
53 | Base
54 | true
55 |
56 |
57 | true
58 | Cfg_1
59 | true
60 | true
61 |
62 |
63 | true
64 | Base
65 | true
66 |
67 |
68 | jsondoc_rt
69 | true
70 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
71 | All
72 | true
73 | .\$(Platform)\$(Config)
74 | .\$(Platform)\$(Config)
75 |
76 |
77 | rtl;DbxCommonDriver;dbrtl;$(DCC_UsePackage)
78 | android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar
79 | None
80 |
81 |
82 | rtl;DbxCommonDriver;dbrtl;$(DCC_UsePackage)
83 | None
84 |
85 |
86 | rtl;DbxCommonDriver;dbrtl;$(DCC_UsePackage)
87 | None
88 |
89 |
90 | rtl;DbxCommonDriver;dbrtl;$(DCC_UsePackage)
91 | None
92 |
93 |
94 | rtl;DbxCommonDriver;dbrtl;$(DCC_UsePackage)
95 |
96 |
97 | rtl;DbxCommonDriver;dbrtl;vcl;$(DCC_UsePackage)
98 | JSON Document - Runtime
99 | true
100 | 1033
101 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=
102 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
103 |
104 |
105 | rtl;DbxCommonDriver;dbrtl;vcl;$(DCC_UsePackage)
106 |
107 |
108 | DEBUG;$(DCC_Define)
109 | true
110 | false
111 | true
112 | true
113 | true
114 |
115 |
116 | 1033
117 | JSON Document - Runtime
118 | true
119 | false
120 |
121 |
122 | false
123 | RELEASE;$(DCC_Define)
124 | 0
125 | 0
126 |
127 |
128 |
129 | MainSource
130 |
131 |
132 |
133 |
134 | Cfg_2
135 | Base
136 |
137 |
138 | Base
139 |
140 |
141 | Cfg_1
142 | Base
143 |
144 |
145 |
146 | Delphi.Personality.12
147 | Package
148 |
149 |
150 |
151 | Embarcadero C++Builder Office 2000 Servers Package
152 | Embarcadero C++Builder Office XP Servers Package
153 | Microsoft Office 2000 Sample Automation Server Wrapper Components
154 | Microsoft Office XP Sample Automation Server Wrapper Components
155 | TeeChart Pro 2015 VCL Components
156 | TeeChart Pro 2015 for FireMonkey Components
157 | TeeTree 2 Components
158 | TeeTree for FireMonkey
159 |
160 |
161 | jsondoc_rt.dpk
162 |
163 |
164 |
165 |
166 |
167 | true
168 |
169 |
170 |
171 |
172 | true
173 |
174 |
175 |
176 |
177 | true
178 |
179 |
180 |
181 |
182 | jsondoc_rt.bpl
183 | true
184 |
185 |
186 |
187 |
188 | 0
189 | .dll;.bpl
190 |
191 |
192 | 1
193 | .dylib
194 |
195 |
196 |
197 |
198 | Contents\Resources
199 | 1
200 |
201 |
202 |
203 |
204 | classes
205 | 1
206 |
207 |
208 |
209 |
210 | Contents\MacOS
211 | 0
212 |
213 |
214 | 1
215 |
216 |
217 |
218 |
219 | 1
220 |
221 |
222 | 1
223 |
224 |
225 | 1
226 |
227 |
228 |
229 |
230 | res\drawable-xxhdpi
231 | 1
232 |
233 |
234 |
235 |
236 | library\lib\mips
237 | 1
238 |
239 |
240 |
241 |
242 | 0
243 |
244 |
245 | 1
246 |
247 |
248 | 1
249 |
250 |
251 | 1
252 |
253 |
254 | library\lib\armeabi-v7a
255 | 1
256 |
257 |
258 | 1
259 |
260 |
261 |
262 |
263 | 0
264 |
265 |
266 | 1
267 | .framework
268 |
269 |
270 |
271 |
272 | 1
273 |
274 |
275 | 1
276 |
277 |
278 | 1
279 |
280 |
281 |
282 |
283 | 1
284 |
285 |
286 | 1
287 |
288 |
289 | 1
290 |
291 |
292 |
293 |
294 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
295 | 1
296 |
297 |
298 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
299 | 1
300 |
301 |
302 |
303 |
304 | library\lib\x86
305 | 1
306 |
307 |
308 |
309 |
310 | 1
311 |
312 |
313 | 1
314 |
315 |
316 | 1
317 |
318 |
319 |
320 |
321 |
322 | library\lib\armeabi
323 | 1
324 |
325 |
326 |
327 |
328 | 0
329 |
330 |
331 | 1
332 |
333 |
334 | 1
335 |
336 |
337 |
338 |
339 | 1
340 |
341 |
342 | 1
343 |
344 |
345 | 1
346 |
347 |
348 |
349 |
350 | res\drawable-normal
351 | 1
352 |
353 |
354 |
355 |
356 | res\drawable-xhdpi
357 | 1
358 |
359 |
360 |
361 |
362 | res\drawable-large
363 | 1
364 |
365 |
366 |
367 |
368 | 1
369 |
370 |
371 | 1
372 |
373 |
374 | 1
375 |
376 |
377 |
378 |
379 |
380 | res\drawable-hdpi
381 | 1
382 |
383 |
384 |
385 |
386 | library\lib\armeabi-v7a
387 | 1
388 |
389 |
390 |
391 |
392 |
393 |
394 | 1
395 |
396 |
397 | 1
398 |
399 |
400 | 1
401 |
402 |
403 |
404 |
405 | res\values
406 | 1
407 |
408 |
409 |
410 |
411 | res\drawable-small
412 | 1
413 |
414 |
415 |
416 |
417 | res\drawable
418 | 1
419 |
420 |
421 |
422 |
423 | 1
424 |
425 |
426 | 1
427 |
428 |
429 | 1
430 |
431 |
432 |
433 |
434 | 1
435 |
436 |
437 |
438 |
439 | res\drawable
440 | 1
441 |
442 |
443 |
444 |
445 | 0
446 |
447 |
448 | 0
449 |
450 |
451 | 0
452 |
453 |
454 | 0
455 |
456 |
457 | 0
458 |
459 |
460 | 0
461 |
462 |
463 |
464 |
465 | library\lib\armeabi-v7a
466 | 1
467 |
468 |
469 |
470 |
471 | 0
472 | .bpl
473 |
474 |
475 | 1
476 | .dylib
477 |
478 |
479 | 1
480 | .dylib
481 |
482 |
483 | 1
484 | .dylib
485 |
486 |
487 | 1
488 | .dylib
489 |
490 |
491 |
492 |
493 | res\drawable-mdpi
494 | 1
495 |
496 |
497 |
498 |
499 | res\drawable-xlarge
500 | 1
501 |
502 |
503 |
504 |
505 | res\drawable-ldpi
506 | 1
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 | False
520 | False
521 | False
522 | False
523 | False
524 | True
525 | False
526 |
527 |
528 | 12
529 |
530 |
531 |
532 |
533 |
534 |
--------------------------------------------------------------------------------
/jsontreeview_dsgn.dpk:
--------------------------------------------------------------------------------
1 | package jsontreeview_dsgn;
2 |
3 | {$R *.res}
4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
5 | {$ALIGN 8}
6 | {$ASSERTIONS ON}
7 | {$BOOLEVAL OFF}
8 | {$DEBUGINFO OFF}
9 | {$EXTENDEDSYNTAX ON}
10 | {$IMPORTEDDATA ON}
11 | {$IOCHECKS ON}
12 | {$LOCALSYMBOLS ON}
13 | {$LONGSTRINGS ON}
14 | {$OPENSTRINGS ON}
15 | {$OPTIMIZATION OFF}
16 | {$OVERFLOWCHECKS OFF}
17 | {$RANGECHECKS OFF}
18 | {$REFERENCEINFO ON}
19 | {$SAFEDIVIDE OFF}
20 | {$STACKFRAMES ON}
21 | {$TYPEDADDRESS OFF}
22 | {$VARSTRINGCHECKS ON}
23 | {$WRITEABLECONST OFF}
24 | {$MINENUMSIZE 1}
25 | {$IMAGEBASE $400000}
26 | {$DEFINE DEBUG}
27 | {$ENDIF IMPLICITBUILDING}
28 | {$DESCRIPTION 'JSON TreeView - Designtime'}
29 | {$DESIGNONLY}
30 | {$IMPLICITBUILD ON}
31 |
32 | requires
33 | rtl,
34 | vcl,
35 | jsondoc_dsgn;
36 |
37 | contains
38 | jsontreeview_regs in 'jsontreeview_regs.pas';
39 |
40 | end.
41 |
--------------------------------------------------------------------------------
/jsontreeview_dsgn.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {94F195FB-D50D-4496-8035-7230FA0070A3}
4 | jsontreeview_dsgn.dpk
5 | 18.0
6 | None
7 | True
8 | Debug
9 | Win32
10 | 1
11 | Package
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Base
49 | true
50 |
51 |
52 | true
53 | Base
54 | true
55 |
56 |
57 | true
58 | Cfg_1
59 | true
60 | true
61 |
62 |
63 | true
64 | Base
65 | true
66 |
67 |
68 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
69 | true
70 | All
71 | jsontreeview_dsgn
72 | true
73 | true
74 | .\$(Platform)\$(Config)
75 | .\$(Platform)\$(Config)
76 |
77 |
78 | android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar
79 | None
80 | rtl;$(DCC_UsePackage)
81 |
82 |
83 | None
84 | rtl;$(DCC_UsePackage)
85 |
86 |
87 | None
88 | rtl;$(DCC_UsePackage)
89 |
90 |
91 | None
92 | rtl;$(DCC_UsePackage)
93 |
94 |
95 | rtl;$(DCC_UsePackage)
96 |
97 |
98 | true
99 | 1033
100 | JSON TreeView - Designtime
101 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=
102 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
103 | rtl;vcl;$(DCC_UsePackage)
104 |
105 |
106 | rtl;vcl;$(DCC_UsePackage)
107 |
108 |
109 | DEBUG;$(DCC_Define)
110 | true
111 | false
112 | true
113 | true
114 | true
115 |
116 |
117 | 1033
118 | true
119 | false
120 |
121 |
122 | false
123 | RELEASE;$(DCC_Define)
124 | 0
125 | 0
126 |
127 |
128 |
129 | MainSource
130 |
131 |
132 |
133 |
134 |
135 |
136 | Cfg_2
137 | Base
138 |
139 |
140 | Base
141 |
142 |
143 | Cfg_1
144 | Base
145 |
146 |
147 |
148 | Delphi.Personality.12
149 | Package
150 |
151 |
152 |
153 | jsontreeview_dsgn.dpk
154 |
155 |
156 | Embarcadero C++Builder Office 2000 Servers Package
157 | Embarcadero C++Builder Office XP Servers Package
158 | Microsoft Office 2000 Sample Automation Server Wrapper Components
159 | Microsoft Office XP Sample Automation Server Wrapper Components
160 | TeeChart Pro 2015 VCL Components
161 | TeeChart Pro 2015 for FireMonkey Components
162 | TeeTree 2 Components
163 | TeeTree for FireMonkey
164 |
165 |
166 |
167 |
168 |
169 | true
170 |
171 |
172 |
173 |
174 | true
175 |
176 |
177 |
178 |
179 | true
180 |
181 |
182 |
183 |
184 | jsontreeview_dsgn.bpl
185 | true
186 |
187 |
188 |
189 |
190 | 0
191 | .dll;.bpl
192 |
193 |
194 | 1
195 | .dylib
196 |
197 |
198 |
199 |
200 | Contents\Resources
201 | 1
202 |
203 |
204 |
205 |
206 | classes
207 | 1
208 |
209 |
210 |
211 |
212 | Contents\MacOS
213 | 0
214 |
215 |
216 | 1
217 |
218 |
219 |
220 |
221 | 1
222 |
223 |
224 | 1
225 |
226 |
227 | 1
228 |
229 |
230 |
231 |
232 | res\drawable-xxhdpi
233 | 1
234 |
235 |
236 |
237 |
238 | library\lib\mips
239 | 1
240 |
241 |
242 |
243 |
244 | 0
245 |
246 |
247 | 1
248 |
249 |
250 | 1
251 |
252 |
253 | 1
254 |
255 |
256 | library\lib\armeabi-v7a
257 | 1
258 |
259 |
260 | 1
261 |
262 |
263 |
264 |
265 | 0
266 |
267 |
268 | 1
269 | .framework
270 |
271 |
272 |
273 |
274 | 1
275 |
276 |
277 | 1
278 |
279 |
280 | 1
281 |
282 |
283 |
284 |
285 | 1
286 |
287 |
288 | 1
289 |
290 |
291 | 1
292 |
293 |
294 |
295 |
296 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
297 | 1
298 |
299 |
300 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
301 | 1
302 |
303 |
304 |
305 |
306 | library\lib\x86
307 | 1
308 |
309 |
310 |
311 |
312 | 1
313 |
314 |
315 | 1
316 |
317 |
318 | 1
319 |
320 |
321 |
322 |
323 |
324 | library\lib\armeabi
325 | 1
326 |
327 |
328 |
329 |
330 | 0
331 |
332 |
333 | 1
334 |
335 |
336 | 1
337 |
338 |
339 |
340 |
341 | 1
342 |
343 |
344 | 1
345 |
346 |
347 | 1
348 |
349 |
350 |
351 |
352 | res\drawable-normal
353 | 1
354 |
355 |
356 |
357 |
358 | res\drawable-xhdpi
359 | 1
360 |
361 |
362 |
363 |
364 | res\drawable-large
365 | 1
366 |
367 |
368 |
369 |
370 | 1
371 |
372 |
373 | 1
374 |
375 |
376 | 1
377 |
378 |
379 |
380 |
381 |
382 | res\drawable-hdpi
383 | 1
384 |
385 |
386 |
387 |
388 | library\lib\armeabi-v7a
389 | 1
390 |
391 |
392 |
393 |
394 |
395 |
396 | 1
397 |
398 |
399 | 1
400 |
401 |
402 | 1
403 |
404 |
405 |
406 |
407 | res\values
408 | 1
409 |
410 |
411 |
412 |
413 | res\drawable-small
414 | 1
415 |
416 |
417 |
418 |
419 | res\drawable
420 | 1
421 |
422 |
423 |
424 |
425 | 1
426 |
427 |
428 | 1
429 |
430 |
431 | 1
432 |
433 |
434 |
435 |
436 | 1
437 |
438 |
439 |
440 |
441 | res\drawable
442 | 1
443 |
444 |
445 |
446 |
447 | 0
448 |
449 |
450 | 0
451 |
452 |
453 | 0
454 |
455 |
456 | 0
457 |
458 |
459 | 0
460 |
461 |
462 | 0
463 |
464 |
465 |
466 |
467 | library\lib\armeabi-v7a
468 | 1
469 |
470 |
471 |
472 |
473 | 0
474 | .bpl
475 |
476 |
477 | 1
478 | .dylib
479 |
480 |
481 | 1
482 | .dylib
483 |
484 |
485 | 1
486 | .dylib
487 |
488 |
489 | 1
490 | .dylib
491 |
492 |
493 |
494 |
495 | res\drawable-mdpi
496 | 1
497 |
498 |
499 |
500 |
501 | res\drawable-xlarge
502 | 1
503 |
504 |
505 |
506 |
507 | res\drawable-ldpi
508 | 1
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 | False
522 | False
523 | False
524 | False
525 | False
526 | True
527 | False
528 |
529 |
530 | 12
531 |
532 |
533 |
534 |
535 |
536 |
--------------------------------------------------------------------------------
/jsontreeview_regs.pas:
--------------------------------------------------------------------------------
1 | unit jsontreeview_regs;
2 |
3 | // ***********************************************************************
4 | //
5 | // JSON TreeView Component
6 | //
7 | // pawel.glowacki@embarcadero.com
8 | //
9 | // July 2010 - version 1.0
10 | // February 2016 - version 1.1
11 | //
12 | // ***********************************************************************
13 |
14 | interface
15 |
16 | procedure Register;
17 |
18 | implementation
19 |
20 | uses
21 | System.Classes, JSONTreeView;
22 |
23 | procedure Register;
24 | begin
25 | RegisterComponents('JSON', [TJSONTreeView]);
26 | end;
27 |
28 | end.
29 |
--------------------------------------------------------------------------------
/jsontreeview_rt.dpk:
--------------------------------------------------------------------------------
1 | package jsontreeview_rt;
2 |
3 | {$R *.res}
4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
5 | {$ALIGN 8}
6 | {$ASSERTIONS ON}
7 | {$BOOLEVAL OFF}
8 | {$DEBUGINFO OFF}
9 | {$EXTENDEDSYNTAX ON}
10 | {$IMPORTEDDATA ON}
11 | {$IOCHECKS ON}
12 | {$LOCALSYMBOLS ON}
13 | {$LONGSTRINGS ON}
14 | {$OPENSTRINGS ON}
15 | {$OPTIMIZATION OFF}
16 | {$OVERFLOWCHECKS OFF}
17 | {$RANGECHECKS OFF}
18 | {$REFERENCEINFO ON}
19 | {$SAFEDIVIDE OFF}
20 | {$STACKFRAMES ON}
21 | {$TYPEDADDRESS OFF}
22 | {$VARSTRINGCHECKS ON}
23 | {$WRITEABLECONST OFF}
24 | {$MINENUMSIZE 1}
25 | {$IMAGEBASE $400000}
26 | {$DEFINE DEBUG}
27 | {$ENDIF IMPLICITBUILDING}
28 | {$DESCRIPTION 'JSON Tree View - Runtime'}
29 | {$IMPLICITBUILD ON}
30 |
31 | requires
32 | rtl,
33 | vcl,
34 | jsondoc_dsgn;
35 |
36 | contains
37 | JSONTreeView in 'JSONTreeView.pas';
38 |
39 | end.
40 |
--------------------------------------------------------------------------------
/jsontreeview_rt.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {F5B1CCCC-E32E-4C92-BDB3-82D14E50BC32}
4 | jsontreeview_rt.dpk
5 | 18.0
6 | None
7 | True
8 | Debug
9 | Win32
10 | 1
11 | Package
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Cfg_1
49 | true
50 | true
51 |
52 |
53 | true
54 | Base
55 | true
56 |
57 |
58 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
59 | jsontreeview_rt
60 | All
61 | true
62 | true
63 | .\$(Platform)\$(Config)
64 | .\$(Platform)\$(Config)
65 |
66 |
67 | android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar
68 | None
69 |
70 |
71 | None
72 |
73 |
74 | None
75 |
76 |
77 | None
78 |
79 |
80 | 1033
81 | JSON TreeView - Runtime
82 | true
83 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=
84 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
85 |
86 |
87 | DEBUG;$(DCC_Define)
88 | true
89 | false
90 | true
91 | true
92 | true
93 |
94 |
95 | 1033
96 | JSON Tree View - Runtime
97 | true
98 | false
99 |
100 |
101 | false
102 | RELEASE;$(DCC_Define)
103 | 0
104 | 0
105 |
106 |
107 |
108 | MainSource
109 |
110 |
111 |
112 |
113 |
114 |
115 | Cfg_2
116 | Base
117 |
118 |
119 | Base
120 |
121 |
122 | Cfg_1
123 | Base
124 |
125 |
126 |
127 | Delphi.Personality.12
128 | Package
129 |
130 |
131 |
132 | jsontreeview_rt.dpk
133 |
134 |
135 | Embarcadero C++Builder Office 2000 Servers Package
136 | Embarcadero C++Builder Office XP Servers Package
137 | Microsoft Office 2000 Sample Automation Server Wrapper Components
138 | Microsoft Office XP Sample Automation Server Wrapper Components
139 | TeeChart Pro 2015 VCL Components
140 | TeeChart Pro 2015 for FireMonkey Components
141 | TeeTree 2 Components
142 | TeeTree for FireMonkey
143 |
144 |
145 |
146 |
147 |
148 | true
149 |
150 |
151 |
152 |
153 | true
154 |
155 |
156 |
157 |
158 | true
159 |
160 |
161 |
162 |
163 | jsontreeview_rt.bpl
164 | true
165 |
166 |
167 |
168 |
169 | 0
170 | .dll;.bpl
171 |
172 |
173 | 1
174 | .dylib
175 |
176 |
177 |
178 |
179 | Contents\Resources
180 | 1
181 |
182 |
183 |
184 |
185 | classes
186 | 1
187 |
188 |
189 |
190 |
191 | Contents\MacOS
192 | 0
193 |
194 |
195 | 1
196 |
197 |
198 |
199 |
200 | 1
201 |
202 |
203 | 1
204 |
205 |
206 | 1
207 |
208 |
209 |
210 |
211 | res\drawable-xxhdpi
212 | 1
213 |
214 |
215 |
216 |
217 | library\lib\mips
218 | 1
219 |
220 |
221 |
222 |
223 | 0
224 |
225 |
226 | 1
227 |
228 |
229 | 1
230 |
231 |
232 | 1
233 |
234 |
235 | library\lib\armeabi-v7a
236 | 1
237 |
238 |
239 | 1
240 |
241 |
242 |
243 |
244 | 0
245 |
246 |
247 | 1
248 | .framework
249 |
250 |
251 |
252 |
253 | 1
254 |
255 |
256 | 1
257 |
258 |
259 | 1
260 |
261 |
262 |
263 |
264 | 1
265 |
266 |
267 | 1
268 |
269 |
270 | 1
271 |
272 |
273 |
274 |
275 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
276 | 1
277 |
278 |
279 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
280 | 1
281 |
282 |
283 |
284 |
285 | library\lib\x86
286 | 1
287 |
288 |
289 |
290 |
291 | 1
292 |
293 |
294 | 1
295 |
296 |
297 | 1
298 |
299 |
300 |
301 |
302 |
303 | library\lib\armeabi
304 | 1
305 |
306 |
307 |
308 |
309 | 0
310 |
311 |
312 | 1
313 |
314 |
315 | 1
316 |
317 |
318 |
319 |
320 | 1
321 |
322 |
323 | 1
324 |
325 |
326 | 1
327 |
328 |
329 |
330 |
331 | res\drawable-normal
332 | 1
333 |
334 |
335 |
336 |
337 | res\drawable-xhdpi
338 | 1
339 |
340 |
341 |
342 |
343 | res\drawable-large
344 | 1
345 |
346 |
347 |
348 |
349 | 1
350 |
351 |
352 | 1
353 |
354 |
355 | 1
356 |
357 |
358 |
359 |
360 |
361 | res\drawable-hdpi
362 | 1
363 |
364 |
365 |
366 |
367 | library\lib\armeabi-v7a
368 | 1
369 |
370 |
371 |
372 |
373 |
374 |
375 | 1
376 |
377 |
378 | 1
379 |
380 |
381 | 1
382 |
383 |
384 |
385 |
386 | res\values
387 | 1
388 |
389 |
390 |
391 |
392 | res\drawable-small
393 | 1
394 |
395 |
396 |
397 |
398 | res\drawable
399 | 1
400 |
401 |
402 |
403 |
404 | 1
405 |
406 |
407 | 1
408 |
409 |
410 | 1
411 |
412 |
413 |
414 |
415 | 1
416 |
417 |
418 |
419 |
420 | res\drawable
421 | 1
422 |
423 |
424 |
425 |
426 | 0
427 |
428 |
429 | 0
430 |
431 |
432 | 0
433 |
434 |
435 | 0
436 |
437 |
438 | 0
439 |
440 |
441 | 0
442 |
443 |
444 |
445 |
446 | library\lib\armeabi-v7a
447 | 1
448 |
449 |
450 |
451 |
452 | 0
453 | .bpl
454 |
455 |
456 | 1
457 | .dylib
458 |
459 |
460 | 1
461 | .dylib
462 |
463 |
464 | 1
465 | .dylib
466 |
467 |
468 | 1
469 | .dylib
470 |
471 |
472 |
473 |
474 | res\drawable-mdpi
475 | 1
476 |
477 |
478 |
479 |
480 | res\drawable-xlarge
481 | 1
482 |
483 |
484 |
485 |
486 | res\drawable-ldpi
487 | 1
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 | False
501 | False
502 | False
503 | False
504 | False
505 | True
506 | False
507 |
508 |
509 | 12
510 |
511 |
512 |
513 |
514 |
515 |
--------------------------------------------------------------------------------