Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.15;
Скачать: CL | DM;

Вниз

Печать отчета в html из бд access с выводом полей типа MEMO, OLE   Найти похожие ветки 

 
seco2nd   (2011-02-09 20:59) [0]

Всем привет. Есть БД 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-картинки?


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

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


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

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


 
sniknik ©   (2011-02-09 21:20) [3]

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

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

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


 
sniknik ©   (2011-02-09 21:24) [4]

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


 
sniknik ©   (2011-02-09 21:25) [5]

& nbsp;


 
sniknik ©   (2011-02-09 21:27) [6]

вот так, чтоб браузер не резал - &amp;nbsp;


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

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


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


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

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


 
sniknik ©   (2011-02-09 21:46) [9]

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


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


> seco2nd   (09.02.11 21:40) [7]

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


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


> И. Павел

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


 
Leonid Troyanovsky ©   (2011-02-09 21:59) [12]


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

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

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

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

--
Regards, LVT.


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

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


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

"я google" -> "в google"


 
seco2nd   (2011-02-09 22:09) [15]


> И. Павел

Благодарю )


 
Anatoly Podgoretsky ©   (2011-02-10 08:58) [16]


> seco2nd   (09.02.11 21:55) [11]

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



Страницы: 1 вся ветка

Текущий архив: 2011.05.15;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.007 c
2-1297064419
Артём
2011-02-07 10:40
2011.05.15
Исключительная ситуация


2-1297171594
black-jack-666
2011-02-08 16:26
2011.05.15
HTML кодировка


15-1296077394
Юрий
2011-01-27 00:29
2011.05.15
С днем рождения ! 27 января 2011 четверг


2-1297255354
young_delphi_coder
2011-02-09 15:42
2011.05.15
проверить наличие разделителя в строке пути


2-1297090102
aka
2011-02-07 17:48
2011.05.15
WindowState