이미 제작되있는 커서가 있습니다.
이것을 res파일에 넣어 exe파일과 함께 컴파일해서 쓰고 싶은데요.
Image Editor에서 커서 열고 새 커서 만들고 복사, 붙여넣기 하니까 검은색 흰색밖에 안나오네요.
microangelo같은 프로그램에서는 팔레트를 읽어오니까 되던데 Image Editor에는 팔레트를 읽는 기능이 없나요?
아니면 복사, 붙여넣기를 하지 않고 바로 res파일에 커서를 읽어올수 있는 방법이 있나요?
※ 에니메이션 커서는 ani확장자를 사용하는데 이것은 열기로 열 수 없더군요. 그렇다면 에니메이션커서는 쓸 수 없는건가요?
http://www.delphi.co.kr/zboard/view.php?id=qanda&page=1&sn1=&divpage=7&sn=off&ss=on&sc=on&keyword=res파일&select_arrange=headnum&desc=asc&no=32646
윤수아님.
암튼 하는 방법은...
먼저 rc 화일을 만들어야 하고요...rc화일은 내가 어떤 리소스를 쓰겠다고 정의해주는 Text 화일이고요 이걸 brcc32라는 명령어를 써서 컴파일 하면 res 화일이 만들어지고 프로그램에서는 해당 res를 포함한 후 다시 한번 재 컴파일이 해주면 되는거거든요....
1.rc 화일 만드는 법.
울트라에디터든 메모장이던간에...열고서
AAA AVI "***.avi"
이렇게 쓰고 그 화일을 ****.rc로 저장합니다.
(이름은 임의로 주세요.. 전 그냥 avi.rc로 했다 그러고 설명할께요)
여기서 AAA는 임의로 정한 그 리소스의 이름이 되는 거구요...(프로그램상에서는 이 이름으로 그 리소스에 접근하게 됩니다)
***.avi는 님이 갖고 계신 avi화일이름을 넣어주시면 되요
2.brcc32 명령어를 이용해서 (이게 뭔지 모르시면 윈도우 탐색기에서 검색을 해보시면 있으실거에요) rc화일을 컴파일 합니다.
컴파일할때 brcc32와 rc화일 그리고 avi 화일이 한 디렉토리에 있으면 편합니다.. (rc화일과 avi화일은 무조건 한 디렉토리에 있도록 해주셔야 하고요 brcc32 쓸때 디렉토리까지 써주기 구찮으니까 그냥 brcc32도 같은 디렉토리로 복사해오세요) 그리고 도스창을 열어서 해당 디렉토리로 커서를 옮기시고요
해당 디렉토리>brcc32 avi.rc avi.res
일케 타이핑하시고 엔터 누르시면...별 이상이 없다면 그 디렉토리에
avi.res 화일이 생겨요...
별 이상이 있을경우는 디렉토리에 모든게 있는지 확인하시고 아까
AAA AVI "***.avi" 에서 "***.avi" 이름을 내가 갖고 있는 avi화일 이름으로 정확히 줬는지 확인해보세요.
3.res를 포함시켜 컴파일 하기..
이제 님의 프로젝트가 있는 디렉토리로 avi.res 화일을 가져온 다음에
프로젝트를 열고 .. 그 리소스를 쓸 unit에 혹은 프로젝트 소스에 그 리소스를 쓰겠다고 명시해요..방법은..form이라면 소스중에 {$R *.dfm} 일케 되어 있는 밑에 줄에 {$R avi.res} 라고 넣어주시고..프로젝트 소스라면 {$R *.res} 일케 되어 있는 밑에 줄에 {$R avi.res} 라고 넣어주세요.. 여기저기 unit에서 쓰는 avi 화일이였다면...프로젝트 소스에 넣어주시는게 좋겠죠...
그리고 컴파일을 하세요. (Ctrl +F9)로 런컴파일 해주시면 비교가 확실한데
{$R avi.res}이 한줄을 넣고 런컴파일한 후에 실행화일 크기와
그 한줄을 뺀 후에 런컴파일한 후에 실행화일 크기를 비교해보세요..
크기가 확 달라지죠... 실행화일안에 리소스가 포함되게 되므로 실행화일 크기가 커집니다...
4.이제 확인~
만약에 그 avi를 돌릴 컴포넌트 이름이 animate1이라면...전엔 filename에 파일을 지정해줬는데 이제는 그걸 지우고 코딩으로
animate1.ResName = 'AAA';라고 해줘요 (프로그램 열리자마자 그 avi가 올라와야하는 거면 폼show이벤트나 그런데서.. 뭐 버튼 눌렀을때 avi가 로딩된다면 버튼 클릭 이벤트에..등등)
그리고 프로그램을 실행해보세요.. 위에 과정이 잘되었다면 animate1에 해당 avi이 올라와 있을거에요..
이제 그 실행화일을 단독으로 아무 디렉토리에나 복사해서 실행해보세요.. 잘 돌아갈겁니다..avi 화일이나 res 화일을 가지고 다닐 필요없이 그 실행화일 단독으로 배포해도 그 avi는 프로그램상에 잘 로딩될 거에요...
--------------------------------------------------------------------
http://www.delphi.co.kr/zboard/view.php?id=qanda&page=1&sn1=&divpage=4&sn=off&ss=on&sc=on&keyword=res파일&select_arrange=headnum&desc=asc&no=20840
최용일님
안녕하세요. 최용일입니다.
먼저 리소스 스크립트파일을 만드세요. 메모장에서...
아래와 같은 식으로 넣어주시면 됩니다.
TxtData RCDATA "C:MyPathTxtFile.txt"
ExeData RCDATA "C:MyPathExeFile.exe"
적당한 파일이름(Demo.rc)으로 저장하시고 델파이의 brcc32로 컴파일해주세요...
brcc32 c:Demo.rc
이러면 Demo.res파일이 만들어집니다.
델파이 유닛에 {$R c:demo.res}라고 추가하시고
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HInstance, 'ExeData, RT_RCDATA);
ResStream.SaveToFile('c:ExeData.exe');
ResStream.Free;
end;
머 둘다 같은 내용이네요 ^^