![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
или как сделать чтобы в дилоговом окне был чекбокс мол не выводить снова?
вот код: Код:
procedure TForm1.ToolButton4Click(Sender: TObject);
var
filename:OleVariant;
j,a: integer;
begin
showmessage('Выберете файл с шаблоном отчета. Он находится в корневом каталоге с программой (otchet.doc)');
if OpenDialog1.Execute
then
filename:=OpenDialog1.FileName;
WordApplication1.Connect;
WordApplication1.Documents.Open(FileName,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
DataModule2.ADOTable1.First;
a:=0;
j:=2;
while a<DataModule2.ADOTable1.RecordCount do
begin
WordDocument1.Tables.Item(1).Cell(j,1).Range.Text:=DataModule2.ADOTable1DSDesigner2.Value;
WordDocument1.Tables.Item(1).Cell(j,2).Range.Text:=DataModule2.ADOTable1DSDesigner3.Value;
WordDocument1.Tables.Item(1).Cell(j,3).Range.Text:=DataModule2.ADOTable1DSDesigner4.Value;
WordDocument1.Tables.Item(1).Cell(j,4).Range.Text:=DataModule2.ADOTable1_.AsString;
WordDocument1.Tables.Item(1).Cell(j,5).Range.Text:=DataModule2.ADOTable1_2.Value;
WordDocument1.Tables.Item(1).Cell(j,6).Range.Text:=DataModule2.ADOTable1_3.Value;
WordDocument1.Tables.Item(1).Rows.Add(EmptyParam);
a:=a+1;
j:=j+1;
DataModule2.ADOTable1.Next;
end;
end;
Последний раз редактировалось true, 27.11.2010 в 14:36. |
|
#2
|
||||
|
||||
|
С помощью функции CreateMessageDialog можно к сообщению добавлять компоненты делфи.
|
|
#3
|
|||
|
|||
|
Ну я не просто так код выложил.. то что вы сказали это есть в faq но у меня ошибки..
незнаю я что делать вот добавил Код:
procedure TForm1.Word1Click(Sender: TObject);
var
filename:OleVariant;
j,a: integer;
AMsgDialog: TForm;
ACheckBox: TCheckBox;
begin
AMsgDialog := CreateMessageDialog('Это тестовое сообщение.', mtWarning, [mbYes, mbNo]) ;
ACheckBox := TCheckBox.Create(AMsgDialog) ;
with AMsgDialog do
try
Caption := 'Заголовок' ;
Height := 150;
with ACheckBox do
begin
Parent := AMsgDialog;
Caption := 'Не показывать больше...';
Top := 90;
Left := 8;
Width:= 200;
end;
if (ShowModal = ID_YES) then
begin
if ACheckBox.Checked then
AMsgDialog.Enabled:=false;
else
begin
if OpenDialog1.Execute
then
filename:=OpenDialog1.FileName;
WordApplication1.Connect;
WordApplication1.Documents.Open(FileName,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
DataModule2.ADOTable1.First;
a:=0;
j:=2;
while a<DataModule2.ADOTable1.RecordCount do
begin
WordDocument1.Tables.Item(1).Cell(j,1).Range.Text:=DataModule2.ADOTable1DSDesigner2.Value;
WordDocument1.Tables.Item(1).Cell(j,2).Range.Text:=DataModule2.ADOTable1DSDesigner3.Value;
WordDocument1.Tables.Item(1).Cell(j,3).Range.Text:=DataModule2.ADOTable1DSDesigner4.Value;
WordDocument1.Tables.Item(1).Cell(j,4).Range.Text:=DataModule2.ADOTable1_.AsString;
WordDocument1.Tables.Item(1).Cell(j,5).Range.Text:=DataModule2.ADOTable1_2.Value;
WordDocument1.Tables.Item(1).Cell(j,6).Range.Text:=DataModule2.ADOTable1_3.Value;
WordDocument1.Tables.Item(1).Rows.Add(EmptyParam);
a:=a+1;
j:=j+1;
DataModule2.ADOTable1.Next;
end;
filename:=OpenDialog1.FileName+DateToStr(Date)+'.doc';
WordDocument1.SaveAs(filename);
WordDocument1.Close;
WordApplication1.Disconnect;
ShowMessage('Операция заершена успешно!');
end;Цитата:
что прописать если будет не отмечено, как сделать чтобы печать потом началась, после выбора файла? Последний раз редактировалось true, 28.11.2010 в 09:58. |
|
#4
|
|||
|
|||
|
еще вопрос как запустить консольное приложение нажав на кнопку button?
у меня Project1 - простое приложение Project2 - консолльное, может их както связать можно? |
|
#5
|
||||
|
||||
|
Если консольное приложение уже создано, то запускай его так:
Код:
Или
WinExec('имя консольного приложениея', 0);
Или
ShellExecute(Handle, 'open', 'имя приложения', ...); |
|
#6
|
|||
|
|||
|
Пасибос дружище
просто я кодкогда от консольного вставлял он работал но при нажа тии проект вис ужасно) |
|
#7
|
|||
|
|||
|
filename:=OpenDialog1.FileName+DateToStr(Date)+'.doc';
Можно ли както стереть расширение у opendialog1.filename? |