Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Как-то раз пришлось решить задачу удаления из файла элементов HTML таких, как, например, ненужные ссылки, и в то эе время преобразования возврата каретки в HTML параграфы, знаков табуляции в пробелы и т.д. В результате соответственно должен был получиться новый HTML документ.
Следующие две процедуры показывают, как это можно сделать:
____________________________________________________
Листинг:
procedure
TMainForm.LoadFileIntoList(TextFileName:String; AWebPage:TStringList;
WithFilter:Boolean);
var
CurrentFile : TStringList; begin
CurrentFile := TStringList.Create;
CurrentFile.LoadFromFile(TextFileName);
if
WithFilter then
FilterHTML(CurrentFile,AWebPage) else
with
AWebPage do
AddStrings(CurrentFile);
CurrentFile.Free;
end
;
procedure
TMainForm.FilterHTML(FilterInput, AWebPage:TStringList); var
i,j : LongInt;
S : String;
begin
FilterMemo.Lines.Clear;
FilterMemo.Lines := FilterInput;
with
AWebPage do
begin
FilterMemo.SelectAll;
j := FilterMemo.SelLength;
if
j > 0 then
begin
i := 0;
repeat
if
FilterMemo.Lines.GetText[i] = Char(VK_RETURN) // ищем cr then
S := S+'
'
else
if
FilterMemo.Lines.GetText[i] = '<' then
repeat
inc(i);
until
FilterMemo.Lines.GetText[i] = '>' else
if FilterMemo.Lines.GetText[i] = Char(VK_TAB) // ищем tab then
S := S+' '
else
S := S+ FilterMemo.Lines.GetText[i]; // добавляем текст
inc(i);
until
i = j+1;
Add(S); // добавляем строку в WebPage
end
else
Add('No data entered into field.'); // no data in text file
end
;
end
;
___________________________________________________
Применение функции:
Всё, что нужно сделать - это вызвать :
LoadFileIntoList("filename.txt",Webpage, True);
Где filename - это имя файла, который вы хотите обработать.
"WebPage" - это TStringList
последний параметр в функции указывает, применять или нет HTML-фильтр.
PS: В этом примере объект TMemo (который вызывается из "FilterMemo") лежит на форме
и поэтому не видим.
___________________________________________________
Пример:
WebPage := TStringList.Create;
try
Screen.Cursor := crHourGlass;
AddHeader(WebPage);
with
WebPage do
begin
Add('Personal Details');
LoadFileIntoList("filename.txt",Webpage, True);
end;
AddFooter(WebPage);
finally
WebPage.SaveToFile(HTMLFileName);
WebPage.Free;
Screen.Cursor := crDefault;
end;