파일형태는 100byte가 한줄로 되어있는데
간혹 100byte가 조금 안되는 데이타가 한줄로 되어있는 경우가 있습니다.
-----------------------------------------------
buffer : Array[0..100] of Char;
iFileHandle := FileOpen(Filedir, fmOpenRead);
FileRead(iFileHandle, Buffer, 100);
------------------------------------------------
이런식으로 처리를 하려고 하니
buffer의 끝값 또는 첫값에 [#13,#10] 값이 들어가있어 데이터가 꼬입니다.
글구
여기서 buffer 에 들어가는 type을 String으로 하닌깐 값이 들어오질 않고
배열이나 포인터 선언을 하면 값이 들어오는데...
그 이유는 뭔가요???
> 파일형태는 100byte가 한줄로 되어있는데
> 간혹 100byte가 조금 안되는 데이타가 한줄로 되어있는 경우가 있습니다.
> -----------------------------------------------
> buffer : Array[0..100] of Char;
> iFileHandle := FileOpen(Filedir, fmOpenRead);
> FileRead(iFileHandle, Buffer, 100);
> ------------------------------------------------
> 이런식으로 처리를 하려고 하니
> buffer의 끝값 또는 첫값에 [#13,#10] 값이 들어가있어 데이터가 꼬입니다.
>
> 글구
>
> 여기서 buffer 에 들어가는 type을 String으로 하닌깐 값이 들어오질 않고
> 배열이나 포인터 선언을 하면 값이 들어오는데...
> 그 이유는 뭔가요???
>
>
>
>
파일에서 한라인씩 읽어오기만 하려는 목적이라면
아주 간단한 방법이 있습니다.
var
F: TStringList;
i: Integer;
S: String;
begin
F := TStringList.Create;
F.LoadFromFile('파일이름');
for i:= 0 to F.Count - 1 do
begin
S := F.Strings[i];
//DoSomeThing..
end;
F.Free;
end;
이렇게 처리하면 한 라인씩 읽어집니다.
바로 쓴 글이라 오타로 인한 버그가 있을지 모르겠네요
방법은 아시겠죠?
그럼~~ 항상 즐거운 프로그래밍 하시길~~~