C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Распечатать, Распечатать
jon
Отправлено: 25.01.2007, 11:40


Ученик-кочегар

Группа: Участник
Сообщений: 20



можно распечатать doc -файл через TPrinter и как?
А то получается либо текстовый, либо графический.
AVC
Отправлено: 25.01.2007, 12:10


Ветеран

Группа: Модератор
Сообщений: 1583



Печатать DOS файлы или текст как в DOS-e?
jon
Отправлено: 25.01.2007, 12:55


Ученик-кочегар

Группа: Участник
Сообщений: 20



Нет не дос файлы а файлы с расширением .doc
Вордовские файлы.
Gedeon
Отправлено: 25.01.2007, 13:03


Ветеран

Группа: Модератор
Сообщений: 1742



это проще делать через ShellExecute
nawok78
Отправлено: 25.01.2007, 14:34


Станционный диспетчер

Группа: Участник
Сообщений: 115



Этот кусок открывал Ексэлевский документ
был написан на паскале. я перевел
[CODE]
{
OLEVariant *Excel, *Book;
Excel=CreateOleObject('Excel.Application');
Book=Excel.WorkBooks.Open(FileName);
Excel.Visible:=false;
Excel.DisplayAlerts:=false;
}
[CODE]
попробуй также открой а потом распечатай используя команду Ворду
jon
Отправлено: 25.01.2007, 14:34


Ученик-кочегар

Группа: Участник
Сообщений: 20



А если нужно распечатать файл а программы ассоциации с ней нет. Тогда ShellExecute поможет? Задача такая программе "пихают" любой файл а она должна кинуть его на печать.
nawok78
Отправлено: 25.01.2007, 14:56


Станционный диспетчер

Группа: Участник
Сообщений: 115



ШэллЕкзэкуте запускает саму программу или программу ассоциированную с файлом, который ты в ней указал.

а если с файлом ничего не ассоциируется или нет такой программы — ОБЛОМ!
AVC
Отправлено: 25.01.2007, 15:40


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE (jon @ 25.01.2007, 13:34)
А если нужно распечатать файл а программы ассоциации с ней нет. Тогда ShellExecute поможет? Задача такая программе "пихают" любой файл а она должна кинуть его на печать.

Нет, не поможет. В этом случае ваша программа должна прикинуться, например, вордом и преобразовать входной файл в набор команд для печати с учетом всех используемых в документе команд форматирования.

Интересно, а насколько любой файл вы планируете на вход этого универсального распечатывателя? smile.gif

PS.
Другое дело, если вы хотите распечатать просто внутреннее содержимое файла — это вполне возможно и именно для любого файла, но вот нужно-ли?
nawok78
Отправлено: 25.01.2007, 16:50


Станционный диспетчер

Группа: Участник
Сообщений: 115



AVC — То есть ты предлагаешь написать эмулятор Ворда?
то над чем OpenOffice.org бьется уже не один год smile.gif
AVC
Отправлено: 25.01.2007, 17:17


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

То есть ты предлагаешь написать эмулятор Ворда?

Мы будем читать внимательно? smile.gif

Это не я предлагаю а jon хочет а его отговариваю.
В его постановке вопроса ему придется писать эмулятор не только ворда но всех прочих программ умеющих печатать. biggrin.gif
Parasit
Отправлено: 25.01.2007, 21:06


Дежурный стрелочник

Группа: Участник
Сообщений: 68



У меня еще вопрос
обязательно на принт нужно выводить с
с текстовых обьектов типа мемо

А нельзя распечатать результат
того что собралось на какай нить Form1 скажем?
AVC
Отправлено: 26.01.2007, 09:12


Ветеран

Группа: Модератор
Сообщений: 1583



TCustomForm->Print()
nawok78
Отправлено: 07.02.2007, 10:23


Станционный диспетчер

Группа: Участник
Сообщений: 115



блин это же в книжке по билдеру написано! читать надо smile.gif

CODE

ShellExecute(Handle, "print", "filename.ext", NULL, NULL, SH_HIDE );


этот способ печати можно использовать для всех известных Винде форматах

Отредактировано nawok78 — 07.02.2007, 10:25

Вернуться в Вопросы программирования в C++Builder