Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 15:59   #11
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Ну, есть такая вещь как цикл и таблицы. Или я вопроса не понял.
блин) ну не могу объяснить. Ну вот так
я задаю условие, есть ли в ветке записи об установленной программе ансис. и руками пишу: есть ли10 версия, есть ли 11 версия, есть ли 12 версия. Т.е. с вызодом новой версии нужно будет дописывать код. Когда-то я с этим сталкивался. Но проверять установлена она или нет задачи не было. Там для каждой версии своя ветка была
googl вне форума Ответить с цитированием
Старый 22.03.2012, 16:05   #12
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Есть мнение, что машины времени у вас нет. Это значит, что вы не можете знать, как поступят разработчики программы в будущем. Они могут оставить всё как есть, а могут - изменить.

Вообще, вы скажите сначала - там точно указывается версия? Ну, в реестре. Если нет - то и проблем никаких нет.

Если да - то:
Код:
for X := 10 to 50 do
  if CheckVersion(X) then
     ...
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 22.03.2012, 16:11   #13
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

В общем, если там есть зоопарк с версиями, то общий смысл - ввести последовательную нумерацию и перебирать в цикле. Если какие-то данные отличаются в зависимости от версии, то их нужно выносить в таблицы или функции. Например:

Код:
const
  RegInfoPath: array[10..50] of String = ('\Software\Litware\10\',
                                          '\Software\Litware\11\',
                                          '\Software\Litware Ltd.\12.0\',
                                          '\Software\Litware Ltd.\13.0\',
                                          ...);
или:

Код:
function RegPath(const Ver: Integer): String;
const
  Ver10 = '\Software\Litware\%d\';
  Ver12 = '\Software\Litware Ltd.\%d.0\';
begin
  if Ver < 12 then
    Result := Format(Ver10, [Ver])
  else
    Result := Format(Ver12, [Ver]);
end;
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 22.03.2012, 16:14   #14
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
В общем, если там есть зоопарк с версиями, то общий смысл - ввести последовательную нумерацию и перебирать в цикле. Если какие-то данные отличаются в зависимости от версии, то их нужно выносить в таблицы или функции. Например:

Код:
const
  RegInfoPath: array[10..50] of String = ('\Software\Litware\10\',
                                          '\Software\Litware\11\',
                                          '\Software\Litware Ltd.\12.0\',
                                          '\Software\Litware Ltd.\13.0\',
                                          ...);
или:

Код:
function RegPath(const Ver: Integer): String;
const
  Ver10 = '\Software\Litware\%d\';
  Ver12 = '\Software\Litware Ltd.\%d.0\';
begin
  if Ver < 12 then
    Result := Format(Ver10, [Ver])
  else
    Result := Format(Ver12, [Ver]);
end;
вот, да, я это и имел в виду.

А выглядят ветки примерно так же. Спасибо. Возьму на заметку
googl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как проверить наличие папки на удаленном сервере? xxxsas PHP 4 18.01.2011 16:16
как проверить наличие определенного текста в строке jihot Общие вопросы Delphi 6 04.04.2010 18:40
Как проверить наличие базы данных на сервере Oooleg Microsoft Office Excel 1 25.02.2010 18:11
Как проверить наличие частицы в каждой строке memo? zotox Помощь студентам 13 24.03.2009 12:56
Как проверить TImage на наличие в нём картинки soonner Мультимедиа в Delphi 3 16.03.2009 22:01