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


질문게시판
- 반드시 검색을 하신 후 원하는 답변을 찾을 수 없을 때, 질문을 올려주세요.


LIST ALL
Posted by 박종훈2009-02-27 15:04:43, Hit : 4046
창조 구조체에서 문자를 넣는방법 아시는분 알려주세요ㅠ
Homepage : http://qnrdlqkrwhdgns.canxan.com/
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=qna&no=2116
01: Type SHELLEXECUTEINFO
02:         cbSize As Long
03:         fMask As Long
04:         hwnd As Long
05:         lpVerb As String
06:         lpFile As String
07:         lpParameters As String
08:         lpDirectory As String
09:         nShow As Long
10:         hInstApp As Long
11:         lpIDList As Long
12:         lpClass As String
13:         hkeyClass As Long
14:         dwHotKey As Long
15:         hIcon As Long
16:         hProcess As Long
17: End Type


위는 비주얼베이직에서 SHELLEXECUTEINFO 라는 구조체를 선언한 겁니다.
그런데, 위의 명령어에서

5, 6, 7, 8, 12번재줄과 같이 String형으로 되어있는데,
문자잖아요? 그런게 구조체에 바로 문자를 집어넣는건 아닌것 같고,
따로 처리를 해야할것 같은데 말이죠.

어떻게 하면 창조에서 구조체에 문자를 넣을수 있습니까?
창조의 구조체함수로 그냥 문자를 집어넣는 건 아닌것 같고,
뭐 따로 처리를해서 넣어주는것 같은데.. 혹시 하실줄 아시는분ㅠㅠ 답변부탁합니다^^


메모리 할당도 해보고 lstrcpy 같은 API함수도 써보고 그랬는데, 도통 모르겠더라고요;;
메모리 할당한 다음에 그 할당한 곳에 문자를 넣고 할당한 메모리의 포인터를 넣어주는 건줄 알았는데, 글세 제가 잘못 짚었는지 잘 안되더라고요;;;;;


답변부탁드립니다ㅠㅠ

아참, 창조에서 사용하는 방법을 어쭤어보는 겁니다^^


김동민   2009-02-27 PM 3:52:03  
음!? 구조체라면 그냥 이런 방법으로 하면 되지 않나요?
SHELLEXECUTEINFO.lpClass = "나는 문자열, 낄낄"

이걸 물어보신 게 아닌가 *ㅡ_-) ;;
박종훈   2009-02-27 PM 4:16:29  
아핫, 김동민님~ 제가 몇가지를 빼먹고 바로 글을 올려버렸네요^^;
창조에서 사용하는 방법을 말씀드린 거에요~

VB나, 다른 프로그래밍 언어라면 말씀하신대로 그냥 사용하면 될듯 한데,
창조에서 지상현님께서 제작하신 [구조체함수]를 이용해서 구조체에 문자를 넣으려고 하는데 어떻게 하는줄 몰라서요 ㅠㅠ

예를 들어 창조에서 구조체를 만들고 4바이트 지점에 문자를 입력한다고 할때

문자: 구조체;
구조체 := 구조체함수.구조체버퍼잡아(60);
구조체 := 구조체함수.구조체쓰기(구조체, "문자입력!!", 4);

이런식으로 직빵으로 구조체에 넣고자하는 문자를 사용하면 안되는것 같더라고요.
위와 같이 하면 넣고자 하는 문자가 길어지면 길어질수록 구조체버퍼잡아함수에서 할당한 구조체버퍼를 문자가 다 차지하고, 나머지 데이터가 들어갈 공간이 없어지잖아요ㅠㅠ(넣고자 하는 문자가 버퍼를 다 차지하게 되니;;)

어떻게 하면 창조의 구조체함수에서 문자를 넣을수 있을지 궁금해요 ㅠ
http://cugz.sjworks.net/bbs/zboard.php?id=pds_sc&no=631
위의 소스에서도 구조체함수를 사용하고 문자를 사용하는데요, 꼼수로;;;; lstrcpy함수를 이용해서 사용하는데 되더라고요;;;;

lstrcpy함수는 문자1과 문자2를 합쳐주는 함수고, 반환값으로 합쳐진문자의 포인터가 나오는데요, 이걸 이용해서 구조체에 문자를 넣긴 했는데, 잘한건지 모르겠네요;;;;;;
박종훈   2009-02-27 PM 4:19:02  
음.. 혹시..
String라고해도.. 실제로 문자가 들어가는 것이 아니라, 해당 문자가 있는 메모리주소를 넣는것이 아닐까요? 즉, 포인터를 사용하는거죠..

음, 그런데 확실한지 모르겠네요;
김동민   2009-02-27 PM 5:11:00  
흠, 일단 상현님께서 만드신 창조에서의 구조체 함수라는 것에
대해서도 전혀 알고있는 사항이 없고 ;;

어쨌든 관련된 소스들을 검토해보고 직접 한 번 해봐야
알 수 있을 것 같은데~

보다 원초적인 문제로 일단 집에있는 제 PC에
창조가 설치되어 있지를 않아서 *-_-)
주말에 할짓없음 창조나 깔아서 건드려 봐야겠습니다.
박종훈   2009-02-27 PM 5:37:36  
ㅋㅋㅋ 지상현님의 구조체함수에는 숫자를 다루는 함수만 있어요ㅠㅠ
예를 들어, 수를롱 같은경우, 창조에서의 실수형을 Long형으로 바꾸는 함수이고요, 그외 3개정도의 숫자의 형변환 함수가 있는데요.
문자는 어떻게 하는지 모르겠어요ㅠ
지상현   2009-03-21 AM 6:05:20  
String은 포인터입니다.
그래서 그냥 4바이트 숫자를 넣습니다.
물론 이때 넣는 숫자는 포인터로써 실제 문자열 데이터가 들어있는 적절한 데이터의 주소여야겠죠.

창조에서 어떻게 해결할 수 있는 방법이 없지만...

아마도 lstrcat 함수 (두 문자열을 합치는 API)를 쓰면 될지도 모르겠네요.
lstrcat(A, B) 라고 적으면
A := A + B; 이런 식으로 동작하는 건데,
반환 값으로 문자열 A의 주소를 돌려줍니다.
그래서 B에 ""를 넣고 A만의 주소를 구하는... 뭐 그런 꽁수죠.
지상현   2010-06-24 PM 9:08:44  
앞서 설명한 방법은 예전에 누군가 VB에서 쓴 방법인데
VB에서 저 꽁수가 먹히는 이유는 문자열이 static한 데이터로 남아있고, _lstrcat 함수로 그 주소를 얻겠다는 의도인데... 좀 위험한 방법 같네요.
VB에선 VarPtr 같은걸 쓰면 되구요.

창조에서는 메모리 할당해서 문자열 복사해 넣는 수 밖에 없을 것 같네요.
박종훈   2010-06-27 PM 11:57:04  
예전에 말씀하셨던 lstrcat 함수로 어떻게 하려고 해보니까 잘 안되더라고요ㅠ
지금은 고3인 관계로-_-;;(사실 귀찮다는 이유가 더 크지만.)
기회가 되면 메모리 할당해서 문자열 넣고 그 주소 얻어서 넣는 방법을 해보겠습니다~
LIST ALL               GO TO THE TOP


N
Category
   Subject
Posted by
Date
H
1807 기타
   부팅관련 질문(창조랑 관련은 없습니다.) [5]
신용주 2009/02/28  3044
창조
   창조 구조체에서 문자를 넣는방법 아시는분 ... [8]
박종훈 2009/02/27  4046
1805 창조
   리스트박스 스크롤관련 [12]
김민석 2009/02/27  4081
1804 창조
     [re] 리스트박스 스크롤관련 [6]
신용주 2009/02/27  3782
1803 창조
     [re] 리스트박스 스크롤관련 [1]
바람 2009/02/27  3225
1802 창조
   다시질문 [6]
김민석 2009/02/26  2999
1801 창조
     [re] 다시질문 [19]
김민석 2009/02/27  3306
1800 창조
   연동 홈페이지. 상진님이 잘 아실 듯. [4]
신용주 2009/02/26  3109
1799 창조
   *.reg 파일을 ㅎ메모에서 읽어들이려면...;;;; [11]
바람 2009/02/25  4101
1798 창조
   압축프로그램을 짤려는데 [1]
김제형 2009/02/24  2853
1797 창조
   인터넷 속도 체킹 및 메세지 [2]
신용주 2009/02/24  3665
1796 창조
   콤보박스관련 [1]
김민석 2009/02/24  3218
1795 창조
   현재시간의 의미 [2]
신용주 2009/02/22  3952
1794 창조
   이미지와 메모글 미리보기 방법_쉬운 질문 [1]
신용주 2009/02/22  3656
1793 창조
   질문입니다..박종훈님의 소스 및,,손상진님의... [9]
창조신화 2009/02/21  3669
1792 창조
   포스가 영딸려서... 고수분들 조언구합니다. [4]
바람 2009/02/20  3756
1791 창조
   창조문법에 없는질문좀 할께요 [9]
강정훈 2009/02/20  3883
1790 창조
   원격조정!? 원격지시!? [7]
신용주 2009/02/18  3043
1789 창조
   다시 설명~! dll 그리고 ini (델과 환경문) [12]
신용주 2009/02/16  3821
1788 창조
   스크롤바 객체 사용 질문. [3]
창조신화 2009/02/15  3579
1787 기타
   이것 해석좀 가능 하신분 계실까여? 델파이 ... [1]
강정훈 2009/02/14  3439
1786 창조
   종훈님 한가지 해결했는데 조금더 보안문제..... [1]
강정훈 2009/02/14  4082
1785 창조
   업데이트에 대해서 자세히좀 알려주세요
임민혁 2009/02/12  3121
1784 창조
   혹시... 확장자 csv 파일을 읽어들이는 api ... [5]
바람 2009/02/12  4018
1783 창조
   종훈님 하나만 더부탁 드려도....? [1]
강정훈 2009/02/10  3448
LIST ALL   Prev [1]..[11][12][13][14] 15 [16][17][18][19][20]..[87] 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이희철
로그인