Библиотека knigago >> Компьютеры: Языки и системы программирования >> Pascal, Delphi, Lazarus и т.п. >> Виртуальная библиотека Delphi


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2175, книга: Психосоматика для нормальных психов
автор: Крис Саммерс

Книга Криса Саммерса "Психосоматика для нормальных психов" - это доступное и увлекательное руководство по связи между разумом и телом. Автор ясно и просто объясняет, как наши мысли, эмоции и убеждения могут влиять на наше физическое здоровье. Саммерс начинает с обзора истории психосоматики и объясняет различные физические симптомы, которые могут быть вызваны стрессом, тревожностью и другими психологическими факторами. Он также обсуждает роль генетики, окружающей среды и образа жизни...

Автор неизвестен - Виртуальная библиотека Delphi

Виртуальная библиотека Delphi
Книга - Виртуальная библиотека Delphi.  Автор неизвестен  - прочитать полностью в библиотеке КнигаГо
Название:
Виртуальная библиотека Delphi
Автор неизвестен

Жанр:

Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Pascal, Delphi, Lazarus и т.п.

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Виртуальная библиотека Delphi"

Аннотация к этой книге отсутствует.

Читаем онлайн "Виртуальная библиотека Delphi". [Страница - 3]

Вставить какую-нибудь программу внутрь EXE файла 1. Пишем в блокноте RC-файл, куда прописываем все нужные нам программы, например:

ARJ EXEFILE C:\UTIL\ARJ.EXE

2. Компилируем его в ресурс при помощи Brcc32.exe. Получаем RES-файл.

3. Далее в тексте нашей программы:

implementation

{$R *.DFM}

{$R test.res} //Это наш RES-файл

procedure ExtractRes(ResType, ResName, ResNewName : String);

var

 Res : TResourceStream;

begin

 Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));

 Res.SavetoFile(ResNewName);

 Res.Free;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

 begin

 // Записывает в текущую папку arj.exe

 ExtractRes('EXEFILE', 'ARJ', 'ARJ.EXE');

end;

Как написать маленький инсталлятор?

Мне понравился следующий вариант: главное приложение само выполняет функции инсталлятора. Первоначально файл называется Setup.exe. При запуске под этим именем приложение устанавливает себя, после установки программа переименовывает себя и перестает быть инсталлятором.

Пример:

Application.Initialize;

if UpperCase(ExtractFileName(Application.ExeName))='SETUP.EXE'  then Application.CreateForm(TSetupForm, SetupForm) // форма инсталлятора

else Application.CreateForm(TMainForm, MainForm); // форма основной программы

Application.Run;

Рисую две иконки 32х32 и 16х16, но под NT 32х32 не показывается!

С помощью Image Editor из комплекта Delphi3 создаю ресурс содержащий иконки и добавляю его в свой проект. Как известно, одна иконка в ресурсе может иметь два вида 32×32 и 16×16, которые отображаются соответственно при выборе крупных и мелких значков. Я создаю оба изображения, но после компиляции отображается только 16×16 (при крупных значках оно растягивается). Как мне сделать так, чтобы отображались обе иконки?

1. Такая штука работает только под Win 95-98, а в NT вторая икона не учитывается 

2. Для редактирования подобных иконок лучше использовать либо Borlad Resourse Workshop или Visual C++ (для иконок годится но для всего остального, извините!) 

Работа с принтером.

Delphi имеет стандартный объект для доступа к принтеру — TPRINTER, находящийся в модуле PRINTERS. В этом модуле имеется переменная Printer:Tpinter, что избавляет от необходимости описывать свою. Он позволяет выводить данные на печать и управлять процессом печати. Правда, в некоторых версиях Delphi 1 он имеет "глюк" — не работают функции Draw и StrethDraw. Но эта проблема поправима - можно использовать функции API. Далее приведены основные поля и методы объекта Printers:

PROPERTY

Aborted:boolean — Показывает, что процесс печати прерван

Canvas:Tcanvas — Стандартный Canvas, как у любого графического объекта. Он позволяет рисовать на листе бумаге графику, выводить текст… Тут есть несколько особенностей, они описаны после описания объекта.

Fonts:Tstrings — Возвращает список шрифтов, поддерживаемых принтером

Handle:HDS — Получить Handle на принтер для использования функций API (см. Далее)

Orientation:TprinterOrientation — Ориентация листа при печати : (poPortrait, poLandscape)

PageHeight:integer — Высота листа в пикселах

PageNumber:integer — Номер страницы, увеличивается на 1 при каждом NewPage

PageWidth:integer — Ширина листа в пикселах

PrinterIndex:integer — Номер используемого принтера по списку доступных принтеров Printers

Printers:Tstrings — Список доступных принтеров

Printing:boolean — Флаг, показывающий, что сейчас идет процесс печати

Title:string — Имя документа или приложения. Под этим именем задание на печать регистрируется в диспетчере печати


METODS

AssignPrn(f:TextFile) — Связать текстовый файл с принтером. Далее вывод информации в этот файл приводит к ее печати. Удобно в простейших случаях.

Abort — Сбросить печать

BeginDoc — Начать печать

NewPage — Начать новую страницу

EndDoc — Завершить печать.


Пример :

Procedure TForm1.Button1Click(Sender: TObject);

Begin

 With Printer do Begin

  BeginDoc; { Начало печати }

  Canvas.Font:=label1.font; { Задали шрифт }

  Canvas.TextOut(100,100,'Это тест принтера !!!'); { Печатаем текст }

  EndDoc; { Конец печати }

 end;

end;

Особенности работы с TPrinter
1. После команды BeginDoc шрифт у Canvas принтера сбрасывается и его необходимо задавать заново

2. Все координаты даны в пикселах, а для нормальной работы необходимы миллиметры (по двум очевидным причинам: очень трудно произвести разметку страницы в пикселах (особенно если необходима точность), и, главное, при изменении разрешающей способности принтера будет изменяться число точек на дюйм, и все координаты "поедут".

3. У TPrinter информация о принтере, по видимому, --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.