@@ -30,6 +30,9 @@ interface
30
30
Record representing the four fields of a version number.
31
31
}
32
32
TVersionNumber = record
33
+ strict private
34
+ // / <summary>Converts version number to a string.</summary>
35
+ function ToString : string;
33
36
public
34
37
V1: Word; // Major version number
35
38
V2: Word; // Minor version number
@@ -107,6 +110,12 @@ TVersionNumber = record
107
110
@return Converted version number.
108
111
@except EConvertError. raised if string in wrong format.
109
112
}
113
+ class operator Implicit(Ver: TVersionNumber): string;
114
+ { Operator overload that performs implicit conversion of a version number
115
+ to a string in dotted quad format.
116
+ @param Ver [in] Version number to be converted.
117
+ @return Dotted quad string.
118
+ }
110
119
class operator Explicit(Ver: TVersionNumber): TPJVersionNumber;
111
120
{ Operator overload that performs an explicit conversion of a
112
121
TVersionNumber to a TPJVersionNumber (from PJVersionInfo unit).
@@ -269,7 +278,7 @@ class function TVersionInfo.SpecialBuildStr: string;
269
278
@return Dotted quad string.
270
279
}
271
280
begin
272
- Result := Format( ' %d.%d.%d.%d ' , [ Ver.V1, Ver.V2, Ver.V3, Ver.V4]) ;
281
+ Result := Ver.ToString ;
273
282
end ;
274
283
275
284
class operator TVersionNumber.GreaterThan(Ver1, Ver2: TVersionNumber): Boolean;
@@ -327,6 +336,16 @@ function TVersionNumber.IsNull: Boolean;
327
336
Result.V4 := Ver.V4;
328
337
end ;
329
338
339
+ class operator TVersionNumber.Implicit(Ver: TVersionNumber): string;
340
+ { Operator overload that performs implicit conversion of a version number to a
341
+ string in dotted quad format.
342
+ @param Ver [in] Version number to be converted.
343
+ @return Dotted quad string.
344
+ }
345
+ begin
346
+ Result := Ver.ToString;
347
+ end ;
348
+
330
349
class operator TVersionNumber.LessThan(Ver1, Ver2: TVersionNumber): Boolean;
331
350
{ Operator overload that compares two version numbers to check if first is
332
351
less than second.
@@ -371,6 +390,11 @@ class function TVersionNumber.Nul: TVersionNumber;
371
390
Result.V4 := 0 ;
372
391
end ;
373
392
393
+ function TVersionNumber.ToString : string;
394
+ begin
395
+ Result := Format(' %d.%d.%d.%d' , [V1, V2, V3, V4]);
396
+ end ;
397
+
374
398
class function TVersionNumber.TryStrToVersionNumber (const S: string;
375
399
out V: TVersionNumber): Boolean;
376
400
var
0 commit comments