Использование преимуществ клиент-серверной архитектуры при проектировании приложений БД в Delphi, страница 7

там же в контекстном меню выбираем сначала «Compile», затем «Instll» для компиляции и установки нашего пользоватенльского пакета компонетнтов. обязательно дожидаемся сообщения об успешном завершении и переписываем путь к вновь созданнымм файлам  dclusr100.dpk и dclusr100.dcu. (файлы представляют собой пакеты с установленными пользовательскими компонентами.)

перезапускаем TurboDelphiExplorer - компоненты должны появиться в палитре.

В том случае, если компоненты не появились, попробуйте выполнить следующие действия:

открыть меню «Component», выбрать пункт «Install Packages»

в появившемся окне ставим флажок напротив строки «Borland User Componets» и нажмите «Ок», если такая строчка не отображается, нажмите кнопку «Add» и укажите путь к созданному вами, пользовательскому пакету dclusr100.dpk и dclusr100.dcu.

Замечание1: В операционных системах Windows 2000/XP/Vista данные операции (по компиляции и установке пакета) либо нужно проводить для каждой учетной записи индивидуально, либо после компиляции скопировать файлы в общедоступный каталог, после чего любому пользователю достаточно просто прописать путь, а не компилировать пакет заново.

Замечание2: При установке компонентов FastReport следует помнить, что  если у Вас Explorer –версия, то удастся поставить НЕ ВСЕ компоненты.  В частности невозможно будет установить компоненты, специализированные для работы напрямую с СУБД Interbase, т.к. они используют библиотеку IBComponents, отключенню в версии Explorer. Файлы этих компонентов не стоит вообще добавлять при компиляции пакета (иначе компилятор выдаст около 80 ошибок).

Еще раз подчеркнем,  что в описанном подходе отсутствуют нарушения лицензионных соглашений  Заплатка, выпущенная Borland не является обязательной для установки.

Тем не менее мы рассмотрим работу с компонентами закладки QReport (для более ранних версий Delphi). Общие принципы работы сохраняются и для других компонентов формирования отчетов.

Строго говоря, в процессе написания программы в Delphi разработчик  создает не сам отчет, а макет отчета, или шаблон отчета. Как правило, для их создания должна выделяться отдельная форма, в крайнем случае, отдельная закладка компонента TTabControl.

Напоминаем, что для создания новой формы следует воспользоваться меню File->New->Form.

Создадим новую  форму RepForm и поместим на нее компонент TQuickRep. Он получит имя QuickRep1.

Для просмотра отчета можно либо запустить программу (о чем ниже), либо щелкнуть по нему правой кнопкой мыши и выбрать пункт Preveiw.

Любой отчет (компонент QuickRep) должен быть связан со своим источником данных  (свойство DataSet).  Воспользуемся имеющимся у нас компонентом DataModule1.TempSQL. (в форме с отчетом,  зададим свойству Dataset компонента QuickRep1 значение DataModule1.TempSQL).

Создаем на главной форме кнопку для просмотра отчета и пишем для нее следующий обработчик нажатия.

procedure TSDIAppForm.Button1Click(Sender: TObject);

varF: textFile;

h: hwnd;  //переменная описывающая динамически открываемое окно

s, ball,chislo: string;

i:integer;

begin

assignFile(f,'C:\temp\vedom1.html'); // {*} создадим временный html-файл

rewrite(f); //Откроем его на запись

With DataModule1 do

   begin

    TempSQL.Close;

    TempSQL.SQL.Clear;

    TempSQL.SQL.Add('Select * from Session_Result ');

    TempSQL.SQL.Add(' where (Dis_shifr =' + chr($27)+ Disc_table.FieldByName ('Dis_Shifr').value +chr($27)+')');

    TempSQL.SQL.Add(' and (forma_otchetnosti ='+chr($27)+SDIAppForm.Otchetnost.Text +chr($27)+')');

    TempSQL.SQL.Add(' and (st_bilet in ');

   TempSQL.SQL.Add('(Select Student.st_bilet from student where gruppa='+chr($27) +SDIAppForm.GrName.Text +chr($27)+'));');

//    SDIAppForm.Memo1.lines.Assign(TempSQL.SQL);