Создание отчетов к БД в Delphi. Формирование отчетов "вручную". Содержимое запроса. Настройка TurboDelphiExplorer для работы с отчетами с помощью компонентов FastReport, страница 2

     begin

       ball:=' ';

       chislo:=' ';

     end

      else

      begin

       ball:=TempSQL.FieldByName('ozenka').value;

       chislo:=DateToStr(TempSQL.FieldByName('Data_sdachi').value);

      end;

      s:='<tr><td>'+IntTostr(i)+'</td><td> '+ TempSQL.FieldByName('Surname').value;

      s:=s+' '+copy((TempSQL.FieldByName('FirstName').value),1,1)+'.';

      s:=s+' '+copy((TempSQL.FieldByName('otch').value),1,1)+'.</td>';

      s:=s+'<td>'+ TempSQL.FieldByName('st_bilet').value+'</td>';

      s:=s+'<td>'+ ball+'</td>';

      s:=s+'<td> &nbsp; </td>'; //это графа для подписи

s:=s+'<td>'+ chislo+'</td>';

      s:=s+'</tr>';

      Write(f, s);

      TempSQL.Next;

    end;

    write(f,'</table></body></html>');

   end;

   closeFile(f);

   ShellExecute(h,'open', pchar('winword.exe'), pchar( 'C:\temp\vedom1.html'),nil, SW_ShowNormal);

End;

Последняя строка (с ShellExecute) имеет следующую особенность: файл, имеющий структуру html- документа сохраняется с расширением *.doc для того, чтобы по завершении работы программы двойным щелчком по файлу можно было открыть его для редактирования, например, в  MS Word. Сохранив файл с расширением *.html, двойным щелчком мы сможем только просмотреть   наш отчёт в броузере без возможности редактирования (если настройками ОС Windows не определено открывать локальные html-файлы с помощью Word).

При отладке данного кода чаще всего возникают ошибки времени выполнения «i/o error 3» и « i/o error 32» первая означает, что файл в который вы собираетесь записывать не найден. Вторая что он уже открыт (скорее всего с момента предыдущей отладки), и его изменение невозможно.

Кроме того, в приведенном программном коде при генерации новой ведомости старый файл безвозвратно стирается! Таким образом, пользователь при просмотре ведомости в MS Word должен самостоятельно позаботиться о сохранении этого файла под другим именем.  Как вариант можно предложить самостоятельно подумать о динамическом формировании имени файла в строке {*}.

Правила формирования html-файлов описаны в Приложении 4.

5.2 Настройка TurboDelphiExplorer для работы с отчетами с помощью компонентов FastReport

Сначала немного итории. Turbo Delphi был официально представлен компанией Borland 5 сентября 2006 года в двух версиях Professional и Explorer. Обе версии разрешены для написания  программного обеспечения, как для собственных нужд, так и для продажи.

Версия  Professional стоит 399$, Explorer бесплатно загружается через Интернет, но имеет ряд ограничений: отсутствуют (точнее скрыты) компоненты страниц Interbase, Indy и, главное, отсутствует возможность добавления собственных компонентов через интегральную среду разработки (IDE).  Для разработчика самое главное во фразе «нельзя через IDE». Потому, что на самом деле, Компоненты добавить можно. При этом нарушений лицензионного соглашения не произойдет. Главное использовать TurboDelphiExplorer сборки (Build) до 15 сентября 2006 года, когда Borland выпустила «заплатку» (patch),  закрывающий данную лазейку.  В самой первой официальной и предофициальеных сборках (сборках для бета–тестирования) добавлять компоненты можно в следующем порядке:

копируем файлы с исходными кодами запускаем TurboDelphiExplorer

отрываем файл …ProgramFiles\Borland\BDS4.0\lib\dclusr.dpk (путь может быть и иной)

открываем (если оно еще не открыто) окно Project Manager

в этом окне правой кнопкой мыши щелкаем по самому верхнему узлу(dclusr100.dpk или dclusr100.dpk) выбираем пункт меню «Add» добавить в появившемся далоговом окне выбираем файлы с компонентами и нажимаем «ОК»

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

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