Чтение онлайн

ЖАНРЫ

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

end;

function TWordConnection.QueryInterface(const IID: TGUID; out Obj): HResult;

begin

 Result := E_NOINTERFACE;

 Pointer(Obj) := nil;

 if (GetInterface(IID, Obj)) then Result := S_OK;

 if not Succeeded(Result) then

if (IsEqualIID(IID, DocumentEvents) or IsEqualIID(IID, ApplicationEvents)) then

if (GetInterface(IDispatch, Obj)) then Result := S_OK;

end;

{ IDispatch Methods }

function TWordConnection.GetIDsOfNames(const IID: TGUID; Names: Pointer; NameCount, LocaleID: Integer; DispIDs: Pointer): HResult;

begin

 Result := E_NOTIMPL;

end;

function TWordConnection.GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult;

begin

 Pointer(TypeInfo) := nil;

 Result := E_NOTIMPL;

end;

function TWordConnection.GetTypeInfoCount(out Count: Integer): HResult;

begin

 Count := 0;

 Result := E_NOTIMPL;

end;

function TWordConnection.Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer; Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult;

begin

 //This is the entry point for Word event sinking

 Result := S_OK;

 case DispID of

 1: ; // Startup

 2: ShowMessage('quit'); // Quit

 3: ; // Document change

 4: ; // New document

 5: ; // Open document

 6: ShowMessage('close'); // Close document

 else Result := E_INVALIDARG;

 end;

end;

end.
 

Автоматизация WORD 7

Delphi 3 

Вы

можете воспользоваться любым интерфейсом, предлагаемым сервером
автоматизации Word. Все реализованные интерфейсы вы можете увидеть при загрузке MSWORD8.OLB в Delphi, данный файл представляет собой библиотеку типов Word 7. Для исполнения VB в Word вы можете использовать свойство WordBasic Application. Следующий пример демонстрирует оба метода:

implementation

uses ComObj;

{$R *.DFM}

var V: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);

begin

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

 V.ShowMe;

 V.WordBasic.FileNew;

 V.WordBasic.Insert('тест');

 V.Run('mymac');

 V.WordBasic.FileSave;

end;

end.
 

ReportSmith 

Передача переменных отчета в ReportSmith III

…вы говорите можно передавать переменные? В документации только красивые схемы. Я пытаюсь передать две даты, но мне необходимо чтобы первую дату ввел пользователь, вторую я вычисляю в Delphi сам и передаю результат ReportSmith.

Вот кусор работающего у меня кода, передающий использующийся при выборе Timestamp. Я использую строковую переменную просто как способ проверить строку прежде, чем я ее добавлю в отчет. Если вы хотите, можете это убрать. Примечание: убедитесь в том, что переменная, которой вы передаете значение, написана верно. Переменные отчета Reportsmith ЧУСТВИТЕЛЬНЫ К РЕГИСТРУ.

Var S: String;

Begin

 ExportReport.InitialValues.Clear;

 S :='@SQLDate=<'''+FormatDateTime('mm/dd/yyyy hh:nn:ss',ATimeStamp)+'''>';

 ExportReport.InitialValues.Add(S);

 ExportReport.RUN;

End;

– Steve McWhirter 

SQLAnywhere 

Как правильно работать с SQLAnywhere через BDE→ODBC→SAW?

Nomadic советует: 

1. Необходимо поставить patch на ODBC-драйвер (доступен на www.sybase.com);

2. Достаточно флажка Keys in SQL Statistics в ODBC-администpатоpе, для того, чтобы исчезла необходимость ставить втоpичные индексы по ключевым полям;

3. Если Вы пользуетесь BDE 3.5, то обновите ее до версии 4.x, или замените idodbc.dll на тот, который идет в комплекте поставки BDE 3.0. 

Разное 

Ресурсы 

Пример ресурсной таблицы строк

Поделиться с друзьями: