Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт в Html, Переделать код экспорта в Html 
:(
    Опции темы
tresda
Дата 7.4.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2005

Репутация: нет
Всего: нет



Здравствуйте Уважаемые Мастера!! У меня к Вам большая просьба, если Вас не затруднит, можно ли ниже приведенный код экспорта в Html переделать для работы с AdoQuery.

Код

procedure SGridToHtml(SG: TStringgrid; Dest: TMemo; BorderSize: Integer);
 var
    i, p: integer;
   SStyle1, SStyle2, Text: string;
 begin
   Dest.Clear;
   Dest.Lines.Add('<html>');
   Dest.Lines.Add('<body>');
   Dest.Lines.Add('  <table border="' + IntToStr(BorderSize) + '" width="' +
     IntToStr(SG.Width) + '" height="' + IntToStr(SG.Width) + '">');

   for i := 0 to SG.RowCount - 1 do
   begin
     Dest.Lines.Add('  <tr>');
     for p := 0 to SG.ColCount - 1 do
     begin
       SStyle1 := '';
       SStyle2 := '';
       if fsbold in SG.Font.Style then
       begin
         SStyle1 := SStyle1 + '<b>';
         SStyle2 := SStyle2 + '</b>';
       end;
       if fsitalic in SG.Font.Style then
       begin
         SStyle1 := SStyle1 + '<i>';
         SStyle2 := SStyle2 + '</i>';
       end;
       if fsunderline in SG.Font.Style then
       begin
         SStyle1 := SStyle1 + '<u>';
         SStyle2 := SStyle2 + '</u>';
       end;
       Text := sg.Cells[p, i];
       if Text = '' then Text := ' ';
       Dest.Lines.Add('    <td width="' + IntToStr(sg.ColWidths[p]) +
         '" height="' + IntToStr(sg.RowHeights[p]) +
         '"><font color="#' + IntToHex(sg.Font.Color, 6) +
         '" face="' + SG.Font.Name + '">' + SStyle1 +
         Text + SStyle2 + '</font></td>');
     end;
     Dest.Lines.Add('  </tr>');
   end;
   Dest.Lines.Add('  </table>');
   Dest.Lines.Add('</body>');;
   Dest.Lines.Add('</html>');
 end;


procedure TFormCSVInport.Button6Click(Sender: TObject);
 begin
   SGridToHtml(StringGrid1, Memo1, 1);
   Memo1.Lines.SaveToFile('c:\test.html');
 end;


Огромное спасибо за помощь и прошу прощения за беспокойство
PM MAIL ICQ   Вверх
McDevil
Дата 9.4.2006, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Зачем в хтмл?
Лучше в Excel, там хоть отредактировать можно, а вообще полазейте ка в Faq - там что- то было...


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
tresda
Дата 10.4.2006, 06:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2005

Репутация: нет
Всего: нет



да в Excel я уже сделал, в html ООООЧЕНЬ надо
PM MAIL ICQ   Вверх
tresda
Дата 18.4.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2005

Репутация: нет
Всего: нет



 smile  
PM MAIL ICQ   Вверх
x77
Дата 18.4.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 1
Всего: 22



for i := 0 to SG.RowCount - 1 do 
=> 
ADOTable1.First;
while not ADOTable1.Eof do begin
  ...
  ADOTable1.Next;
end;

for p := 0 to SG.ColCount - 1 do
=>
for p := 0 to ADOTable1.FieldCount - 1 do

Text := sg.Cells[p, i];
=>
Text := ADOTable1.Fields [p].AsString; 


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
tresda
Дата 20.4.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2005

Репутация: нет
Всего: нет



У меня еще маленький вопрос какие аналоги  ColWidths и  RowHeights есть но только у компонента "DbGrid"

Добавлено @ 12:17 
а еще RowCount и ColCoun в DbGrid 
PM MAIL ICQ   Вверх
tresda
Дата 20.4.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2005

Репутация: нет
Всего: нет



Спасибо большое всё получилось 
PM MAIL ICQ   Вверх
x77
Дата 20.4.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 1
Всего: 22



у DbGrid'а нет таких свойств. но. ширину колонок можно регулировать свойством DisplayWidth самого поля, а также в редакторе колонок DbGrid'a.

ещё есть достаточно нетривиальный способ, называемый "взломом класса", который позволяет дорваться-таки до этих свойств у самого грида.

Код

type
  TFake = TCustomGrid;

...

  TFake (DbGrid1).ColWidths := 100;
  TFake (DbGrid1).RowHeight := 200;
...


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


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.