База данных «приемная комиссия»
Реферат - Компьютеры, программирование
Другие рефераты по предмету Компьютеры, программирование
EnableControls;
end;Приложение З
//Формирование Прайс-листа
procedure TListSpecialsForm.CreateReport;
var FileName, S1, S2, S3: OLEVariant;
i, n: LongInt;
NotError: boolean;//Проверка на ошибки перед созданием отчета
Whatr: OLEVariant;
Which: OLEVariant;
Count: OLEVariant;
NameBookmakers: OLEVariant;
k: real;
begin
DataModule1.SpecialsTable.DisableControls;
//Путь до файла с бланком
FileName:=Path+\Data\PriceList.dot;
if FileExists(FileName)=false then Application.MessageBox(Файл "Data\PriceList.dot" не найден. Возможно файл был переименован либо удален.#13Обратитесь к администратору для устранения ошибки.,Критическая ошибка,mb_Ok+mb_IconError) else
begin
try
//Настройка соединения с Word
MainForm.WA.Connect;
//Настройка параметров документа
MainForm.WA.WindowState:=wdWindowStateMaximize;
MainForm.WA.Documents.OpenOld(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
MainForm.WA.ActiveWindow.ActivePane.View.Zoom.Percentage:=100;
Whatr:=wdGoToBookmark;
Which:=unAssigned;
Count:=unAssigned;
NameBookmakers:=DATE;
try
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(DateToStr(Now));
except
end;
NameBookmakers:=START;
try
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
except
end;
n:=DataModule1.SpecialsTable.RecordCount;
MainForm.ProgressBar1.Visible:=true;
MainForm.ProgressBar1.Max:=n;
MainForm.ProgressBar1.Position:=0;
k:=0;
MainForm.Label1.Caption:=FloatToStr(k)+% ;
DataModule1.SpecialsTable.First;
S2:=wdCell;
S3:=1;
while not DataModule1.SpecialsTable.Eof do
for i:=0 to n-1 do
begin
//№ п/п
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[0].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Наименование
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[2].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Срок обучения
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[7].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Цена за месяц
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[3].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Переход к следующей записи
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+1;
k:=k+(100/n);
MainForm.Label1.Caption:=FloatToStrF(k,ffFixed,0,0)+% ;
DataModule1.SpecialsTable.Next;
//Удаление последней строки
//если таблица заканчивается
if DataModule1.SpecialsTable.Eof then MainForm.WA.Selection.Rows.Delete;
end;
MainForm.Label1.Caption:=100% ;
NameBookmakers:=START;
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
//Сохранение документа во временной папки
S1:=Path+\Doc\Прайс-лист на +DateToStr(Now)+.doc;
try
MainForm.WA.ActiveDocument.SaveAs(S1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
except
Application.MessageBox(Не удалось сохранить документ во временную папку! Все документы MS Word будут закрыты. Попытаться снова создать документ?,Критическая ошибка,mb_Ok+mb_IconError);
MainForm.WA.Disconnect;
MainForm.WA.Quit(EmptyParam,EmptyParam,EmptyParam);
end;
//Видимость документа
MainForm.WA.Visible:=true;
//Активизация соединения
MainForm.WA.Activate;
//Разрыв соединения с MS Word(Quit, Preview, Print)
MainForm.WA.Disconnect;
except
Application.MessageBox(Связь с MS Word завершилась неудачей! Закройте все документы MS Word и попробуйте снова.,Критическая ошибка,mb_ok+mb_IconError);
end;
end;
MainForm.ProgressBar1.Visible:=false;
DataModule1.SpecialsTable.EnableControls;
end;