Урок 13 - Знакомство с компонентами (часть 4/12)

  Прошу прощения за задержку публикации тринадцатого урока. У меня было много дел и мало времени, но сейчас не об этом! Давайте же продолжим изучение компонентов Delphi со вкладки Additional.

Компонент MaskEdit представляет собой обычный Edit, но у него есть особенность вводить текст по маске. Для этого существует свойство EditMask. После нажатия на это свойство появляется простенькое окно редактирования маски.

Oкно редактирования маски


С правой стороны окна находится список, в который записаны маски по умолчанию. Выбираем например маску Short Time, нажимаем кнопку "ОК" и компилируем проект. Теперь в наше поле MaskEdit можно вводить только время, состоящие из четырех цифр. Думаю с компонентом трудностей не возникнет и по этому переходим к следующему компоненту, который называется Shape.

Компонент Shape предназначен для отображения простых геометрических фигур на форме. Кидаем этот компонент на форму и переходим к свойству Shape. Из выпадающего списка мы можем выбрать любую из представленных геометрических фигур.

Список


Так же у компонента Shape есть свойство Brush. Открываем его и видим еще одно свойство под названием Color. Это свойство задает цвет закраски фигуры.

Свойство Shape


Далее рассмотрим свойство Pen. Открываем его и видим еще несколько свойств.

Свойство Pen


Свойство Color отвечает за цвет границы нашей фигуры.
Свойство Style отвечает за стиль границы, то есть можно выбрать пунктир, частый пунктир и т. д. В принципе этот компонент тоже из себя ничего сложного не представляет.

Теперь настало время познакомиться с более мощным компонентом, который называется Chart. Он необходим для построения различных графиков, круговых диаграмм на нашей форме. Переносим этот компонент на форму и кликаем на него 2 раза. Появляется окно редактора диаграмм. Нажимаем на кнопку "Add...".

Окно редактора диаграмм


Нам открылось окно, в котором мы видим список возможных диаграмм.

Список  диаграмм


Выбираем круговую диаграмму и нажимаем кнопку "OK". Имя нашей диаграммы автоматически присвоилось Series1.

Series1


Не обращайте внимания на то, что на компоненте сразу выстроилась диаграмма с разными значениями. При компиляции мы увидим пустую область на этом компоненте. Теперь научимся создавать диаграммы. Кликаем по нашей кнопке "Посчитать" и приступаем к изменению кода в обработчике события Button1Click. Усовершенствуем конструкцию if then, добавляя ключевые слова begin и end. Далее пишем код после строчки, где присваиваем лейблу результат:
Series1.AddPie(strtoint(label1.Caption),'+Сложить',clred);
Вообще что будет делать наша диаграмма? После того, как мы будем с числами выполнять какие-то математические операции, у нас будет на круговой диаграмме показываться доля этих операций.

Функция AddPie имеет 3 параметра. Первый это числовое значение, которая долька будет занимать от всей диаграммы. Второй параметр отвечает за подпись, а третий за цвет дольки. В первый параметр нужно занести число, а лейблу у нас присваивается значение "Результат = и тут какое-то число". Дак вот, нам нужно избавиться от "Результат =" и оставить только присваиваемое число. Для этого мы упростим строку:
Label1.Caption:='Результат = '+FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text));
Вот до такого вида:
Label1.Caption:=FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text));
Теперь скомпилируем и сложим два числа. У нас появится долька на диаграмме, с результатом сложения.

Результат


Теперь давайте изменим код для вычитания, деления и умножения. В итоге код обработчика события Button1Click будет таковым:
procedure TForm1.Button1Click(Sender: TObject);
begin
if (RadioButton1.Checked = True) Then
begin
Label1.Caption:=FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text));
series1.AddPie(strtoint(label1.Caption),'+Сложить',clred);
end;

if (RadioButton2.Checked = True) Then
begin
Label1.Caption:=FloatToStr(StrToFloat(Edit1.Text)-StrToFloat(Edit2.Text));
series1.AddPie(strtoint(label1.Caption),'+Вычесть',clblack);
end;

if (RadioButton3.Checked = True) Then
begin
Label1.Caption:=FloatToStr(StrToFloat(Edit1.Text)*StrToFloat(Edit2.Text));
series1.AddPie(strtoint(label1.Caption),'+Умножить',clblue);
end;

if (RadioButton4.Checked = True) Then
begin
Label1.Caption:=FloatToStr(StrToFloat(Edit1.Text)/StrToFloat(Edit2.Text));
series1.AddPie(strtoint(label1.Caption),'+Разделить',clgreen);
end;

if (CheckBox1.Checked = True) Then
ListBox1.Items.Add(Label1.Caption);
end;
Результат выполнения такой программы вы можете видеть на скриншоте

Результат


Таким образом, мы научились создавать простейшие диаграммы в таком мощном компоненте. В следующем уроке мы продолжим знакомство с компонентами.

Ну вот и всё! Удачи!
Встретимся в следующем уроке!




Добавил(а): SyGaK Дата: 2012-12-10
Новый урок! Сделай ещё
p.s. Очень хотелось бы увидеть уроки по парсингу и работе с Indy



Добавил(а): Admin Дата: 2012-12-10
Теперь уроки буду писать чаще. А вот до Indy еще далековато.



Добавил(а): oktavius Дата: 2012-12-10
Круто



Добавил(а): SyGaK Дата: 2012-12-10
А парсинг? Сейчас тоже очень интересует. Прошу, посвети этому урок в ближайшее время



Добавил(а): Admin Дата: 2012-12-10
Уроки предназначены для новичков, а парсинг это уже... Возможно я напишу статью на эту тему, но не в ближайшее время.



Добавил(а): delfiSkin Дата: 2013-05-20



Добавил(а): Ukrainian12 Дата: 2013-06-13
>delfiSkin +1



Добавил(а): kamotora Дата: 2013-10-31
Теперь если в ответе дробь,то еб*шет ошибку



Добавил(а): Samil Дата: 2014-01-18
Измени strtoint на strtofloat series1.AddPie(strtoint(label1.Caption),',clred);



Добавил(а): spyman_xx Дата: 2014-10-06



Добавил(а): shukrona.normatova Дата: 2016-07-12



Добавил(а): Suhrab Дата: 2017-05-19



Добавил(а): pronin106 Дата: 2017-05-24


  1. Dohorprok
    Dohorprok 11 months ago
    Propecia Pas Cher Marseille Inimeneidigh [url=https://bansocialism.com/]cheap cialis no prescription[/url] diunny Is Lasix Hard On The Kidneys
  2. данил галиев
    данил галиев 10 months ago
    я гей
  3. данил галиев
    данил галиев 10 months ago
    я гей
  4. данил галиев
    данил галиев 10 months ago
    я гей
  5. данил галиев
    данил галиев 10 months ago
    я гей
  6. данил галиев
    данил галиев 10 months ago
    я гей
  7. данил галиев
    данил галиев 10 months ago
    я гей
  8. данил галиев
    данил галиев 10 months ago
    я гомосек
  9. данил галиев
    данил галиев 10 months ago
    я гомосек
  10. муха
    муха 10 months ago
    я люблю аделя
  11. ааааа
    ааааа 10 months ago
    ДАНИЛ ПИЗДОЛИЗ
  12. регина исламгалиева город арск
    регина исламгалиева город арск 10 months ago
    у меня дряхлая...
  13. ЭЛИНА
    ЭЛИНА 10 months ago
    Я ЛЮБЛЮ СОСОЧКИ .......
  14. регина исламгалиева город арск
    регина исламгалиева город арск 10 months ago
    я люблю большие и волосатые
    • ШАКИРОВ
      ШАКИРОВ 10 months ago
      У МЕНЯ ТАКОЙ ЭЛИНА .....
      • адель гайнутдинов
        адель гайнутдинов 10 months ago
        у меня такой же
  15. мАКСИМ
    мАКСИМ 10 months ago
    у МЕНЯ маленький и короткий и тонкий........
  16. Dohorprok
    Dohorprok 8 months ago
    [url=http://vslevitrav.com/]cheapest levitra plus[/url]
  17. Dohorprok
    Dohorprok 7 months ago
    <a href="https://vskamagrav.com/">buy kamagra with american express[/url]</a>
  18. abobiap
    abobiap 6 months ago
    <a href="https://vskamagrav.com/">cheapest kamagra uk[/url]</a>
  19. abobiap
    abobiap 5 months ago
    <a href="https://vsamoxilv.com">[/url]</a>
  20. abobiap
    abobiap 5 months ago
    <a href="http://propeciaset.com/">propecia fast delivery</a>
  21. abobiap
    abobiap 4 months ago
    <a href="http://cialiswwshop.com/">viagra vs cialis</a>
  22. abobiap
    abobiap 3 months ago
    <a href="http://cialiswwshop.com/">buying generic cialis online safe</a>
  23. Davidtaw
    Davidtaw 3 days ago
    Быстрый и неплохая заработок на спорте – это это, тоже презентует Вам Pinnacle к тому же более чем 20 лет времени, наша контора пребывает в статусе откровенно лучшим букмекером касательно выполнимости поступления денег под новых пользователей также https://www.bookmaker-pinnacle.com/ легкого использования финансов комфортным способом. В период блока главного ресурса букмекерская контора предлагаем клиентам воспользоваться зеркалом – идентичная веб-страничка официальной букмекерской источника Pinnacle, где сохраняется рабочий набор функций пользователя, его Вы имеет возможность преподнести, фактически простой сайт курса на спортивные игры. На нашем страничке <a href="https://www.bookmaker-pinnacle.com">pinnacle зеркало рабочее</a> игроки смогут прочесть необходимые данные на счет ставки также вариантов увеличения прибыли, система перевода средств и подобные информацию для новых любителей ставок. Используйте на источник Пинакл еще оперируйте всеми ресурсами веб-сайта, здесь пользователь сумеют открыть собственные умения и попробовать зарабатывать на Пинакла.
  24. LikefilmsNet
    LikefilmsNet 2 days ago
    Киномир – точно территория, на каком кинозритель определит для себя что-же по своей душе, ведь не найдете лучшего досуга от постоянной рутины, нежели включение яркого фильма любимого формата, тот что Вы определяет на свое предпочтение. Ресурс онлайн фильмов <a href="https://likefilms.net/14-dzhudi.html">Джуди (2019) смотреть фильм онлайн бесплатно</a> вмещает внушительное библиотеку всех картин последних годов также премьеры нынешнего года, их все пользователи имеют возможность смотреть совершенно свободно плюс без личного кабинета. Приспособленная фильтр поиска фильмов, мультиков либо документальных сериалов быстро выдаст формат в хорошем разрешении плюс озвучке, к тому же наши пользователи всегда можете открыть просмотревший выпуски с очень родными друзьями с помощью кнопку поделиться и оставить свой отзыв, есле ж предполагаете поделиться основные впечатлениями совместно с следующими кинолюбителями. Именно на нашем веб-ресурсе различного кинодроме зритель имеет возможность подобрать фильмы по жанрам, времени или же рейтингу, находите и всегда наслаждайтесь любимое сериалом с блаженством на данном Like Films .
  25. hd1080pred
    hd1080pred a day ago
    Просмотр киносюжета теперь стала неотъемлемая разделом вашего отдыха по вечернее время иногда в течении дня, иногда по свободных днях и буднях, в момент уединенности или большой сообщества поэтому очень классно иметь ввиду сайт высококачественных кино, который все время рядом с вас. На нашем сайте цифрового фильмов <a href="https://hd1080p.red/collections/53-vse-multfilmy-istoriya-igrushek/">История игрушек все части смотреть онлайн бесплатно</a>, ценители первоклассного кино сумеют найти пред вышедшее показ, сериалити или же мультики, также подобрать фильм по жанру. Если юзер всемирный ценитель кино, здесь через веб-источник кино можно создать индивидуальную страничку, чтоб оставлять оценку, лайкнуть фильм, каковы хотелось бы увидеть. На основном шапке неизменно есть возможность увидеть популярные сюжеты, каковы выжидают в кинотеатрах и увидеть трейлеры, к тому же подходящие фильмы мы презентуем специально для новых посетителей только с отличном hd качестве, поэтому решительно сумеете переходить на библиотеку потом кликнуть «Старт» открытого фильм.
  26. KinogoBlue
    KinogoBlue a day ago
    Зачастую терзаетесь по задаче, то что стоит включить интригующее на свободный досуг? На нашем ресурсе свободного также разного фильмов Kinogo <a href="https://kinogo.blue/filmy-2021/831-zachistka.html">Зачистка (2021) смотреть онлайн бесплатно</a> абоненты сумеют быстро просмотреть подходящий формат киноленты обожаемого жанра с помощью интерфейса навигации, фильтрации либо строки серча. Мы все определил за зрителей также сделали фильтрацию кино более легче, на основной странице пользователь сумеют обозреть только что выпущенный кино, популярные сериалы к тому же предельно посещаемое фильмы, ну а во время когда желаете увидеть краткую нарезку вероятного кинокартин этого года, сейчас же переходите у шапку «В скором времени у кинотеатрах» затем смотрите достаточно свежие кинофильмы по прокате.
    Краткое воссоздание сюжета, сделанный чарт от зрителей плюс свободные мнение содейтвуют зрителю как подготовить фильм, который подойдет вовсе не только лишь Вас, однако и огромному числу знакомым. Заходите и определите новую фильмы непременно здесь!
  27. HotFilmComUa
    HotFilmComUa 3 hours ago
    <a href="https://hot-film.com.ua/g101338865-komplekty-infrakrasnogo-plenochnogo">https://hot-film.com.ua/g101338865-komplekty-infrakrasnogo-plenochnogo</a>
Отменить.