문제
많은 항목이있는 텍스트 파일을 가져 오는 프로그램이 있습니다.
###
Starttime: 06.03.2008
Data: SOME RECORDS HERE
###
Starttime: 21.03.2008
Data SOME RECORDS HERE
... 등등
"데이터 다음에 종료 시간을 갖고 싶지 않아요 :"다음 시작 시간 -1이므로
###
Starttime: 06.03.2008
Data: SOME RECORDS HERE
EndTime: 20.03.2008
###
Starttime: 21.03.2008
Data SOME RECORDS HERE
EndTime: (next starttime -1)
... 등등
해결책
가장 쉬운 방법은 파일을 TStringList
그리고 거기서 일하십시오.
의사 코드 :
var
S: TStringList;
i: Integer;
LastDate: TDateTime;
CurDate: TDateTime;
begin
S := TStringList.Create;
S.LoadFromFile('c:\...');
i := 0;
while i < S.Count do
begin
if S[i] = "###" then
begin
CurDate := StrToDate(S[i+1])
S.Insert(i-3, DateToStr(CurDate));
LastDate := CurDate;
i := i+2;
end else
begin
i := i+1;
end;
end;
S.SaveToFile('c:\...');
end;
이 코드는 그다지 강력하지 않으며 첫 번째 시작 날짜와 같이 특별한 경우를 확인하지 않지만 시작하기에 충분해야합니다.
다른 팁
글쎄, 당신은 파일을 한 줄씩 복사하고 적절한 순간에 새 줄을 삽입해야합니다. 텍스트 파일에서 물건을 이동할 수 없습니다.
제휴하지 않습니다 StackOverflow