Alexander |
Отправлено: 01.07.2006, 21:43 |
|
Не зарегистрирован
|
Точнее помогите перевести с Delphi на C++Builder вот такой код
CODE |
procedure TForm1.SpeedButton5Click(Sender: TObject);
var
WordApp: _Application;
Dlg: Dialog;
begin
if re.Text='' then exit;
WordApp := CoWordApplication.Create;
WordApp.Documents.AddOld(EmptyParam, EmptyParam);
WordApp.Visible := True;
Dlg := WordApp.Dialogs.Item(wdDialogToolsCreateEnvelope);
OleVariant(Dlg).AddrText :=remindex+#13+remstreet;
Dlg.Show(EmptyParam);
end;
| |
|
ShibaOn |
Отправлено: 02.07.2006, 06:22 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 37
|
Что-то типа этого
CODE |
void __fastcall TForm2::SpeedButton5Click(TObject *Sender)
{
_Application *WordApp;
Dialog *Dlg;
if (re->Text == "") {
Exit();
}
WordApp = CoWordApplication->Create;
WordApp->Documents->AddOld(EmptyParam, EmptyParam);
WordApp->Visible = True;
Dlg = WordApp->Dialogs->Item(wdDialogToolsCreateEnvelope);
((OleVariant *)Dlg)->AddrText = remindex + "\n" + remstreet;
Dlg->Show(EmptyParam);
}
|
|
|
Guest |
Отправлено: 02.07.2006, 07:16 |
|
Не зарегистрирован
|
Огромное сенк.
Стормозил )))было поздно спать хотелось |
|
Alexander |
Отправлено: 02.07.2006, 10:26 |
|
Не зарегистрирован
|
чтото поторопился сказать что разобрался
Выкидует ошибку на
CoWordApplication.Create
|
|
ShibaOn |
Отправлено: 02.07.2006, 14:52 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 37
|
Да это и я что-то ступил (просто проснулся рано), там надо написать CoWordApplication->Create() — скобки тоесть поставить (в сишнике процедур нету)
|
|
Grigoriy |
Отправлено: 02.07.2006, 18:20 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
QUOTE (ShibaOn @ 02/07/2006, 14:52) | Да это и я что-то ступил (просто проснулся рано), там надо написать CoWordApplication->Create() — скобки тоесть поставить (в сишнике процедур нету) |
Без скобок будет указатель на функцию.
|
|
ShibaOn |
Отправлено: 02.07.2006, 19:23 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 37
|
Я так и понял
|
|
Alexander |
Отправлено: 03.07.2006, 23:08 |
|
Не зарегистрирован
|
вот помогли преобразовать так все работает запускается
CODE |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
_Application *WordApp;
Dialog *Dlg;
if re.Text.IsEmpty() return;
CoWordApplication::Create(&WordApp);
WordApp->Documents->AddOld(EmptyParam, EmptyParam);
WordApp->Visible=true;
Dlg=WordApp->Dialogs->Item(wdDialogToolsCreateEnvelope);
// ??? OleVariant(Dlg).AddrText :=remindex+#13+remstreet;
Dlg->Show(EmptyParam);
}
|
вот тока со строкой
OleVariant(Dlg).AddrText :=remindex+#13+remstreet;
касяк немогу преобразовать подскажите как быть
на такой вариант тоже ругается
CODE |
void __fastcall TForm2::SpeedButton5Click(TObject *Sender)
{
_Application *WordApp;
Dialog *Dlg;
if (re->Text == "") {
Exit();
}
WordApp = CoWordApplication->Create;
WordApp->Documents->AddOld(EmptyParam, EmptyParam);
WordApp->Visible = True;
Dlg = WordApp->Dialogs->Item(wdDialogToolsCreateEnvelope);
((OleVariant *)Dlg)->AddrText = remindex + "\n" + remstreet;
|
или какую нить библиотеку подключать надо
Отредактировано olegenty — 04/07/2006, 07:03 |
|
Guest |
Отправлено: 04.07.2006, 04:20 |
|
Не зарегистрирован
|
AddrText и re->Text какого типа у тебя? |
|
Alexander |
Отправлено: 04.07.2006, 22:29 |
|
Не зарегистрирован
|
AddrText это свойство Worda предающая строку в поле адресата
а re->Text String
Просто самое семешное нигде немогу найти примера печати конверта в Word из С++ Builder |
|
ShibaOn |
Отправлено: 05.07.2006, 04:20 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 37
|
Если AddrText — LPCHAR, то оператор + применять бессмыслено, он же не будет складывать указатели, точнее сложить то он значения адресов сможет, но что из этого получиться... Попробуй использовать sprintf из stdio.h.
А с re->Text чего-то я ступил, мог бы и по IsEmpty() догадаться
|
|
Alexander |
Отправлено: 05.07.2006, 08:44 |
|
Не зарегистрирован
|
а вообще никто чтоли раньше не печатал конверт в Wordе из своих приложений поделитесь примером если есть ато застрял на этой фигне сил нет уже |
|