| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Выбор действия CheckBox |
| Автор: Volkogriz 22.12.2010, 01:13 | ||
| Доброе время суток! Проблема такая, есть три CheckBox какждый выполняет своё действие, но выполняет зараза неправильно!!! Вот код:
три CheckBox выполняют 7 вариантов действия Я просто сократил код! вот так я делал, но грузится не тот файл Памагите плиз! Заранее благадарю! С уважением, Volkogriz! |
| Автор: Данкинг 22.12.2010, 01:35 | ||
Тут небось путаница с else'ами. Зачем их столько?
Кстати, "CheckBox1.Checked =true" можно вполне заменить на "CheckBox1.Checked". |
| Автор: Volkogriz 22.12.2010, 01:50 |
| Хочу обяснить подробней. При каждом сочетании вариантов true false загружается опредилённый файл. Сочитаний 7 |
| Автор: БелАмор 22.12.2010, 02:29 | ||
| Решение: Замените or на and и расставьте скобки. Рекомендации: 1. Не сравнивайте значения логических выражеий с True или False, поскольку то, что вы сравниваете, уже имеет логический тип и может использоваться напрямую (c или без not). 2. В повторяющейся части оставляйте минимально необходимые действия, а общее - выносите наружу и пишите один раз. 3. ExtractFilePath выдаёт путь с завершающей обратной наклонной чертой, поэтому черта у вас будет удваваться. Либо уберите черту в начале ваших имён, либо замените ExtractFilePath на ExtractFileDir, который выдаёт путь без завершающей черты. Первое предпочтительней. 4. Форматируйте код, используйте отступы. Выглядеть всё это может примерно так:
Тут можно всё очень сильно оптимизировать, но лучше пока не запутывать вас дополнительно. |
| Автор: CROTishka 27.12.2010, 17:32 |
| Автор, а ты в курсе, что есть такие компоненты, как TRadioButton, TRadioGroup и т.д.? |