너무 깔끔하게 대답해주셔서 정말 감사드립니다. ^^
제 첫 질문에서....form2에서 form1을 가져다 쓸 때, 저는 unit1,2는 다 uses절에 써 넣었었고요,
근데도 안되더라구요...머가 잘못된건지 모르겠어요..
procedure Tform1.edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (key = #8) or (key = #13) or
(key in ['0'..'9']) then
else key := #0;
end;
여기서 저는
if not (key in ['0'..'9']) then
showmessage('no');
이정도밖에 못하겠어서 그냥 했었는데요, 여기서 #13은 엔터키라는 걸 아는데요, #8은 뭔가요???
(시프트킨가요...-ㅁ-;;;;)
제가 edit를 많이 만들어서 form에다가 keypress이벤트에 위의 소스를 넣어놨었습니다.
if edit1.text <> '' then
begin
edit1.text:=formatfloat('#,###',strtofloat(edit1.text));
end;
근데 이 위에 있는 소스는 넣을 수가 없는거 같아요..그렇다고 edit마다 하나하나씩 넣어주는건 너무
지저분한 느낌이고요. 또 이걸 어느 이벤트에 넣어야 될지 모르겠어요...ㅠ_ㅠ;;;
고수님들...부탁드립니다..
똑같은 Coding이라면,
굳이 반복해서 Coding을 복사하실 필요는 없죠..
여기서 델파이의 강력함이 물씬 풍긴다는... 대목이죠..
일단, 복사할 컴포넌트의 Coding된 Event를
Object Inspector의 Events 탭에 보시면,
해당 Event의 함수부분이 보일 겁니다..
다시말해서, 수정할 수 있는 영역이 함수부분입니다..
그다음에
복사하고자 하는 다수의 컴포넌트를 모두 선택한 상태(shift 누른 후 마우스클릭... 클릭)로
만들고, 거기서 Object Inspector의 Events 탭에서
같은 Event에 코딩했던 Event의 함수를 복사..
그럼.. 선택한 모든 컴포넌트의 복사한 Event들은
모두, 1번 Coding한 컴포넌트의 event로 실행시 흘러들어갑니다..
아주 멋지죠..
역시 코딩은 없죠..
즉, 실제 코딩은 덩그러니, 아래 뿐이고..
if edit1.text <> '' then
begin
edit1.text:=formatfloat('#,###',strtofloat(edit1.text));
end;
event만 복사한 것이죠...
이해가 되셨나요?