Новые книги

Что в нем особенного? Почему Стив Джобс при жизни считался гением, а после смерти превратился в культовую фигуру, легенду и основателя религии Apple, у которой миллиарды последователей по всему миру? Не инженер, не дизайнер, он всего лишь дирижировал оркестром. По-своему. Он не признавал правил и беспрестанно унижал своих сотрудников. Джобс добился того, что его уволили из его собственной компании. Как из юного мечтателя он превратился в культового героя? Кто такой Стив Джобс и кем он стал после жизни?

Новая книга Бориса Соколова рассказывает историю жизни Стива Джобса – человека и легенды. Из книги Вы узнаете не только шокирующие подробности жизни Джобса, но и историю Apple, а также историю создания культа нового времени. Подробности съемок нового фильма, откровения Майкла Фассбендера, исполнителя главной роли в фильме Дэнни Бойла и многое другое! Читайте и поклоняйтесь Его Величеству Джобсу!
Как найти новых клиентов? Этот вопрос, пожалуй, самый важный для любого бизнеса, потому что если у компании недостаточно потребителей, то все остальное уже не так существенно. И наоборот, постоянный поток клиентов способен быстро привести почти любой проект к успеху даже в условиях сильной конкуренции, кризиса и любой иной нестабильности. Проблем с клиентами добавляет быстро меняющаяся рыночная ситуация во всех нишах и отраслях – изменяются вкусы и пристрастия потребителей, мотивы при выборе товаров и услуг и их поставщиков, меняются, в конце концов, технологии и привычные уровни цен. То, что еще вчера в маркетинге давало отличные результаты, сегодня перестает работать и требует перенастройки. Эффективный подход к проблеме – это не «лечение» нежелательных последствий, а устранение причин «заболевания». В случае с маркетингом и продажами таким кардинальным средством является системный подход, то есть выстраивание системы постоянного привлечения новых клиентов. С помощью такой системы можно управлять скоростью притока новых клиентов, пользоваться «тормозом», «газом» и другими элементами. Она позволит контролировать все процессы и в случае необходимости масштабироваться с ростом бизнеса. Есть проверенные инструменты, взяв и настроив которые можно запустить ваш «генератор новых клиентов». Рекомендуется топ-менеджерам, руководителям и владельцам предприятий малого и среднего бизнеса, руководителям служб сбыта.

Вопрос и Ответ 11

Вопросы и Ответы


      11. Можно ли в Delphi вывести строку повернутую под любым углом?

      Стандартные средства Delphi не позволяют использовать вывод строки текста под произвольным углом, так как в модуле Graphics поля отвечающие за угол поворота строки принудительно обнуляются. Это приводит к необходимости использовать средства API.

      Наверное, лучший способ - это исправить модуль Graphics и разрешить использование произвольного угла поворота во всех объектах сразу. Но такой путь потребует перекомпиляции нескольких модулей и приведет к некорректной работе ваших кодов с другими версиями Delphi. Другой способ - написать процедуру вывода под углом и пользоваться ею при необходимости.

      Чтобы не нарушать существующий порядок вывода строки на экран, будем следовать следующим правилам:

      1. Все параметры шрифта, кроме угла - брать из объекта Font;
      2. Рисовать в контексте Canvas.

      Пример:

      ............

      PROCEDURE FreeTextOut(Canvas: TCanvas; X, Y, A: Integer; S: String);
      VAR

        OldFont, NewFont: hFont;
        lf : TLogFont;

      BEGIN

        {Создаем описание для нового шрифта.}
        WITH lf, Canvas DO BEGIN

          {Устанавливаем текущие для объекта Font параметры, кроме углов.}
          lfHeight := Font.Height;
          lfWidth := 0;
          lfEscapement := A*10; {Угол наклона строки в 0.1 градуса}
          lfOrientation := A*10; {Угол наклона символов в строке в 0.1 градуса}
          if fsBold in Font.Style then lfWeight := FW_BOLD

            else lfWeight := FW_NORMAL;

          lfItalic := Byte(fsItalic in Font.Style);
          lfUnderline := Byte(fsUnderline in Font.Style);
          lfStrikeOut := Byte(fsStrikeOut in Font.Style);
          lfCharSet := DEFAULT_CHARSET;
          StrPCopy(lfFaceName, Font.Name);
          lfQuality := DEFAULT_QUALITY;
          lfOutPrecision := OUT_DEFAULT_PRECIS;
          lfClipPrecision := CLIP_DEFAULT_PRECIS;
          lfPitchAndFamily := DEFAULT_PITCH;

        end;
        {Создаем новый шрифт}
        NewFont := CreateFontIndirect(lf);
        {Выбираем новый шрифт в контекст отображения}
        OldFont := SelectObject(Canvas.Handle, NewFont);
        {Выводим текст на экран ПОД ЗАДАННЫМ УГЛОМ}
        Canvas.TextOut(X, Y, S);
        {Восстанавливаем в контексте старый шрифт}
        SelectObject(Canvas.Handle, OldFont);
        {Удаляем новый шрифт}
        DeleteObject(NewFont);

      END;

      ............

      Созданную процедуру лучше всего оформить в виде модуля.

      Процедура работает аналогично процедуре TextOut, единственное - ей необходимо явно передавать контекст отображения:

    procedure FreeTextOut(Canvas: TCanvas; X, Y, A: Integer; S: String);

      где

      • Canvas - контекст (канва) отображения;
      • X, Y - соответствующие координаты;
      • A - угол поворота строки (в углах);
      • S - выводимая строка.

      Пример:

      ............

      FreeTextOut(Canvas, 100, 100, 45, 'Пример вывода под углом');

      ............

      P.S. Поворачивать можно только векторные и масштабируемые (True Type) шрифты. А шрифт System, используемый Delphi по умолчанию - растровый!


...предыдущая страница следующая...
оглавление



"Вопрос и Ответ 11"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2024 .
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.006