База данных «приемная комиссия»

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

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;