Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[8163] [자답????] 프린터 파일을 메모장에서 OPEN 한 것과 같게 할려면...
이상탁 [] 727 읽음    2002-05-29 15:07
글쎄요.. 자답이 되지 않는 것 같지만 일단 바이너리로 읽어서 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 으로 해도 안됨.)
:
: 아크로 에디터도 메모장과는 다르고, 울트라 에디터에서만 비슷하게 열리더군요....
:
: 혹, 아시는 분은 답변부탁드립니다. 
:

+ -

관련 글 리스트
8162 [질문] 프린터 파일을 메모장에서 OPEN 한 것과 같게 할려면... 이상탁 574 2002/05/27
8163     [자답????] 프린터 파일을 메모장에서 OPEN 한 것과 같게 할려면... 이상탁 727 2002/05/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.