Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
ВнизРабота с файлами Найти похожие ветки
← →
Incognito (2002-11-02 02:33) [0]Может немного не по теме, но всё же решил вопрос засунуть в этотраздел.
Прога ведёт лог.
Выглядит примерно так:
Date: xx.xx.xx
xxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxx
xxxxxxx
Date: xx.xx.xx
xxxx
xxxxxxxx
xxxx
ну итд.
При запуске прога должна найти последнюю строку Date: xx.xx.xx
и считать оттуда значение даты. как это реализовать?
Заранее багодарен.
← →
Andriano (2002-11-02 09:08) [1]Можно так
****************
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
← →
Andriano (2002-11-02 10:44) [2]Обшибся :( вместо "strings.Count-1 to 0" надо "strings.Count-1 downto 0" :)
← →
Incognito (2002-11-03 00:09) [3]Я ж сказал "не по теме" :-)
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;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c