есть два варианта.
первый - тупо читать все страницы, и из каждой выдирать значение тэга великой и могучей функцией Copy. если тэг стоит первым (что, в общем, далеко не факт) - достаточно прочитать первую строку куда-то в "s". чтобы не заморачиваться с регистром, имеет смысл всю строку преобразовать в верхний
. далее находим начало и конец собственно заголовка:
StartN := Pos ('<TITLE>', s) + 7;
EndN := Pos ('</TITLE>', s);
теперь осталось прочитать сам заголовок:
Title := Copy (s, StartN, EndN - StartN - 1);
код не компилял, так что скорее всего надо будет подправить мелочи, чтобы не читались лишние символы.
способ второй. все страницы заранее хранятся в некоем файле. например, такого вида:
Title1=Path1
Title2=Path2
...
этот файл прога загружает при запуске в некий Titles: TStringList. теперь доступ ко всем статьям мы можем получить через методы и свойства самого стринглиста: Names (список всех тем), Values (список путей к файлам, где лежат эти темы) и т.д.
второй способ существенно проще, но он потребует дополнительных телодвижений (хоть и несущественных) для организации проги (т.е. - набивки самого файла). первый способ проще тем, что для него достаточно просто положить в определённое место статью. кроме того, для него можно ввести свои собственные теги (автор, ссылки, дата и пр.), которые браузер видеть не будет, но которые будет благополучно обрабатывать программа.