Produced by Araxis Merge on 3/31/2017 10:45:43 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
# | Location | File | Last Modified |
---|---|---|---|
1 | CPRS v31A.zip\CPRS v31A\VITL5_P34_src.zip\Source\VITALSUTILS | uGMV_VersionInfo.pas | Tue Dec 13 18:26:08 2016 UTC |
2 | CPRS v31A.zip\CPRS v31A\VITL5_P34_src.zip\Source\VITALSUTILS | uGMV_VersionInfo.pas | Fri Mar 31 15:01:47 2017 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 4 | 978 |
Changed | 3 | 6 |
Inserted | 0 | 0 |
Removed | 0 | 0 |
Whitespace | |
---|---|
Character case | Differences in character case are significant |
Line endings | Differences in line endings (CR and LF characters) are ignored |
CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
1 | { ******** ********** ********** ********** ********** ********** ********** ********** } | |
2 | { } | |
3 | { GMV_Vita lsViewEnte r } | |
4 | { } | |
5 | { Updated Version in formation to be pull ed from th e actual f ile } | |
6 | { DN S BELLC 1/27 /2015 } | |
7 | { ******** ********** ********** ********** ********** ********** ********** ********** } | |
8 | ||
9 | unit uGMV_ VersionInf o; | |
10 | ||
11 | interface | |
12 | ||
13 | uses | |
14 | Windows, | |
15 | SysUtils , | |
16 | Classes, | |
17 | Graphics , | |
18 | Forms, | |
19 | Controls , | |
20 | StdCtrls , | |
21 | Buttons, | |
22 | ExtCtrls , | |
23 | uGMV_Com mon | |
24 | ; | |
25 | ||
26 | const | |
27 | VersionI nfoKeys: a rray [1 .. 13] of st ring = ( | |
28 | 'Compa nyName', | |
29 | 'FileD escription ', | |
30 | 'FileV ersion', | |
31 | 'Inter nalName', | |
32 | 'Legal CopyRight' , | |
33 | 'Origi nalFileNam e', | |
34 | 'Produ ctName', | |
35 | 'Produ ctVersion' , | |
36 | 'Comme nts', | |
37 | 'VARel easeDate', | |
38 | 'VANam espace', | |
39 | 'VASou rceInforma tion', | |
40 | 'PreviousV ersion' // DN S BELLC 1/27 /2015 | |
41 | ); | |
42 | ||
43 | USEnglis h = $04090 4E4; | |
44 | ||
45 | type | |
46 | TVersion Info = cla ss(TCompon ent) | |
47 | (* | |
48 | Retr ieves Vers ion Info d ata about a given bi nary file. | |
49 | *) | |
50 | private | |
51 | FFileN ame: strin g; | |
52 | FLangu ageID: DWo rd; | |
53 | FInfo: pointer; | |
54 | FInfoS ize: longi nt; | |
55 | ||
56 | FCtlCo mpanyName: TControl; | |
57 | FCtlFi leDescript ion: TCont rol; | |
58 | FCtlFi leVersion: TControl; | |
59 | FCtlIn ternalName : TControl ; | |
60 | FCtlLe galCopyRig ht: TContr ol; | |
61 | FCtlOr iginalFile Name: TCon trol; | |
62 | FCtlPr oductName: TControl; | |
63 | FCtlPr oductVersi on: TContr ol; | |
64 | FCtlCo mments: TC ontrol; | |
65 | FCtlVA ReleaseDat e: TContro l; | |
66 | FCtlVA Namespace: TControl; | |
67 | FCtlVA SourceInfo rmation: T Control; | |
68 | ||
69 | proced ure SetFil eName(Valu e: string) ; | |
70 | proced ure SetVer Prop(index : Integer; Value: TC ontrol); | |
71 | functi on GetVerP rop(index: Integer): TControl; | |
72 | functi on GetInde xKey(index : Integer) : string; | |
73 | // fun ction GetK ey(const K Name: stri ng): strin g; | |
74 | functi on GetComp ileDateTim e: TDateTi me; | |
75 | functi on GetVAPa tchNumber: string; | |
76 | functi on GetVASe rverVersio n: string; | |
77 | functi on GetVATe stVersion: Boolean; | |
78 | proced ure Refres h; | |
79 | protecte d | |
80 | proced ure Notifi cation(ACo mponent: T Component; Operation : TOperati on); overr ide; | |
81 | public | |
82 | Intern alVersion: String; | |
83 | ||
84 | functi on GetKey( const KNam e: string) : string; | |
85 | ||
86 | proper ty FileNam e: string read FFile Name write SetFileNa me; | |
87 | proper ty Languag eID: DWord read FLan guageID wr ite FLangu ageID; | |
88 | proper ty Compile DateTime: TDateTime read GetCo mpileDateT ime; | |
89 | ||
90 | proper ty Company Name: stri ng index 1 read GetI ndexKey; | |
91 | proper ty FileDes cription: string ind ex 2 read GetIndexKe y; | |
92 | proper ty FileVer sion: stri ng index 3 read GetI ndexKey; | |
93 | proper ty Interna lName: str ing index 4 read Get IndexKey; | |
94 | proper ty LegalCo pyRight: s tring inde x 5 read G etIndexKey ; | |
95 | proper ty Origina lFileName: string in dex 6 read GetIndexK ey; | |
96 | proper ty Product Name: stri ng index 7 read GetI ndexKey; | |
97 | proper ty Product Version: s tring inde x 8 read G etIndexKey ; | |
98 | proper ty Comment s: string index 9 re ad GetInde xKey; | |
99 | proper ty VARelea seDate: st ring index 10 read G etIndexKey ; | |
100 | proper ty VANames pace: stri ng index 1 1 read Get IndexKey; | |
101 | proper ty VASourc eInformati on: string index 12 read GetIn dexKey; // AAN 08/05 /2002 | |
102 | property P reviousVer sion: stri ng index 1 3 read Get IndexKey; // DN S BELLC 1/27 /2015 | |
103 | proper ty VAPatch Number: st ring read GetVAPatch Number; | |
104 | proper ty VAServe rVersion: string rea d GetVASer verVersion ; | |
105 | proper ty VATestV ersion: Bo olean read GetVATest Version; | |
106 | ||
107 | constr uctor Crea te(AOwner: TComponen t); overri de; | |
108 | (* | |
109 | Allo cates memo ry and ini tializes v ariables f or the obj ect. | |
110 | *) | |
111 | ||
112 | destru ctor Destr oy; overri de; | |
113 | (* | |
114 | Rele ases all m emory allo cated for the object . | |
115 | *) | |
116 | ||
117 | proced ure OpenFi le(FName: string); | |
118 | (* | |
119 | Uses method Ge tFileVersi onInfo to retrieve v ersion inf ormation f or file | |
120 | FNam e. If FNa me is blan k, version informati on is obta ined for t he | |
121 | curr ent execut able (Appl ication.Ex eName). | |
122 | *) | |
123 | ||
124 | proced ure Close; | |
125 | (* | |
126 | Rele ases memor y allocate d and clea rs all sto rage varia bles. | |
127 | *) | |
128 | ||
129 | publishe d | |
130 | proper ty CtlComp anyName: T Control in dex 1 read GetVerPro p write Se tVerProp; | |
131 | proper ty CtlFile Descriptio n: TContro l index 2 read GetVe rProp writ e SetVerPr op; | |
132 | proper ty CtlFile Version: T Control in dex 3 read GetVerPro p write Se tVerProp; | |
133 | proper ty CtlInte rnalName: TControl i ndex 4 rea d GetVerPr op write S etVerProp; | |
134 | proper ty CtlLega lCopyRight : TControl index 5 r ead GetVer Prop write SetVerPro p; | |
135 | proper ty CtlOrig inalFileNa me: TContr ol index 6 read GetV erProp wri te SetVerP rop; | |
136 | proper ty CtlProd uctName: T Control in dex 7 read GetVerPro p write Se tVerProp; | |
137 | proper ty CtlProd uctVersion : TControl index 8 r ead GetVer Prop write SetVerPro p; | |
138 | proper ty CtlComm ents: TCon trol index 9 read Ge tVerProp w rite SetVe rProp; | |
139 | proper ty CtlVARe leaseDate: TControl index 10 r ead GetVer Prop write SetVerPro p; | |
140 | proper ty CtlVANa mespace: T Control in dex 11 rea d GetVerPr op write S etVerProp; | |
141 | proper ty CtlVASo urceInfo: TControl i ndex 12 re ad GetVerP rop write SetVerProp ; | |
142 | end; | |
143 | ||
144 | function C urrentExeN ameAndVers ion: strin g; | |
145 | function R equiredSer verVersion : string; | |
146 | ||
147 | function C urrentDllN ameAndVers ion: strin g; | |
148 | function P revDllName AndVersion : string; | |
149 | ||
150 | implementa tion | |
151 | ||
152 | uses | |
153 | Dialogs, | |
154 | TypInfo, | |
155 | uGMV_Con st; | |
156 | ||
157 | function R equiredSer verVersion : string; | |
158 | begin | |
159 | with TVe rsionInfo. Create(App lication) do | |
160 | try | |
161 | Open File(Appli cation.Exe Name); | |
162 | Resu lt := VASe rverVersio n; | |
163 | if V APatchNumb er <> '' t hen | |
164 | Re sult := Re sult + ' w ith patch ' + VAPatc hNumber; | |
165 | finall y | |
166 | free ; | |
167 | end; | |
168 | end; | |
169 | ||
170 | function C urrentExeN ameAndVers ion: strin g; | |
171 | begin | |
172 | with TVe rsionInfo. Create(App lication) do | |
173 | try | |
174 | Open File(Appli cation.Exe Name); | |
175 | {$IFDEF IG NOREEXENAM E} | |
176 | Resu lt := Uppe rCase('Vit als.exe:' + FileVers ion); | |
177 | {$ELSE} | |
178 | Resu lt := Uppe rCase(Extr actFileNam e(Applicat ion.ExeNam e) + ':' + FileVersi on); | |
179 | {$ENDIF} | |
180 | finall y | |
181 | free ; | |
182 | end; | |
183 | end; | |
184 | ||
185 | function P revDllName AndVersion : string; | |
186 | begin | |
187 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 09/06/0 5 11:29'; // Max-Mi n error co rrected | |
188 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 09/22/0 5 11:43'; | |
189 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 10/18/0 5 10:50'; // T12 | |
190 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 11/03/0 5 11:47'; | |
191 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 11/21/0 5 15:53'; //T14 | |
192 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 11/30/0 5 18:00'; //T15 | |
193 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 12/29/0 5 16:20'; //T16 | |
194 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 01/20/0 6 09:08'; //T17 | |
195 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 02/15/0 6 15:55'; //T18 | |
196 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 10/04/0 7 16:52'; //T22 - w as not rel eased only tested | |
197 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 01/03/0 8 11:04'; //T22.2 | |
198 | {$IFDEF PA TCH_5_0_22 } Result : = 'GMV_VIT ALSVIEWENT ER.DLL:v. 03/14/06 1 6:35'; {$E NDIF} | |
199 | // { $IF DEF PATCH_ 5_0_23 } Result := 'DUMMY';{$ ENDIF} // T23.1 | |
200 | // Patch 23 does n ot support any previ ous versio ns of dll | |
201 | // { $IF DEF PATCH_ 5_0_23} R esult := ' GMV_VITALS VIEWENTER. DLL:v. 10/ 14/08 15:4 2';{$ENDIF } // T23.4 | |
202 | // {$IFD EF PATCH_5 _0_23} Re sult := 'G MV_VITALSV IEWENTER.D LL:v. 01/2 0/09 16:30 '; {$ENDIF } //T23.5 | |
203 | // {$IFD EF PATCH_5 _0_23} Re sult := 'G MV_VITALSV IEWENTER.D LL:v. 08/1 1/09 15:00 '; {$ENDIF } //T23.8 | |
204 | {$IFDEF PA TCH_5_0_23 } Result : = 'GMV_VIT ALSVIEWENT ER.DLL:v. 01/21/11 1 2:52'; {$E NDIF} // T 26.1 | |
205 | end; | |
206 | ||
207 | function C urrentDllN ameAndVers ion: strin g; | |
208 | begin | |
209 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 09/22/0 5 11:43'; // Max-Mi n error co rrected | |
210 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 10/18/0 5 10:50'; | |
211 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 11/03/0 5 11:47'; //T13 | |
212 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 11/21/0 5 15:53'; //T14 | |
213 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 11/30/0 5 18:00'; //T15 | |
214 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 12/29/0 5 16:20'; //T16 | |
215 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 01/20/0 6 09:08'; //T17 | |
216 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 02/15/0 6 15:55'; //T18 - i gnores CCO W Cancel p atient cha nge | |
217 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 03/14/0 6 16:35'; //T19 | |
218 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 10/04/0 7 16:52'; //T22 - w as not rel eased only tested | |
219 | // Resul t := 'GMV_ VITALSVIEW ENTER.DLL: v. 01/03/0 8 11:04'; //T22.2 - was notre leased | |
220 | // { $IF DEF PATCH_ 5_0_22} R esult := ' GMV_VITALS VIEWENTER. DLL:v. 05/ 12/08 08:4 4'; {$ENDI F} //T22.6 | |
221 | // { $IF DEF PATCH_ 5_0_23} R esult := ' GMV_VITALS VIEWENTER. DLL:v. 05/ 13/08 09:2 7'; {$ENDI F} //T23.1 | |
222 | // {$IFD EF PATCH_5 _0_23} Re sult := 'G MV_VITALSV IEWENTER.D LL:v. 04/0 7/09 16:30 '; {$ENDIF } //T23.7 | |
223 | // {$IFD EF PATCH_5 _0_23} Re sult := 'G MV_VITALSV IEWENTER.D LL:v. 08/1 1/09 15:00 '; {$ENDIF } //T23.8 | |
224 | {$IFDEF PA TCH_5_0_23 } Result : = 'GMV_VIT ALSVIEWENT ER.DLL:v. 11/05/13 1 0:00'; {$E NDIF} // T 28.1 | |
225 | end; | |
226 | ||
227 | (* === TVe rsionInfo Methods == ========== ========== ========== ========== ======== * ) | |
228 | ||
229 | constructo r TVersion Info.Creat e(AOwner: TComponent ); | |
230 | begin | |
231 | inherite d Create(A Owner); | |
232 | FLanguag eID := USE nglish; | |
233 | {$IFDEF DL L} | |
234 | SetFileN ame('GMV_V italsViewE nter.dll') ; | |
235 | {$ELSE} | |
236 | SetFileN ame(EmptyS tr); | |
237 | {$ENDIF} | |
238 | ||
239 | end; | |
240 | ||
241 | destructor TVersionI nfo.Destro y; | |
242 | begin | |
243 | if FInfo Size > 0 t hen | |
244 | FreeMe m(FInfo, F InfoSize); | |
245 | inherite d Destroy; | |
246 | end; | |
247 | ||
248 | procedure TVersionIn fo.SetFile Name(Value : string); | |
249 | begin | |
250 | FFileNam e := Value ; | |
251 | if Value = EmptySt r then | |
252 | FFileN ame := Ext ractFileNa me(Applica tion.ExeNa me); | |
253 | if csDes igning in ComponentS tate then | |
254 | Refres h | |
255 | else | |
256 | OpenFi le(Value); | |
257 | end; | |
258 | ||
259 | procedure TVersionIn fo.OpenFil e(FName: s tring); | |
260 | var | |
261 | vlen: DW ord; | |
262 | begin | |
263 | if FInfo Size > 0 t hen | |
264 | FreeMe m(FInfo, F InfoSize); | |
265 | if Lengt h(FName) < = 0 then | |
266 | FName := Applica tion.ExeNa me; | |
267 | FInfoSiz e := GetFi leVersionI nfoSize(pc har(FName) , vlen); | |
268 | if FInfo Size > 0 t hen | |
269 | begin | |
270 | GetM em(FInfo, FInfoSize) ; | |
271 | if n ot GetFile VersionInf o(pchar(FN ame), vlen , FInfoSiz e, FInfo) then | |
272 | ra ise Except ion.Create ('Cannot r etrieve Ve rsion Info rmation fo r ' + FNam e); | |
273 | Refr esh; | |
274 | end; | |
275 | end; | |
276 | ||
277 | procedure TVersionIn fo.Close; | |
278 | begin | |
279 | if FInfo Size > 0 t hen | |
280 | FreeMe m(FInfo, F InfoSize); | |
281 | FInfoSiz e := 0; | |
282 | FFileNam e := Empty Str; | |
283 | end; | |
284 | ||
285 | const | |
286 | vqvFmt = '\StringF ileInfo\%8 .8x\%s'; | |
287 | ||
288 | function T VersionInf o.GetKey(c onst KName : string): string; | |
289 | var | |
290 | vptr: pc har; | |
291 | vlen: DW ord; | |
292 | begin | |
293 | Result : = EmptyStr ; | |
294 | if FInfo Size <= 0 then | |
295 | exit; | |
296 | if VerQu eryValue(F Info, pcha r(Format(v qvFmt, [FL anguageID, KName])), pointer(v ptr), vlen ) then | |
297 | Result := vptr; | |
298 | end; | |
299 | ||
300 | function T VersionInf o.GetIndex Key(index: Integer): string; | |
301 | begin | |
302 | Result : = GetKey(V ersionInfo Keys[index ]); | |
303 | end; | |
304 | ||
305 | function T VersionInf o.GetVerPr op(index: Integer): TControl; | |
306 | begin | |
307 | case ind ex of | |
308 | 1: | |
309 | Resu lt := FCtl CompanyNam e; | |
310 | 2: | |
311 | Resu lt := FCtl FileDescri ption; | |
312 | 3: | |
313 | Resu lt := FCtl FileVersio n; | |
314 | 4: | |
315 | Resu lt := FCtl InternalNa me; | |
316 | 5: | |
317 | Resu lt := FCtl LegalCopyR ight; | |
318 | 6: | |
319 | Resu lt := FCtl OriginalFi leName; | |
320 | 7: | |
321 | Resu lt := FCtl ProductNam e; | |
322 | 8: | |
323 | Resu lt := FCtl ProductVer sion; | |
324 | 9: | |
325 | Resu lt := FCtl Comments; | |
326 | 10: | |
327 | Resu lt := FCtl VAReleaseD ate; | |
328 | 11: | |
329 | Resu lt := FCtl VANamespac e; | |
330 | 12: | |
331 | Resu lt := FCtl VASourceIn formation; | |
332 | else | |
333 | Result := nil; | |
334 | end; | |
335 | end; | |
336 | ||
337 | procedure TVersionIn fo.SetVerP rop(index: Integer; Value: TCo ntrol); | |
338 | begin | |
339 | case ind ex of | |
340 | 1: | |
341 | FCtl CompanyNam e := Value ; | |
342 | 2: | |
343 | FCtl FileDescri ption := V alue; | |
344 | 3: | |
345 | FCtl FileVersio n := Value ; | |
346 | 4: | |
347 | FCtl InternalNa me := Valu e; | |
348 | 5: | |
349 | FCtl LegalCopyR ight := Va lue; | |
350 | 6: | |
351 | FCtl OriginalFi leName := Value; | |
352 | 7: | |
353 | FCtl ProductNam e := Value ; | |
354 | 8: | |
355 | FCtl ProductVer sion := Va lue; | |
356 | 9: | |
357 | FCtl Comments : = Value; | |
358 | 10: | |
359 | FCtl VAReleaseD ate := Val ue; | |
360 | 11: | |
361 | FCtl VANamespac e := Value ; | |
362 | 12: | |
363 | FCtl VASourceIn formation := Value; | |
364 | end; | |
365 | Refresh; | |
366 | end; | |
367 | ||
368 | procedure TVersionIn fo.Notific ation(ACom ponent: TC omponent; Operation: TOperatio n); | |
369 | begin | |
370 | if Opera tion = opR emove then | |
371 | begin | |
372 | if A Component = FCtlComp anyName th en | |
373 | FC tlCompanyN ame := nil | |
374 | else if ACompo nent = FCt lFileDescr iption the n | |
375 | FC tlFileDesc ription := nil | |
376 | else if ACompo nent = FCt lFileVersi on then | |
377 | FC tlFileVers ion := nil | |
378 | else if ACompo nent = FCt lInternalN ame then | |
379 | FC tlInternal Name := ni l | |
380 | else if ACompo nent = FCt lLegalCopy Right then | |
381 | FC tlLegalCop yRight := nil | |
382 | else if ACompo nent = FCt lOriginalF ileName th en | |
383 | FC tlOriginal FileName : = nil | |
384 | else if ACompo nent = FCt lProductNa me then | |
385 | FC tlProductN ame := nil | |
386 | else if ACompo nent = FCt lProductVe rsion then | |
387 | FC tlProductV ersion := nil | |
388 | else if ACompo nent = FCt lComments then | |
389 | FC tlComments := nil | |
390 | else if ACompo nent = FCt lVARelease Date then | |
391 | FC tlVAReleas eDate := n il | |
392 | else if ACompo nent = FCt lVANamespa ce then | |
393 | FC tlVANamesp ace := nil | |
394 | else if ACompo nent = FCt lVASourceI nformation then | |
395 | FC tlVASource Informatio n := nil; | |
396 | end; | |
397 | end; | |
398 | ||
399 | procedure TVersionIn fo.Refresh ; | |
400 | var | |
401 | PropInfo : PPropInf o; | |
402 | ||
403 | procedur e AssignTe xt(Actl: T Component; txt: stri ng); | |
404 | begin | |
405 | if Ass igned(Actl ) then | |
406 | begi n | |
407 | Pr opInfo := GetPropInf o(Actl.Cla ssInfo, 'C aption'); | |
408 | if PropInfo <> nil the n | |
409 | SetStrProp (Actl, Pro pInfo, txt ) | |
410 | el se | |
411 | begin | |
412 | PropInfo := GetPro pInfo(Actl .ClassInfo , 'Text'); | |
413 | if PropI nfo <> nil then | |
414 | SetStr Prop(Actl, PropInfo, txt) | |
415 | end; | |
416 | end; | |
417 | end; | |
418 | ||
419 | begin | |
420 | if csDes igning in ComponentS tate then | |
421 | begin | |
422 | Assi gnText(FCt lCompanyNa me, Versio nInfoKeys[ 1]); | |
423 | Assi gnText(FCt lFileDescr iption, Ve rsionInfoK eys[2]); | |
424 | Assi gnText(FCt lFileVersi on, Versio nInfoKeys[ 3]); | |
425 | Assi gnText(FCt lInternalN ame, Versi onInfoKeys [4]); | |
426 | Assi gnText(FCt lLegalCopy Right, Ver sionInfoKe ys[5]); | |
427 | Assi gnText(FCt lOriginalF ileName, V ersionInfo Keys[6]); | |
428 | Assi gnText(FCt lProductNa me, Versio nInfoKeys[ 7]); | |
429 | Assi gnText(FCt lProductVe rsion, Ver sionInfoKe ys[8]); | |
430 | Assi gnText(FCt lComments, VersionIn foKeys[9]) ; | |
431 | Assi gnText(FCt lVARelease Date, Vers ionInfoKey s[10]); | |
432 | Assi gnText(FCt lVANamespa ce, Versio nInfoKeys[ 11]); | |
433 | Assi gnText(FCt lVASourceI nformation , VersionI nfoKeys[12 ]); | |
434 | end | |
435 | else | |
436 | begin | |
437 | Assi gnText(FCt lCompanyNa me, Compan yName); | |
438 | Assi gnText(FCt lFileDescr iption, Fi leDescript ion); | |
439 | Assi gnText(FCt lFileVersi on, FileVe rsion); | |
440 | Assi gnText(FCt lInternalN ame, Inter nalName); | |
441 | Assi gnText(FCt lLegalCopy Right, Leg alCopyRigh t); | |
442 | Assi gnText(FCt lOriginalF ileName, O riginalFil eName); | |
443 | Assi gnText(FCt lProductNa me, Produc tName); | |
444 | Assi gnText(FCt lProductVe rsion, Pro ductVersio n); | |
445 | Assi gnText(FCt lComments, Comments) ; | |
446 | Assi gnText(FCt lVARelease Date, VARe leaseDate) ; | |
447 | Assi gnText(FCt lVANamespa ce, VAName space); | |
448 | Assi gnText(FCt lVASourceI nformation , VASource Informatio n); | |
449 | end; | |
450 | end; | |
451 | ||
452 | function T VersionInf o.GetCompi leDateTime : TDateTim e; | |
453 | begin | |
454 | {$IFDEF DL L} | |
455 | Result : = FileDate ToDateTime (FileAge(G etProgramF ilesPath + '\Vista\C ommon File s\GMV_Vita lsViewEnte r.dll')); | |
456 | {$ELSE} | |
457 | Result : = FileDate ToDateTime (FileAge(A pplication .ExeName)) ; | |
458 | {$ENDIF} | |
459 | end; | |
460 | ||
461 | function T VersionInf o.GetVAPat chNumber: string; | |
462 | begin | |
463 | if StrTo IntDef(Pie ce(FileVer sion, '.', 3), 0) > 0 then | |
464 | begin | |
465 | Resu lt := VANa mespace + '*' + VASe rverVersio n + '*' + Piece(File Version, ' .', 3); | |
466 | // i f StrToInt Def(Piece( FileVersio n, '.', 4) , 0) > 0 t hen // vha ishandria 060223 | |
467 | // R esult := R esult + 'T ' + Piece( FileVersio n, '.', 4) ; // vhais handria 06 0223 | |
468 | // R esult := ' GMRV*5.0*3 T7'; // 6 | |
469 | // R esult := ' GMRV*5.0*3 T8'; // 7 | |
470 | // R esult := ' GMRV*5.0*3 T9'; // 8 | |
471 | // R esult := ' GMRV*5.0*3 T12'; | |
472 | // R esult := ' GMRV*5.0*3 T13'; | |
473 | // R esult := ' GMRV*5.0*3 T14'; | |
474 | // R esult := ' GMRV*5.0*3 T16'; | |
475 | // R esult := ' GMRV*5.0*3 T17'; | |
476 | // R esult := ' GMRV*5.0*3 T18'; // v haishandri a 060223 | |
477 | end | |
478 | else | |
479 | Result := ''; | |
480 | end; | |
481 | ||
482 | function T VersionInf o.GetVASer verVersion : string; | |
483 | begin | |
484 | Result : = Piece(Fi leVersion, '.', 1) + '.' + Pie ce(FileVer sion, '.', 2); | |
485 | end; | |
486 | ||
487 | function T VersionInf o.GetVATes tVersion: Boolean; | |
488 | begin | |
489 | Result : = False; | |
490 | end; | |
491 | ||
492 | end. |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.