• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом


  • Иллюстрированный самоучитель по Turbo Pascal

    Краски, палитры, заполнения

    Процедура Sector

    Вычерчивает и заполняет эллипсный сектор. Заголовок:

    Procedure Sector(X,Y: Integer; BegA,EndA,RX,RY: Word);
    

    Здесь BegA, EndA – соответственно начальный и конечный углы эллипсного сектора. Остальные параметры обращения аналогичны параметрам процедуры FillEllipse.

    В следующей программе на экран выводятся случайные закрашенные эллипсы и секторы. Для выхода из программы нажмите любую клавишу.

    Uses Graph, CRT;
    var
    d, r, e: Integer;
    begin
    {Инициируем графику}
    d: = Detect; InitGraph(d, r, '');
    e: = GraphResult; if e <> grOk then
    WriteLn(GraphErrorMsg(e))
    else
    begin
    {Создаем окно в центре экрана}
    d: = GetMaxX div 4;
    r: = GetMaxY div 4;
    Rectangle(d,r,3*d,3*r);
    SetViewPort(d+1,r+1.3*d-1.3*r-1,ClipOn);
    {Цикл вывода}
    repeat
    SetFillStyle(Random(12), Random(succ(GetMaxColor)));
    SetColor (Random(succ(GetMaxColor)));
    Sector(Random(GetMaxX div),Random(GetMaxY div 2),
    Random(360),Random(360),Random(GetMaxX div 5),
    Random(GetMaxY div 5));
    FillEl.lipse (Random (GetMaxX div 2),
    Random(GetMaxY div 2),Random(GetMaxX div 5),
    Random(GetMaxY div 5))
    until KeyPressed;
    if ReadKey=#0 then d: = ord(ReadKey);
    CloseGraph
    end
    end.
    

    Процедура PieSlice

    Вычерчивает и заполняет сектор окружности. Заголовок:

    Procedure PieSlice(X,Y: Integer; BegA,EndA,R: Word);
    

    В отличие от процедуры Sector, указывается лишь один горизонтальный радиус R, остальные параметры аналогичны параметрам процедуры Sector.

    Сектор обводится линией, заданной процедурами SetLineStyle и SetColor, и заполняется с помощью параметров, определенных процедурой SetFillStyle. Процедуру удобно использовать при построении круговых диаграмм, как, например, в следующей программе (рис. 14.9).

    Иллюстрированный самоучитель по Turbo Pascal › Использование библиотеки Graph › Краски, палитры, заполнения
    Рис. 14.9. Иллюстрация процедуры PieSlice:

    Uses Graph, CRT;
    var
    d, r, e: Integer;
    begin
    {Инициируем графический режим}
    d: = Detect;
    InitGraph(d, r, '');
    e: = GraphResult; if e <> grOk then
    WriteLn(GraphErrorMsg(e))
    else
    begin
    {Выводим маленький сектор}
    SetFillStyle(WideDotFill, White);
    PieSlice(GetMaxX div 2+5,GetMaxY div 2+4.270.360.100);
    {Выводим большой сектор}
    SetFillStyle (SolidFill, Red);
    PieSlice (GetMaxX div 2,GetMaxY div 2, 0.270.100).;
    {Выводим надписи}
    OutTextXY (GetMaxX div 2+90,GetMaxY div 2+70, '25%');
    OutTextXY(GetMaxX div 2-50,GetMaxY div 2-20, '75%');
    {Ждем нажатия на любую клавишу}
    if ReadKey=#0 then d: = ord(ReadKey);
    Close,Graph
    end
    end.
    
    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.