![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Послать *.doc на печать.Подскажите пожалуйста! [D7, WinXP]
Maggot © (2006-06-24 04:32:00)Как напечатать документ word одним нажатием на батон?
Maggot (2006-06-27 01:17:00) [1]Спасибо всем за советы.
Palladin (2006-06-26 13:46:00) [2]можно и через COM (или OLEAutomation, или.... названий много)...
Var
w:OleVariant;
Begin
w:=CreateOLEObject('Word.Application');
w.PrintOut(FileName:=<имя файла>);
w.Quit;
w:=Unassigned;
End;
что то типа этого... есть правда небольшой нюанс, ворд не даст закрыть себя до окончания отправки на печать... поэтому придется устроить цикл с ожиданием...
(2006-06-26 13:38:00) [3]Удалено модератором
C@N (2006-06-26 13:24:00) [4]в догонку... печатает на деафультный принтер в системе)))
печатает все, что можно напечатать )))
короче эксперементируйте )))
C@N (2006-06-26 13:22:00) [5]Для доковских...shellExecute - то что доктор прописал, токо в uses не забудь прописать ShellApi
а в кнопе пиши типа этого
ShellExecute(application.handle, 'print', 'c:\1.txt', '', '', SW_SHOWNORMAL);
Maggot (2006-06-26 01:20:00) [6]А можно через CОМ?Дайте пожалуйста пример.
Virgo_Style (2006-06-25 13:12:00) [7]Экспериментатор (25.06.06 12:56) [4]
Достаточно ShellExecute с параметром 'print' и именем файла-документа
Экспериментатор (2006-06-25 12:56:00) [8]попробуй поэкспериментировать с командной строкой, что-то типа winword.exe "имя файла" print - по крайней мере Word что-то подобное может делать
ну а вызов такой сделай при помощи ShellExecute
Пусик (2006-06-25 03:31:00) [9]> Maggot (24.06.06 21:50) [2]
> Дело в том что принтера нету.Так что проверить код нет возможности.Все
> еще нуждаюсь в помощи с печатью вордовских документов.
Приходите еще. Когда принтер будет.
Maggot (2006-06-24 21:50:00) [10]Дело в том что принтера нету.Так что проверить код нет возможности.Все еще нуждаюсь в помощи с печатью вордовских документов.
sava18 (2006-06-24 19:32:00) [11]делал лабы в кансоли.Там есть вывод на печать.короче сам разберешься.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,Printers;
var
x,y:array[1..30]of integer;
a,i,b,c,j:integer;
p:string;
St:string;
f:text;
Label s,s1;
begin
randomize;
i:=0;
AssignFile(f,'file.txt');
Rewrite(f);
for a:=1 to 30 do
begin
i:=i+1;
x[i]:=random(10);
y[i]:=random(10);
if x[i]<5 then if y[i]<3 then
begin
writeln('(x',i,':y',i,') ',x[i],':',y[i]);
p:=inttostr(x[i])+':'+inttostr(y[i]);
writeln(f,p);
end;
end;
CloseFIle(f);
AssignFile(f,'file.txt');
Reset(f);
with Printer do begin
BeginDoc;
Canvas.Font.Color := 10;
j:=0;
s:
j:=j+100;
ReadLn(f,St);
if St='' then goto s1;
Canvas.TextOut(100,j, St);
goto s;
s1:
EndDoc;
end;
readln;
CloseFile(f);
end.