Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
화일을 열어 보려면???
EXE 파일을 열어 보려고 하거든요...
메모장은 아니고... 노트패드에서 EXE파일을 열면...
이상한 문자가... 화면 가득 나오잖아요...
저도 이렇게 구현하고 싶은데...
화일을 열어서 보면... 달랑... 한줄만나오니...
심지어는 델파이에 포함된 예제 중 메모장 처럼 구현한 것들을
봐도 제가 구현 한 것 처럼 달랑... 짧게 나오니...
EXE파일의 내용을 볼 수 있게 하려면... 어떻게 해야 할지...
알려주셨으면 합니다...
1
COMMENTS
구창민
•
1999.10.14 10:35
구민오 wrote:
> EXE 파일을 열어 보려고 하거든요...
> 메모장은 아니고... 노트패드에서 EXE파일을 열면...
> 이상한 문자가... 화면 가득 나오잖아요...
> 저도 이렇게 구현하고 싶은데...
> 화일을 열어서 보면... 달랑... 한줄만나오니...
> 심지어는 델파이에 포함된 예제 중 메모장 처럼 구현한 것들을
> 봐도 제가 구현 한 것 처럼 달랑... 짧게 나오니...
>
> EXE파일의 내용을 볼 수 있게 하려면... 어떻게 해야 할지...
> 알려주셨으면 합니다...
>
음.. 문제점이 있는 작업이라 생각되네요..
실행화일은 대부분 파일크기가 크고, 때론 엄청나게 큰
화일도 있을수 있습니다.
더군다나 Memo 컴포넌트는 Load 할수있는 한계가 있습니다.
당연히 읽어올수도 없겠지요.
말씀하신 한줄달랑 나오는 것은 파일에 NULL문자가 있기 때문입니다.
델파이의 스트링형은 NULL이후로는 아무것도 표기하지 않지요.
이건 RichEdit 역시 마찬가지입니다.
RichEdit로 파일사이즈가 큰 파일을 읽어올수는 있겠지만,
Load하는데에만도 시간이 엄청걸릴듯 하네요..
자꾸 답답한 소리만 드려서 죄송한데요,
실제 테스트 해보시구 확인하시고 싶으시면,
LoadFromFile 메소드로는 안되구요.
Char형 배열을 동적으로 생성하신뒤 파일을 몽땅 읽어서
배열에 저장하구, NULL이 문자인 경우 다른문자로 표현하고,
RichEdit에 Load해 보세요.
음.. 의사코드를 조금적어보면..
var F: TFileStream;
S: String;
begin
F:= TFileStream.Create('파일명.exe', fmOpenRead);
F.ReadBuffer(동적배열, F.Size{파일크기});
for ...1 to F.Size do
begin
if 동적배열[i] <> #0 then S:= S + 동적배열[i]
else NULL인 경우처리;
end;
RichEdit1.Text:= SS;
...
음..이런 형태면 되지 않을까 싶습니다.
작은 실행화일로 테스트 해보시면 금방 결과를 아실수 있을 것입니다.
참고로, 일전에 많은 파일을 열고 닫고하는 작업을 해본적이 있습니다.
몇백메가 되는 파일들도 소켓으로 전송하는 작업이었지요.
사용자는 개발자가 고생하며 소비한 시간은 절대 모르며,(알려 하지도 않습니다)
기다리는 시간에 짜증을 내게 됩니다.
실행화일의 경우 특정 형태로 보이게끔
프로젝트 수주를 받은곳을 설득하심이..^^;
그럼.. 즐거운 프로그래밍 되시기 바랍니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
열심이
1999.10.15 01:34
0
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
열심이
1999.10.15 01:32
0
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
김완희
•
1999.10.15 01:25
3
COMMENTS
/
0
LIKES
findnextcontrol에 대해
blackjewel
•
2001.06.22 02:43
저같은 초보에게두 해뜰날이...^^; 원하시는게 enter key를 쳤을때 다음 editBox로 넘어가는 거라면 ...
똘망울
•
2001.08.09 03:07
정석입니다. procedure TfrmHEATER.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftStat...
김영대
•
1999.10.15 02:25
김완희 wrote: > 델파이에 보면 findnextcontrol이 있는데.. > > 예를 들어 Edit이 여러개 있는데.. >...
한근수
1999.10.14 23:08
0
COMMENTS
/
0
LIKES
Data Pump사용법 좀 가르쳐주세요
aha
•
1999.10.14 22:33
3
COMMENTS
/
0
LIKES
[error]Can't make output file ___.exe
역시초보
•
1999.10.15 02:27
저도 초보지만... '파일을 작성할 수 없습니다' 해당 파일이 사용 중이라 파일을 지우거나 같은 위치...
aha
•
1999.10.15 19:27
성의있는 대답 고맙습니다. (꾸벅 -.-) 그런데... but... 프로그램 실행중에 에러가 나 멈추었습니다. ...
장우민
•
1999.10.18 00:13
디스크가 심하게 손상되면 파일 정보가 잘못되어 파일이 지워지지 않는 경우도 있습니다 그럼 다른 경로...
홍성일
•
1999.10.14 21:55
1
COMMENTS
/
0
LIKES
SQL문에서 홀 따옴표의 용법에 관하여
박용주
•
1999.10.14 22:08
홍성일 wrote: > 안냐세요..델파이 초보인데.. > 'SELECT * FROM 'COMCOM1.DB" WHERE NAME ='''+EDIT...
진요한
•
1999.10.14 21:27
1
COMMENTS
/
0
LIKES
파라독스에서 outer join이 가능한가요?
이재식
•
1999.10.14 23:12
진요한 wrote: > 파라독스에서 outer join이 SQL로 가능한가요? > Database Desktop에서는 QBE로 구현하...
배불뚝
•
1999.10.14 22:23
2
COMMENTS
/
0
LIKES
query error..흑흑
최성진
•
1999.10.14 21:22
SELECT t0110.sisul_no, t0100.addr FROM tb_dmo0100 t0100, tb_dmo0110 t0110 WHERE t0110.sisul_no = t...
배불뚝
•
1999.10.14 22:28
바꾸니 error안납니다. 바트,,, 진짜 서브쿼리 쓸일이 생기면 어쪄죠? 어쨌든 감사합니다...
백록화
1999.10.14 19:46
0
COMMENTS
/
0
LIKES
사용자 정의 함수에서 배열로 리턴
천세웅
1999.10.14 19:42
0
COMMENTS
/
0
LIKES
가끔 한영키가 작동하지 않아요!
유승훈
1999.10.14 19:25
0
COMMENTS
/
0
LIKES
PIE 함수에 관하여 자세한 설명을 바랍니다.
이만준
•
1999.10.14 16:34
1
COMMENTS
/
0
LIKES
DBGrid 컴포넌트좀 소개해 주세요.
오승섭
•
1999.10.15 03:02
이만준이 찾는 꼭 맞는 DBGrid는 아니지만 제가 사용한 것 중에 그래도 비슷한게 있어 알려드립니다. ...
김남일
•
1999.10.14 09:30
1
COMMENTS
/
0
LIKES
혹시 ISAPI에도 ASP에서의 Session기능이 있나요?
화랑
•
1999.10.14 21:38
김남일 wrote: > 요즈음 ASP를 공부하고 있는데 Delphi ISAPI에는 ASP에서 같은 Session기능은 없나여? >...
구민오
•
1999.10.14 08:16
1
COMMENTS
/
0
LIKES
화일을 열어 보려면???
EXE 파일을 열어 보려고 하거든요... 메모장은 아니고... 노트패드에서 EXE파일을 열면... 이상한 문자가... 화면 가득 나오잖아요... 저도 이렇게 구현하고 싶은데... 화일을 열어서 보면... 달랑... 한줄만나오니... 심지어는 델파이에 ...
구창민
•
1999.10.14 10:35
구민오 wrote: > EXE 파일을 열어 보려고 하거든요... > 메모장은 아니고... 노트패드에서 EXE파일을 열...
김태호
•
1999.10.14 08:14
1
COMMENTS
/
0
LIKES
시리얼통신에서 수신한 데이터 좀 봐주세요..
김태화
•
1999.10.17 21:31
김태호 wrote: > 이렇게 깨져서 나옵니다... > 어떻게 해서 정상적으로 받아볼수 있을까요... > > >...
김호정
1999.10.14 08:07
0
COMMENTS
/
0
LIKES
터보C와 델파이의 연동....
박원호
1999.10.14 16:10
0
COMMENTS
/
0
LIKES
DLL에서 메모리 공유
박병영
•
1999.10.14 14:42
1
COMMENTS
/
0
LIKES
Transaction 처리방법
이재식
•
1999.10.14 15:44
박병영 wrote: > 안녕하십니까 ^.^ > 넘 모르는 것도 많고 돌아서면 잊어버리는 델파이 초짜입니다. > ...
장우민
•
1999.10.14 13:22
1
COMMENTS
/
0
LIKES
ISAPI 꾸졌나?
김남일
•
1999.10.14 09:27
ISAPI 프로그램을 메모리에 상주하고 싶지 않으면 IIS Property항목에서 홈디렉토리->구성버튼을 누르면 IS...
정은수
•
1999.10.14 12:44
2
COMMENTS
/
0
LIKES
프로그램간 데이터 주고받기
김영대
•
1999.10.14 20:31
정은수 wrote: > 안녕하신가요? 궁금한게있어서... > 델파이로 작성한 프로그램과 Visual C++로 작성한 ...
윤지연
•
1999.10.14 16:45
공유 메모리를 쓰시면 되지 않을까 싶은데..가상 메모리라고도 하더군요. 코딩을 해 놓고도 자세한 예제...
구민오
1999/10/14 08:16
Views
412
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> EXE 파일을 열어 보려고 하거든요...
> 메모장은 아니고... 노트패드에서 EXE파일을 열면...
> 이상한 문자가... 화면 가득 나오잖아요...
> 저도 이렇게 구현하고 싶은데...
> 화일을 열어서 보면... 달랑... 한줄만나오니...
> 심지어는 델파이에 포함된 예제 중 메모장 처럼 구현한 것들을
> 봐도 제가 구현 한 것 처럼 달랑... 짧게 나오니...
>
> EXE파일의 내용을 볼 수 있게 하려면... 어떻게 해야 할지...
> 알려주셨으면 합니다...
>
음.. 문제점이 있는 작업이라 생각되네요..
실행화일은 대부분 파일크기가 크고, 때론 엄청나게 큰
화일도 있을수 있습니다.
더군다나 Memo 컴포넌트는 Load 할수있는 한계가 있습니다.
당연히 읽어올수도 없겠지요.
말씀하신 한줄달랑 나오는 것은 파일에 NULL문자가 있기 때문입니다.
델파이의 스트링형은 NULL이후로는 아무것도 표기하지 않지요.
이건 RichEdit 역시 마찬가지입니다.
RichEdit로 파일사이즈가 큰 파일을 읽어올수는 있겠지만,
Load하는데에만도 시간이 엄청걸릴듯 하네요..
자꾸 답답한 소리만 드려서 죄송한데요,
실제 테스트 해보시구 확인하시고 싶으시면,
LoadFromFile 메소드로는 안되구요.
Char형 배열을 동적으로 생성하신뒤 파일을 몽땅 읽어서
배열에 저장하구, NULL이 문자인 경우 다른문자로 표현하고,
RichEdit에 Load해 보세요.
음.. 의사코드를 조금적어보면..
var F: TFileStream;
S: String;
begin
F:= TFileStream.Create('파일명.exe', fmOpenRead);
F.ReadBuffer(동적배열, F.Size{파일크기});
for ...1 to F.Size do
begin
if 동적배열[i] <> #0 then S:= S + 동적배열[i]
else NULL인 경우처리;
end;
RichEdit1.Text:= SS;
...
음..이런 형태면 되지 않을까 싶습니다.
작은 실행화일로 테스트 해보시면 금방 결과를 아실수 있을 것입니다.
참고로, 일전에 많은 파일을 열고 닫고하는 작업을 해본적이 있습니다.
몇백메가 되는 파일들도 소켓으로 전송하는 작업이었지요.
사용자는 개발자가 고생하며 소비한 시간은 절대 모르며,(알려 하지도 않습니다)
기다리는 시간에 짜증을 내게 됩니다.
실행화일의 경우 특정 형태로 보이게끔
프로젝트 수주를 받은곳을 설득하심이..^^;
그럼.. 즐거운 프로그래밍 되시기 바랍니다.