Справочная информация: Installshield позволяет только AND/OR/NOT
операторов + Сравнение для отдельных условий при построении логического дерева.Я застрял с этим при попытке построить условие обнаружения версии.
В основном я пытаюсь сделать это
bool IsUpToDatePackageInstalled(major, minor, build, rev)
{
if (installedMajor > major)
return true
if (installedMajor < major)
return false
if (installedMinor > minor)
return true
if (installedMinor < minor)
return false
if (installedBuild > build)
return true
if (installedBuild < build)
return false
if (installedRev >= rev)
return true
return false
}
и построить это, используя только AND/OR/NOT
Я в основном делаю
Any
InstalledMajor > major
All
InstalledMajor == major
InstalledMinor > minor
All
InstalledMajor == major
InstalledMinor == minor
InstalledBld > bld
All
InstalledMajor == major
InstalledMinor == minor
InstalledBld == bld
InstalledRev >= rev
или перевести это в And/ или
(InstalledMajor > major)
OR (InstalledMajor == major AND InstalledMinor > minor)
OR (InstalledMajor == major AND InstalledMinor == minor AND InstalledBld > bld)
OR (InstalledMajor == major AND InstalledMinor == minor AND InstalledBld == bld AND InstalledRev >= rev)
Можно ли применить к этому утверждению логический вывод, чтобы каждая переменная использовалась только один раз вместо дублирования всех предыдущих?