![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с файлами [D6]
Incognito © (2002-11-02 02:33:00)Может немного не по теме, но всё же решил вопрос засунуть в этотраздел.
Прога ведёт лог.
Выглядит примерно так:
Date: xx.xx.xx
xxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxx
xxxxxxx
Date: xx.xx.xx
xxxx
xxxxxxxx
xxxx
ну итд.
При запуске прога должна найти последнюю строку Date: xx.xx.xx
и считать оттуда значение даты. как это реализовать?
Заранее багодарен.
Incognito (2002-11-03 00:09:00) [1]Я ж сказал "не по теме" :-)
Andriano
Спасиб-выручил.
Только я немного всё переделал, но всё равно спасибо.
О сущёствовании класса TStringList я не знал. Полезная штука оказалась.
А вот как я сделал, если кому интересно:
content:=TStringList.Create;
content.LoadFromFile(LogPath);
i:=content.Count-1;
while i>=0 do begin
if Copy(content[i],1,4)="Date" then
begin
LastDate:=Copy(content[i],7,10);
Break;
end;
i:=i-1;
end;
Andriano (2002-11-02 10:44:00) [2]Обшибся :( вместо "strings.Count-1 to 0" надо "strings.Count-1 downto0" :)
Andriano (2002-11-02 09:08:00) [3]Можно так
****************
uses ......,StrUtils
var
strings:TStringList;
s:string;
i:integer;
begin
strings:=TStringList.Create;
strings.LoadFromFile("Имя файла");
s:="";
for i:=strings.Count-1 to 0 do begin
s:=strings[i]+ifThen(s="","",", ")+s;
if pos("Date:",s)>0 then break;
end;
delete(s,pos("Date:",s),5);
strings.Free;
end;
***************
Результат - s
Разделитель строк в s - "," , но можно любой, в т.ч. и #13#10