Anatoliy Опубликовано 7 октября, 2018 Поделиться Опубликовано 7 октября, 2018 Прощу прощения, прохожий вопрос, вроде поднимался, но не нахожу. Вопрос: как наиболее правильным способом реализовать пять звёздочек для оценки показа рейтинга? Цитата Ссылка на комментарий
0 FREEFAR Опубликовано 8 октября, 2018 Поделиться Опубликовано 8 октября, 2018 FMXComponent там есть TFMXRating... можно так Anatoliy 1 Цитата Ссылка на комментарий
0 Anatoliy Опубликовано 8 октября, 2018 Автор Поделиться Опубликовано 8 октября, 2018 Спасибо. А стандартными средствами как посоветуете? Я просто не знаю как установить FMXComponent в C++ Builder. Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 8 октября, 2018 Поделиться Опубликовано 8 октября, 2018 (изменено) Не совсем понял, какой рейтинг имеется ввиду. Внутренний рейтинг в приложении? Добавить 5 переменных целочисленного типа, которые будут хранить количество выставленных оценок от 1 до 5. С помощью TPathData нарисовать звезду. Создать 5 компонентов TPath и в обработчике OnTap или OnClick каждого увеличивать соответствующую переменную на единицу. И для оценки рейтинга вычислять среднее арифметическое: (a1 + a2*2 + a3*3 + a4*4 + a5*5)/(a1 +a2 +a3 + a4 + a5) Изменено 8 октября, 2018 пользователем Alex7wrt Anatoliy и Tumaso 2 Цитата Ссылка на комментарий
0 Anatoliy Опубликовано 8 октября, 2018 Автор Поделиться Опубликовано 8 октября, 2018 (изменено) Цитата Не совсем понял, какой рейтинг имеется ввиду. Внутренний рейтинг в приложении? Оценка работы персонала магазина. Пользователь физически пришел в магазин и купил товар. Затем пользователь запускает мобильное приложение (по желанию). Далее в мобильном приложении этот пользователь ставит оценку работы персонала. При старте в мобильном приложении пользователю показываю 5 серых звезд и календарь. Пример: пользователь жмет на 4-ю звезду и первый 4 звезды становятся желтыми. Оценка 4. Далее проанализировать, что оценка =4 и далее для меня нет проблем отправить эту оценку пользователя на определенный email. Моя проблема как эти 5 звезд в мобильном приложении организовать и показать наиболее правильным и красивым образом ну и конечно понять на какой звезде был клик, ну и раскрасить предыдущее в желтый цвет для красоты, а не делать радиобатоны вместо звезд... Изменено 8 октября, 2018 пользователем Anatoliy Цитата Ссылка на комментарий
1 Alex7wrt Опубликовано 8 октября, 2018 Поделиться Опубликовано 8 октября, 2018 (изменено) 2 часа назад, Anatoliy сказал: Моя проблема как эти 5 звезд в мобильном приложении организовать и показать наиболее правильным и красивым образом ну и конечно понять на какой звезде был клик, ну и раскрасить предыдущее в желтый цвет для красоты, а не делать радиобатоны вместо звезд... Надеюсь, что в предыдущем посте помог ответить на первую часть вопроса. Если каждая звезда организована отдельным компонентом, то, соответственно, вы всегда можете узнать по какой звезде был клик и раскрасить все звезды до нее (включительно) в желтый цвет. Ниже скинул программку для герерации TPathData звезды, может пригодится star generator.zip Можно использовать генерируемую строку TPathData, или использовать код procedure star; var i: byte; a1,a2: single; begin Path.Clear; Path.MoveTo(PointF(0,-r)); a1:=Pi/5-Pi/2; a2:=-Pi/2; for i:=1 to 5 do begin Path.LineTo(PointF((r*cos(Pi/5)-d)*cos(a1+(i-1)*2*Pi/5),(r*cos(Pi/5)-d)*sin(a1+(i-1)*2*Pi/5))); Path.LineTo(PointF(r*cos(i*2*Pi/5+a2),r*sin(i*2*Pi/5+a2))); end; Path.ClosePath; path.Translate(r*cos(Pi/10),r); end; Где R - радиус описанной окружности вокруг звезды. В програме он равен 100. d - Разность радиусов внешней и внутренней окружности согласно рисунка Изменено 8 октября, 2018 пользователем Alex7wrt Anatoliy и Barbanel 1 1 Цитата Ссылка на комментарий
0 Barbanel Опубликовано 8 октября, 2018 Поделиться Опубликовано 8 октября, 2018 Эта шэдэвр!!! В случайно в Думе не кодили? Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 8 октября, 2018 Поделиться Опубликовано 8 октября, 2018 Не приходилось )) Это рисунок звезды вызывает такие ассоциации? ) Цитата Ссылка на комментарий
0 Barbanel Опубликовано 8 октября, 2018 Поделиться Опубликовано 8 октября, 2018 Да) Не обращайте внимания, это шутка) Конец дня и все такое))) Если по делу, то понравился код рисования звезды) Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 8 октября, 2018 Поделиться Опубликовано 8 октября, 2018 (изменено) Да все норм. Мне самому рисунок не очень понравился )) Рисовал его в ворде года два назад, когда хотел понять, как удобнее рисовать звезду. Когда понял, то рисунок уже не было смысла доводить до ума, так что таким он и остался. Но вот щас все-таки решил доделать. Исправил изображение ) Изменено 8 октября, 2018 пользователем Alex7wrt Barbanel 1 Цитата Ссылка на комментарий
0 Евгений Корепов Опубликовано 16 октября, 2018 Поделиться Опубликовано 16 октября, 2018 Вместо рисования звезды в TPath, проще использовать соотвествующий символ юникода. Char($2606) // Не закрашенная звезда Char($2605) // Закрашенная звезда https://unicode-table.com/ru/sets/stars-symbols/ Можно даже для еврейский магазинов сделать рейтинг Tumaso, Anatoliy и Barbanel 2 1 Цитата Ссылка на комментарий
Вопрос
Anatoliy
Прощу прощения, прохожий вопрос, вроде поднимался, но не нахожу. Вопрос: как наиболее правильным способом реализовать пять звёздочек для оценки показа рейтинга?
Ссылка на комментарий
10 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.