|
72 | 72 | ТребуемаяВерсияСреды = Свойства.ВерсияСреды; |
73 | 73 | СистемнаяИнформация = Новый СистемнаяИнформация; |
74 | 74 | ВерсияСреды = СистемнаяИнформация.Версия; |
75 | | - Если СравнитьВерсии(ТребуемаяВерсияСреды, ВерсияСреды) > 0 Тогда |
| 75 | + Если РаботаСВерсиями.СравнитьВерсии(ТребуемаяВерсияСреды, ВерсияСреды) > 0 Тогда |
76 | 76 | ТекстСообщения = СтрШаблон( |
77 | 77 | "Ошибка установки пакета <%1>: Обнаружена устаревшая версия движка OneScript. |
78 | 78 | |Требуемая версия: %2 |
|
271 | 271 |
|
272 | 272 | КонецФункции |
273 | 273 |
|
274 | | -// Compare two version strings. |
275 | | -// |
276 | | -// Parameters |
277 | | -// VersionString1 – String – version number like MM.{m|mm}.RR.BB |
278 | | -// VersionString2 – String – the second version number |
279 | | -// |
280 | | -// Return value: |
281 | | -// Number – greater 0, if VersionString1 > VersionString2; 0, if versions are equal. |
282 | | -Function СравнитьВерсии(Val VersionString1, Val VersionString2) Export |
283 | | - |
284 | | - String1 = ?(IsBlankString(VersionString1), "0.0.0.0", VersionString1); |
285 | | - String2 = ?(IsBlankString(VersionString2), "0.0.0.0", VersionString2); |
286 | | - |
287 | | - AdduceToUniformVersionFormat(String1, String2); |
288 | | - |
289 | | - Version1 = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(String1, "."); |
290 | | - Version2 = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(String2, "."); |
291 | | - |
292 | | - Result = 0; |
293 | | - For Digit = 0 To Version1.UBound() Do |
294 | | - Result = Number(Version1[Digit]) - Number(Version2[Digit]); |
295 | | - If Result <> 0 Then |
296 | | - Return Result; |
297 | | - EndIf; // Result <> 0 |
298 | | - EndDo; // Digit = 0 To Version1.UBound() |
299 | | - Return Result; |
300 | | - |
301 | | -КонецФункции |
302 | | - |
303 | | -Procedure AdduceToUniformVersionFormat(VersionString1, VersionString2) Export |
304 | | - |
305 | | - Version1Array = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(VersionString1, "."); |
306 | | - Version2Array = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(VersionString2, "."); |
307 | | - |
308 | | - Diff = Version2Array.Count() - Version1Array.Count(); |
309 | | - |
310 | | - If Diff = 0 Then |
311 | | - Return; |
312 | | - EndIf; // Diff = 0 |
313 | | - |
314 | | - Suffix = ""; |
315 | | - For index = 1 To Max(Diff, -Diff) Do |
316 | | - Suffix = Suffix + ".0"; |
317 | | - EndDo; // index = 1 To Max(Diff, -Diff) |
318 | | - |
319 | | - If Diff > 0 Then |
320 | | - VersionString1 = VersionString1 + Suffix; |
321 | | - Else |
322 | | - VersionString2 = VersionString2 + Suffix; |
323 | | - EndIf; |
324 | | - |
325 | | -EndProcedure |
326 | | - |
327 | 274 | Функция КаталогСистемныхБиблиотек() |
328 | 275 |
|
329 | 276 | СистемныеБиблиотеки = ОбъединитьПути(КаталогПрограммы(), ПолучитьЗначениеСистемнойНастройки("lib.system")); |
|
0 commit comments