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.