글쎄요.. 자답이 되지 않는 것 같지만 일단 바이너리로 읽어서 Char로 변환해서 Text 파일로 저장했지만, 속도에서 엄청 느리더군요..
아래 방법을 좀 더 빠르게 할 수 있는 방법 좀 가르쳐 주세요...
즉, 바이너리 파일을 텍스트로 저장을 빨리 하든지, 아니면 바이너리 파일안의 특정 문자열(?)(데이터)를 찾을 수 있는 방법도 좋습니다.
procedure TForm1.Button1Click(Sender: TObject);
var
fs: TFileStream;
F1: TextFile;
Buffer: Byte;
nFileSize: integer;
loop: integer;
sFileName, sFileNameDest : string;
begin
if OpenDialog1.Execute then
sFileName := OpenDialog1.FileName;
sFileNameDest := Copy(OpenDialog1.FileName,1,Length(OpenDialog1.FileName) - 4)+'.txt';
fs := TFileStream.Create(sFileName, fmOpenRead);
nFileSize := fs.Size;
ShowMessage(IntToStr(nFileSize));
if fileexists(sFileNameDest) then
deletefile(sFileNameDest);
AssignFile(F1, sFileNameDest);
Rewrite(F1);
for loop := 1 to nFileSize do begin
fs.Read(buffer, 1);
if Char(Buffer) <> #0 then
Write(F1, Char(Buffer));
end;
CloseFile(F1);
fs.Destroy;
end;
이상탁 님이 쓰신 글 :
: 안녕하세요...
:
: PCL 프린터 드라이버를 이용해서 파일로 인쇄하여 만든 프린터 파일을 메모장에서 연 것과 똑같은 결과를 메모콤포넌트에서 구현할려고 했는데 제대로 되질 않더군요...(loadfromfile, loadfromstream 으로 해도 안됨.)
:
: 아크로 에디터도 메모장과는 다르고, 울트라 에디터에서만 비슷하게 열리더군요....
:
: 혹, 아시는 분은 답변부탁드립니다.
:
|