Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать отчета в html из бд access с выводом полей типа MEMO, OLE [D7, XP]


seco2nd ©   (2011-02-09 20:59:00) 

Всем привет. Есть БД access, вывожу отчет в html-страницу так:
procedure TForm2.Btn1Click(Sender: TObject);
var HTMLStr:TStringList;
i:integer;
begin
HTMLStr:=TstringList.Create;
HTMLStr.Clear;
HTMLStr.Add('<HTML>');
HTMLStr.Add('<HEAD>');
HTMLStr.Add('<TITLE>'+'HTML-ка'+'</TITLE>');
HTMLStr.Add('</HEAD>');
HTMLStr.Add('<BODY>');
HTMLStr.Add('<H1><CENTER> Инфа из файла </CENTER></H1>');
HTMLStr.Add('<table border>');
HTMLStr.Add('<tr>');
for i:=0 to qry1.FieldCount-1 do
       HTMLStr.Add('<th>'+qry1.Fields[i].FieldName + '</th>');
HTMLStr.Add('</tr>');
qry1.First;
while not qry1.Eof do begin
       HTMLStr.Add('<tr>');
       for i:=0 to qry1.FieldCount-1 do
       if qry1.Fields[i].DisplayText='' then
       HTMLStr.Add('<td>'+'___'+'/<td>')
       else HTMLStr.Add('<td>'+qry1.Fields[i].DisplayText+'</td>');
HTMLStr.Add('</tr>');
qry1.Next;
end;
HTMLStr.Add('</TABLE>');
HTMLStr.Add('</BODY>');
HTMLStr.Add('</HTML>');
HTMLStr.SaveToFile('report.html');
HTMLStr.Free;
wb1.Navigate(ExtractFilePath(Application.ExeName)+'report.html');
end;

Получаю такое: http://dl.dropbox.com/u/15840231/1.JPG

Как выводить MEMO, OLE-картинки?


Anatoly Podgoretsky   (2011-02-10 08:58:00) [1]


> seco2nd   (09.02.11 21:55) [11]

Так ты еще и без кнопочек не умеешь смайлики ставить, кнопкодав :-)


seco2nd   (2011-02-09 22:09:00) [2]


> И. Павел

Благодарю )


И. Павел   (2011-02-09 22:05:00) [3]

По поводу Base64:
http://www.sql.ru/forum/actualthread.aspx?bid=20&tid=728704
Ну или просто набить я google "картинку в Base64 Delphi" и выбирать.


И. Павел   (2011-02-09 22:05:00) [4]

"я google" -> "в google"


Leonid Troyanovsky   (2011-02-09 21:59:00) [5]


> И. Павел ©   (09.02.11 21:46) [10]

> 4) А за помощь нужно благодарить

К дельфи оно ж ортогонально.

А если придираться, то зачем чистить девственный лист.
И зачем лист, когда был где-то TPageProducer.

--
Regards, LVT.


seco2nd   (2011-02-09 21:55:00) [6]


> И. Павел

Да я пошутил, а у вас смайлов к сожалению нет. Спасибо sniknik человеческое!  За помощь я всегда благодарю, просто тема еще в обсуждении.


sniknik   (2011-02-09 21:46:00) [7]

> можн ссылку?)
это не дельфи...


И. Павел   (2011-02-09 21:46:00) [8]


> seco2nd   (09.02.11 21:40) [7]

Хотите, чтобы только к Delphi придирались? Хорошо:
1)почему форма называется Form2 - это плохой стиль именования - название формы должно отражать ее назначение.
2) Почему работа с созданным TstringList не помещена в блок try/finally?
3) Код нужно выравнивать
4) А за помощь нужно благодарить


seco2nd   (2011-02-09 21:45:00) [9]


> преобразовать в бейсе64

можн ссылку?)


seco2nd   (2011-02-09 21:40:00) [10]

тут же форум delphi, зачем к html придираться))


sniknik   (2011-02-09 21:27:00) [11]

вот так, чтоб браузер не резал -  


sniknik   (2011-02-09 21:25:00) [12]

& nbsp;


sniknik   (2011-02-09 21:24:00) [13]

> if qry1.Fields[i].DisplayText='' then
>        HTMLStr.Add('<td>'+'___'+'/<td>')
  блин.


sniknik   (2011-02-09 21:20:00) [14]

формировать html проще/нагляднее с помощью PageProducer-а или вариации типа DataSetPageProducer.

вместо DisplayText используй AsString везде кроме картинок, с картинками сложнее, их придется вытащить, обрезать признак OLE (префикс постфикс), и либо сохранять в файлы, вставляя ссылки, либо, чтобы было все "одним куском" преобразовать в бейсе64 и вставлять тегом <img src="data:image/gif;base64,R0lGODl ........

> Изображения - это двоичные данные.
да что ты говоришь... капитан очевидность?


seco2nd   (2011-02-09 21:14:00) [15]

Изображения - это двоичные данные.


seco2nd   (2011-02-09 21:05:00) [16]

Кто боится картинок, тому вот: http://dl.dropbox.com/u/15840231/report.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо