![]() |
|
|
![]()
|
|
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 4 Всего: 72 |
Ваш код (с соответствующими модификациями) вставляется или вызывается в CalcButtonClick().
По результату выполнения выполняете одно из действий: 1. Вызывается диалог с результатом и кнопкой OK. 2. Устанавлиается или сбрасывается CheckBox или результат вываоться на Label и устанавливается зелёный или красный фон. |
|||
|
||||
| Marathon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
Еще вопрос возник, ввести нужно количество вершин, в кнопке Add, как сделать счетчик, чтобы количество вводимых вершин было равно нажатию кнопки Add, или же как считать количество вершин из ЛистБокса
Добавлено через 5 минут и 27 секунд Лучше, наверное, чтобы определять количество вершин из листбокса Добавлено через 7 минут и 22 секунды Опять же, наверное, через количество клипов по Add... |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 4 Всего: 72 |
число кликов Add - число кликов Delete = число айтемов в ListBox = количество вершин
А можно добавить кпонпки Load и Save - тогда считать клики будет бессмысленно. |
|||
|
||||
| Marathon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
math64, это понятно, но как записать что число итемов равно, например, n (количеству вершин). Извините, если задаю глупые вопросы, я только учусь и мне важно понимать
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 4 Всего: 72 |
Заполнить список, имея полигон:
Очистить список и вызвать Add n раз. Создать полигон имея список: n определяется по числу итемов в списке, потом итемы перебираются в цикле - примерный код я уже давал. К сожалению, Билдер не поддерживает разделение Модель-Вид-Контроллер и создавать модель (в Вашем случае - полигон) из вид (ЛистБокс) и наоборот и поддерживать их синхронизацию приходится самостоятельно |
|||
|
||||
| Marathon |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
При написании строчки
Это сообщение отредактировал(а) Marathon - 18.12.2015, 10:26 |
||||
|
|||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 4 Всего: 72 |
опечатка: Strings. После ввода "ListBox1->Items->" Билдер выдаст подсказку, какие есть свойства/методы у Items.
У тебя уже есть свое объявление struct point {int x,int y}. Нужно просто point*poligon. Не нуджно тупо брать мой код 1:1 - он только иллюстрация, как делать. |
|||
|
||||
| Marathon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
Не показывает, после ввода листбокс1 не выводит подсказку, только ошибку
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 4 Всего: 72 |
Ошибку выдает при компиляции, а подсказку - при редактировании, после ввода "->". Если код копипастится, никакой подсказки не будет.
|
|||
|
||||
| Marathon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
Пишу все вручную, и подсказка на этом моменте не выскакивает
Добавлено через 9 минут и 38 секунд Хоть убей не понимаю, как он должен считывать и присваивать Х или У. Как это работает. Исправил MaskEdit, просто на Edit, вводить только числа , иначе выскакивает ошибка и пробел между точками. Как это все делать я понял |
|||
|
||||
| Marathon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
А если разделить на два поля Эдик Х и У может проще будет
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 4 Всего: 72 |
Можно. Но тогда вместо листбокс логичнее будет использовать стринггрид.
|
|||
|
||||
| Marathon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
math64, Организовывается это тоже через цикл, с отделением координаты Х от У?
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 4 Всего: 72 |
Конечно через цикл. Как использовать грид - смотри документацию и примеры, идущие с Билдером.
При использовании грид (не стринггрид) можно организовать разделение модель/вид: в GridDrawCell() рисовать данные из модели. Но число строк грида нужно устанавливать по числу вершин полигона. |
|||
|
||||
| Marathon |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
math64, в цикле, который ты присылал, первые строчки
Понятно что это количество строк, n - целое,
Т.е с этого момента начинается разделение на координаты, так а конвертация инт в поинт? И если не сложно, построчно описать что в них собственно происходит Это сообщение отредактировал(а) Marathon - 22.12.2015, 14:59 |
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |