Функция записи HTML Лог-файла

Страницы: 1
RSS
Функция записи HTML Лог-файла, Функции для записи в формате html таблицы с выделение строк цветом вместо простого текста
 
Всем привет :D , было интересно, потому и написал :idea:

Код
'Пишет в файл таблицу
'
'_outputFile - ссылка на выходной файл (myTableReport.html)
'_cols - список колонок (Time, Date ...) разделенных запятой
'
FUNC createTable(_outputFile,_cols)
   CLEAR_FILE(_outputFile)
   WRITELN(_outputFile,"<HT ML><BODY><Center><Table border='0' align='center' cellspacing='0'><tr>")
   FOR _colTitle IN _cols
      WRITELN(_outputFile,"<th>"&_colTitle&"</th>")
   END FOR
   WRITELN(_outputFile,"</tr></Table></Center></BODY></HTML>")
END FUNC

'Пишет (добавляет) строку в HTML таблицу
'
'_outputFile - ссылка на выходной файл (myTableReport.html)
'_row - массив с коллекцией данных строки таблицы, должен соответствовать колонкам, разделителем служит запятая
'_color - цвет строки в html формате (#00ff00 или green)
'
FUNC appendRow(_outputFile,_row,_color)
   IF _outputFile <> 0
      RETURN
   END IF
   
   'Сначала считываем количество строк
   _htmlFileLen = GET_FILE_LEN(_outputFile)
   
   'Создаем временную коллекцию для хранения строк файла
   _fileLines = CREATE_COLLECTION()
   
   'Считываем все строки из файла
   FOR _lineIndex FROM 0 TO _htmlFileLen - 1
      _fileLines = INSERT_COLLECTION_ITEM(_fileLines,0,READ_LINE(_outputFile,_lineIndex,0))
   END FOR
   
   'Офрмляем данные строки в html-строку
   _rowHtml = "<tr>"
   FOR _rowValue IN _row
      _rowHtml = _rowHtml&"<td bgcolor='"&_color&"' >"&_rowValue&"</td>"
   END FOR
   _rowHtml = _rowHtml&"</tr>"
   
   'Вставляем новую строку в коллекцию под индексом -2 (последняя строка файла содержит закрывающие теги html), а также нумерация порядка идет не от 1, а от 0
   _fileLines = INSERT_COLLECTION_ITEM(_fileLines,_htmlFileLen - 2,_rowHtml)
   
   'Чистим файл от предыдущих данных
   CLEAR_FILE(_outputFile)
   
   'Пишем все строки обратно в файл
   FOR _lineIndex FROM 0 TO _htmlFileLen
      WRITELN(_outputFile,""&GET_COLLECTION_ITEM(_fileLines,_lineIndex))
   END FOR
   
END FUNC


Если есть ошибки, дайте знать :|
 
Преимущества HTML лога:
1) Наглядность;
2) Аккуратность;
3) Нажатием кнопки "Обновить" в окне браузера можно обновить данные из лога;
4) Файл лога открывается браузером только в режиме "Чтения", что положительно сказывается на алгоритме "портфеля" в момент чтения-записи лог-файла
Недостатки:
1) Количество строк ограничено;
2) Требует больше ресурсов (процессора и памяти) для записи/перезаписи в отличие от простого текстового лог-файла
 
пишем в простой текстовый файл:
1) наглядность - форматировать можно в любом случае как угодно
2) аккуратность, автоматически следует из первого пункта
3) не нужно обновлять. нормальные текст-вьюеры (FARа же) при дописании в конец файла скроллят его автоматически
4) в режиме "просмотр файла" открывается в режиме "только чтение", что никак не мешает дозаписи в конец файла.

недостатки:
1) неограничено кол-во строк.
2) нет нагрузки на процессор.
Ч.Я.Д.Н.Т?
Страницы: 1
Читают тему
Наверх