창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


창조 팁
- '창조' 에 관한 팁을 올리는 곳입니다. 다수의 이미지가 필요하시면 아래 '이미지 자료실' 에 업로드 후 불러와 주세요..


LIST ALL
Posted by 박종훈2010-07-22 21:08:34, Hit : 4173
구조체 등에서 문자형을 요구할 때
Homepage : http://qnrdlqkrwhdgns.canxan.com/
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=tip&no=420
API등을 사용하다보면 구조체가 필요할 때가 있습니다.
구조체는 상현님께서 만드신 구조체함수를 사용하면 문제될 것이 없습니다.

구조체 다루는 함수 (v3)
(http://cugz.sjworks.net/bbs/zboard.php?id=pds_sc&no=776 )

그런데 다음과 같은 녀석은 구조체에 문자형을 집어넣어야 하는 경우가 있습니다.

OPENFILENAME Structure
typedef struct tagOFN {
  DWORD         lStructSize;
  HWND          hwndOwner;
  HINSTANCE     hInstance;
  LPCTSTR       lpstrFilter;
  LPTSTR        lpstrCustomFilter;
  DWORD         nMaxCustFilter;
  DWORD         nFilterIndex;
  LPTSTR        lpstrFile;
  DWORD         nMaxFile;
  LPTSTR        lpstrFileTitle;
  DWORD         nMaxFileTitle;
  LPCTSTR       lpstrInitialDir;
  LPCTSTR       lpstrTitle;
  DWORD         Flags;
  WORD          nFileOffset;
  WORD          nFileExtension;
  LPCTSTR       lpstrDefExt;
  LPARAM        lCustData;
  LPOFNHOOKPROC lpfnHook;
  LPCTSTR       lpTemplateName;
#if (_WIN32_WINNT >= 0x0500)
  void          *pvReserved;
  DWORD         dwReserved;
  DWORD         FlagsEx;
#endif
} OPENFILENAME, *LPOPENFILENAME;

위에 노란색으로 된 녀석들이 문자형을 요구하는 것들입니다.
그렇다고 창조에서 문자형을 요구하는 녀석에 진짜 문자 데이터를 넣을 수는 없습니다. 문자 데이터의 주소를 넣어야 합니다.

창조만으로 변수의 주소는 알아낼 수가 없습니다.
다소 꼼수라고는 생각하지만, 지금으로써는 이 방법밖에 없는것 같습니다.

API를 사용해서 문자의 주소를 얻어 사용하는 방법입니다.

ㅎ사용자함수

연결파일: Kernel32
실수함수: lstrcat(문자: lpString1, lpString2);


사실, lstrcat 함수는 두 문자를 합쳐주는 역할을 합니다. 창조의 '문자붙여' 함수와 동일한 기능을 합니다.
(http://msdn.microsoft.com/en-us/library/ms647487(VS.85).aspx )

그런데 이 함수의 반환값은 합쳐진 문자의 "주소" 를 반환합니다.
따라서 창조에서 어떤 문자열의 주소를 얻고자 한다면 다음과 같이 하시면 됩니다.

문자: 문1;
실수: 문1주소;

문1 := "나는 문자에요. 제 주소를 얻어주세요.";
문1주소 := 사용자함수0.lstrcat(문1, 수문(0));

문1과 수문(0)을 합쳐서 주소를 반환합니다.
수문(0)은 Null 문자입니다.(따라서 문자를 합치는 기능은 무의미하고 주소만 얻어내려는 용도입니다.)


이 방법은 아래의 자료들에 사용되었습니다.

API로 파일관리창 띄우기
http://cugz.sjworks.net/bbs/zboard.php?id=pds_sc&no=778

LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
217
   배열 버그 해결법
성인e 2009/11/07  4806
216
   창조의 구문강조를 html에 쉽게 적용하자.. [3]
변혁수 2006/06/21  4828
215
   기본객체의 글꼴을 '돋움'에서 '굴림' 으로 변경하기.. [12]
변혁수 2005/01/19  5119
214
   효과음 많은 사이트.. [7]
변혁수 2004/07/25  5688
213
   [버그] ㅎ파일탐색이 두개면 하나가 먹통이 됩니다.
박종훈 2010/12/11  4171
212
   Windows XP의 Explorer.exe 명령줄 옵션 [2]
박종훈 2010/07/22  4871

   구조체 등에서 문자형을 요구할 때
박종훈 2010/07/22  4173
210
   창조 코드에디터의 오타수정 기능! [2]
박종훈 2010/07/21  4157
209
   [api] 응답없음 판단하기 [1]
박종훈 2010/07/21  4502
208
   파일의 인코딩 방식 알기 [1]
박종훈 2010/07/20  4673
207
   문법검사기가 "(" 를 파싱해 오류를 냅니다. [1]
박종훈 2010/07/18  5848
206
   가끔씩 비정상적인 Jpeg파일이라고 오류가 나는 경우
박종훈 2009/05/05  5062
205
   API이름뒤에 A나 W가 붙는 경우 [2]
박종훈 2009/03/08  5357
204
   Ctrl+Tab의 기능! 창전환 [5]
박종훈 2009/02/27  5093
203
   문법은 맞는거 같은데 창조에서 틀리다고 나올때 [5]
박종훈 2009/02/27  4988
202
   레지스트리 다루기(명령 프롬프트) [4]
박종훈 2009/02/26  5328
201
   ㅎ버튼(), ㅎ그림판() ... 도움말에는 없고-_-; [2]
박종훈 2009/02/25  5009
200
   제어판 열기 [5]
박종훈 2009/02/24  5836
199
   윈도우 방화벽 허용 명령어 [4]
박종훈 2009/02/24  5876
198
   윈도우 서비스 실행/중단 [1]
박종훈 2009/02/24  5548
197
   각 언어별 자료형 [2]
박종훈 2009/02/21  5149
196
     [re] SYSTEMFILE 구조체
박종훈 2009/02/22  4810
195
   FILETIME 구조체 [2]
박종훈 2009/02/21  5909
194
   [창조 버그] 조건문에서 문자열 반환시 문법검사 오류 [3]
박종훈 2009/02/18  5660
193
   [ㅎ메모] 창조만으로 알수없는 것을 API로 얻기
박종훈 2008/07/19  5724
LIST ALL   Prev [1][2][3][4][5] 6 [7][8][9][10]..[14] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인