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


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


LIST ALL
Posted by 지상현2011-02-07 02:23:20, Hit : 5860
[all] 할당해() 자기대입 주의 (ㅎ문자열)
Homepage : http://ssidang.x-y.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=tip&no=448
할당해() 함수는 '대입문'과 같은 역할을 합니다.

예를 들어, 리스트박스0에 있는 모든 글자를 메모0으로 옮기려면
(메모0.내용 := 리스트박스0.내용 같은 것을 하고 싶을 때)

메모0.내용.할당해( 리스트박스0.내용 );

이렇게 처리합니다.

특히, 할당해() 함수는 같은 종류끼리 (또는 호환되는 종류끼리) 아무거나 대입할 수 있습니다.
ㅎ메모나 ㅎ리스트박스 같은 객체는 실제 담긴 내용은 다르지만 모두 ㅎ문자열 ('내용' 속성)이기 때문에 서로 대입, 즉 '할당해()'가 가능합니다.
  • 'ㅎ메모.내용'과 'ㅎ리스트박스.내용', 'ㅎ콤보박스.내용' 그리고 그냥 'ㅎ문자열'은 모두 'ㅎ문자열'과 같은 종류지만 똑같진 않습니다. 객체에 따라 기능이 다릅니다. 예를 들어 'ㅎ메모'의 경우는 파일저장해() 할 때 rtf로 저장하는 능력이 있습니다.


그런데, 'ㅎ문자열'에서 할당해() 함수는 대략 다음과 같이 구현되어 있습니다.

받는쪽 <- 주는쪽

받는쪽.갱신시작;
받는쪽.지워;
받는쪽.문자내용추가( 주는쪽 );
받는쪽.갱신끝;


받는쪽의 내용을 먼저 지우고 주는쪽의 내용을 추가해줍니다.
그런데, 받는쪽과 주는쪽이 같은 경우라면 지워()를 쓴 시점에서 받는쪽 뿐 아니라 주는쪽도 내용이 전부 사라지게 됩니다. 따라서 아무 내용도 추가되지 않습니다.

메모0.내용.할당해( 메모0.내용 );

이렇게 하면,

메모0.내용.지워;

와 결과가 완전히 같습니다.


자주 있는 경우는 아니지만, 창조(라기보단 창조에서 쓰는 델파이 VCL 구현)에서는 이런 식으로 자기 대입을 그다지 깔끔하게 처리하지 않기 때문에 코드를 짤 때 주의해야 합니다.

LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
67
   [tip] 동화를 버튼으로 활용하기.. [2]
권선중 2002/12/24  4293
66
   [tip] 균일한 랜덤재생하기.. [3]
권선중 2004/07/17  4820
65
   [tip] 같이실행해 응용방법 [2]
권선중 2003/10/12  4710
64
   [tip] 수를교정문법의 응용과 활용방법 [1]
권선중 2003/09/09  5254
63
     [re] 작업 중 필요해서 만든 문자열내에서 서열 위치찾기 함수.
바람 2017/10/18  2201
62
     [re] 메모 가지고 놀기! [주의사항] [1]
박종훈 2006/07/25  5467
61
     [re] 마지막 부분에서 속도 느려짐 해결.
바람 2012/01/10  4485
60
     [re] 나른한 일요일 오후에의 잡설 [1]
지상현 2005/11/13  4897
59
     [re] 그룹박스는 밑판+이름표(밑판)?;; [2]
박종훈 2006/01/13  4160
58
     [re] ㅎ메모의 64k 제한..
바람 2017/10/19  2577
57
       [re] ㅎ메모의 64k 제한..
바람 2017/12/26  2516
56
     [re] SYSTEMFILE 구조체
박종훈 2009/02/22  4874
55
     [re] 1145 번째의 비밀(?);; [2]
최재일 2005/11/21  4696
54
   [CELK] 창조로 간단한 신호 보내기 [1]
지상현 2006/07/11  6533
53
   [api] 작업관리자에서 프로그램 숨기기 [4]
박재성[날개달기] 2006/03/22  5893
52
   [api] 응답없음 판단하기 [1]
박종훈 2010/07/21  4548

   [all] 할당해() 자기대입 주의 (ㅎ문자열)
지상현 2011/02/07  5860
50
   [0.9b] 체크박스/라디오버튼 꾸미기 가이드
지상현 2010/06/25  5646
49
   [0.9b] 창이 테마 안 먹고 해괴해지는 문제 피하기
지상현 2011/01/18  3952
48
   [0.9b] 사용자함수 하나로 여러 DLL 함수 + 일반 함수 쓰기!
지상현 2011/02/02  5053
47
   [0.9b] 버튼에 들어있는 기본 기능을 이용해 봅시다 [2]
지상현 2011/01/18  4154
46
   [0.9b] 객체 글꼴 '돋움 10pt'에서 '굴림 9pt'로 쉽게 바꾸기
지상현 2011/01/18  4095
45
   [0.9b] "메뉴 항목_" 이여 안녕! [2]
지상현 2004/12/19  5915
44
   [+] 크기조절해() 보충 설명
지상현 2011/01/15  4392
43
     [+] 비슷한 오류(?) 하나더... [7]
이희창(빙고) 2006/02/25  5449
LIST ALL   Prev [1]..[11] 12 [13][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이희철
로그인