Delphi에서 텍스트 파일을 자원 파일에 불러오기

애니메이션 파일(avi), 비트맵 파일(bitmap), 커서 파일(cursor), 아이콘 파일(icon), 음성 파일(wave)과 문자열 등을res 자원 파일로 불러오는 방법은 이미 많다.그러나 어떻게 텍스트 파일도 자원 파일에 불러오는지 자료가 많지 않다.사실 우리는 텍스트 파일을 사용자 정의 자원 형식으로 자원 파일에 추가할 수 있다.다음과 같이 합니다.
(1) 자원 파일의 정의와 생성: 자원 정의 파일 myres를 편집합니다.rc, 내용은 다음과 같습니다. html1 mytext test1.htm     html2 mytext test2.htm 그리고 myres.rc가 프로젝트에 가입하면 prj 파일의 첫머리에 문장 {$R'myrec.res''myrec.rc'}를 자동으로 추가합니다.나중에 프로그램을 컴파일할 때 자원 파일 myrec를 자동으로 생성합니다.res,exe 파일에 자원을 추가합니다.그 중에서 mytext는 우리가 정의한 자원 유형이고 html1과 html2는 대응하는 텍스트 파일test1이다.htm 및 테스트 2.htm의 자원 표지 이름은 나중에 자원을 호출할 때 이 차이로 서로 다른 자원을 구별한다.exe 파일이 생성되면 myrec.rc、myrec.res와test1.htm 및 테스트 2.htm는 쓸모가 없습니다.exe 파일과 함께 발표할 필요가 없습니다.
(2) 자원 호출: 코드로 설명(Delphi7.0에서 디버깅 통과), 메모리의 흐름에 대한 작업,TresourceStream.Create()는 흐름을 만드는 함수입니다.자원을 텍스트 파일로 직접 복원할 수 있습니다.또한 흐름을 모두 buf 수조에 읽고, 흐르는 read 방법을 사용한 다음, buf를 문자열 변수에 값을 부여할 수 있다.    

  
  
  
  
  1. procedure TForm1.Button1Click(Sender: TObject);  
  2.     var 
  3.       Res: TResourceStream;  
  4.       buf: array[0..10000] of char;  
  5.       sHTML: string;  
  6.     begin  
  7.       Res := TResourceStream.Create(HInstance, ‘html1′, PChar(’mytext’));  
  8.  
  9.       // ,  
  10.       Res.SaveToFile(’text1.htm’);  
  11.  
  12.       // ,  
  13.       res.Read(buf, res.Size);  
  14.       sHTML := buf;  //  pchar   string   
  15.       ShowMessage(sHTML);  //  ShowMessage  ,ShowMessage(buf)   
  16.       Res.Free;  
  17.     end;  
  18.  

텍스트 파일을 생성하는 자원과 유사하게 mp3, rm, mwv, flash, jpg,gif 등 멀티미디어 자원을 자원 파일에 넣고 exe 파일로 컴파일해서 사용할 수 있습니다.
    ——————————————————-

좋은 웹페이지 즐겨찾기