Виртуальная библиотека Delphi

Здесь есть возможность читать онлайн «Виртуальная библиотека Delphi» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Виртуальная библиотека Delphi: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Виртуальная библиотека Delphi»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Виртуальная библиотека Delphi — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Виртуальная библиотека Delphi», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

DDE1.OpenLink; { устанавливаем связь }

Tv:=StrAlloc(20000); Ss:=StrAlloc(300); { выделяем память }

{ даем команду открыть документ и установить курсор в начало документа }

StrPCopy(Tv, '[FileOpen "'+S+'"][StartOfDocument]');

S:=NNakl.Text; { номер накладной }

{ записываем в позицию Num номер накладной }

StrCat(Tv, StrPCopy(SS, '[EditBookmark .Name = "Num", .Goto][Insert "'+S+'"]'+

'[EditBookmark .Name = "Table", .Goto]'); { и переходим к заполнению таблицы }

{ передаем данные в Word }

if not DDE1.ExecuteMacro(Tv, false) then

begin { сообщаем об ошибке и выход }

MessageDlg('Ошибка связи с Microsoft Word.', mtError, [mbOk], 0);

StrDispose(Tv); StrDispose(Ss);

exit;

end;

{ Заполняем таблицу }

Sum:=0; Nn:=0;

for i:=0 to TCount do

begin

inc(Nn);

{ предполагаем, что данные находятся в массиве T }

StrPCopy(Tv, '[Insert "'+IntToStr(Nn)+'"][NextCell][Insert "'+T[i].Company+'"]'+

'[NextCell][Insert "'+T.TName+'"][NextCell][Insert "'+T.Cod+'"][NextCell]'+

'[Insert "'+IntToStr(T.Count)+'"][NextCell]'+

'[Insert "'+FloatToStr(T.Cena)+'"][NextCell]'+

'[Insert "'+FloatToStr(T.Count*T.Cena)*+'"][NextCell]'));

inc(Nn);

Sum:=Sum+(T.Count*T.Cena); { итоговая сумма }

if not DDE1.ExecuteMacro(Tv, false)

then begin

MessageDlg('Ошибка связи с Microsoft Word.', mtError, [mbOk], 0);

exit;

end;

end;

{ Записываем итоговую сумму }

StrPCopy(Tv,

'[NextCell][Insert "Итого"][NextCell][NextCell][NextCell]'+

'[Insert "'+FloatToStr(Sum)+'"]'));

if not DDE1.ExecuteMacro(Tv, false)

then MessageDlg('Ошибка связи с Microsoft Word.', mtError, [mbOk], 0)

else MessageDlg('Акт удачно создан. Перейдите в Microsoft Word.',

mtInformation, [mbOk], 0);

StrDispose(Tv); StrDispose(Ss);

end;

Для Delphi 2 и выше

=== Cut Пример by Sergey Arkhipov 2:5054/88.10 ===

Пример проверен только на русском Word 7.0! Может, поможет...

unit InWord;

interface

uses

... ComCtrls; // Delphi3

... OLEAuto; // Delphi2

[skip]

procedure TPrintForm.MPrintClick(Sender: TObject);

var W: Variant;

S: String;

begin

S:=IntToStr(Num);

try // А вдруг где ошибка :)

W:=CreateOleObject('Word.Basic');

// Создаем документ по шаблону MyWordDot

// с указанием пути если он не в папке шаблонов Word

W.FileNew(Template:='C:\MyPath\DB\MyWordDot',NewTemplate:=0);

// Отключение фоновой печати (на LJ5L без этого был пустой лист)

W.ToolsOptionsPrint(Background:=0);

// Переходим к закладке Word'a 'Num'

W.EditGoto('Num'); W.Insert(S);

//Сохранение

W.FileSaveAs('C:\MayPath\Reports\MyReport')

W.FilePrint(NumCopies:='2'); // Печать 2-х копий

finally

W.ToolsOptionsPrint(Background:=1);

W:=UnAssigned;

end;

end;

{.....}

=== Cut Конец примера ===

Спасибо Сергею :) И еще, как определить установлен ли на компьютере Word, запустить его и загрузить в него текст из программы?

Пример:

var

MsWord: Variant;

...

try

// Если Word уже запущен

MsWord := GetActiveOleObject('Word.Application');

// Взять ссылку на запущенный OLE объект

except

try

// Word не запущен, запустить

MsWord := CreateOleObject('Word.Application');

// Создать ссылку на зарегистрированный OLE объект

MsWord.Visible := True;

except

ShowMessage('Не могу запустить Microsoft Word');

Exit;

end;

end;

end;

...

MSWord.Documents.Add; // Создать новый документ

MsWord.Selection.Font.Bold := True; // Установить жирный шрифт

MsWord.Selection.Font.Size := 12; // установить 12 кегль

MsWord.Selection.TypeText('Текст');

По командам OLE Automation сервера см. help по Microsoft Word Visual Basic.

Ну вот и все.

Перетаскивание файла

{ На эту форму можно бросить файл (например из проводника)

и он будет открыт }

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics,

Controls, Forms, Dialogs,StdCtrls,

ShellAPI {обязательно!};

type

TForm1 = class(TForm)

Memo1: TMemo;

FileNameLabel: TLabel;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

protected

{Это и есть самая главная процедура}

procedure WMDropFiles(var Msg: TMessage); message wm_DropFiles;

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMDropFiles(var Msg: TMessage);

var

Filename: array[0 .. 256] of Char;

Count : integer;

begin

{ Получаем количество файлов (просто пример) }

nCount := DragQueryFile( msg.WParam, $FFFFFFFF,

acFileName, cnMaxFileNameLen);

{ Получаем имя первого файла }

DragQueryFile( THandle(Msg.WParam),

0, { это номер файла }

Filename,SizeOf(Filename) ) ;

{ Открываем его }

with FileNameLabel do begin

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Виртуальная библиотека Delphi»

Представляем Вашему вниманию похожие книги на «Виртуальная библиотека Delphi» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Виртуальная библиотека Delphi»

Обсуждение, отзывы о книге «Виртуальная библиотека Delphi» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x