Текущий архив: 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]вот так, чтоб браузер не резал - &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