부모폼에서 자식폼을 불러쓰는 방식인데여..
부모폼에서 등록하기를 누르면 등록을 할수있는 자식폼이 뜨거든여?
부모폼엔 dbgrid가 있구 자식폼엔 텍스트박스들이 있는거져..
근데 다른건 다 처리했는데 textbox1 과 textbox2는 반드시 숫자만 입력하도록 되어있져
그리고 textbox3에는 합계가 나오구여.....
그러니까 textbox1 = 금액 , textbox2 = 갯수 textbox3 = textbox1 * textbox2
이런식으로 하려는데요..
여기서 문제는 반드시 숫자만 입력하도록 해놓은 거져.....
처리방식을 textbox2에 값을 입력하고 keydown하면 합계가 나오도록 하려는건데여...
이런경우 Numeric이냐 아니냐를 if루 돌리구 계산하라구 하시는데..그 후엔 설명이 없네여.. 제가 지금 막 델파이를 접한 허접이라서..아니 프로그래밍이 첨인거져..
그래서 도움을 좀 요청하고자 합니다....
도와주세여....긴 글 읽어주셔서 감사합니다..
제 경험으로 보아서는 ... 일단은 들어오는 값을 무조건 숫자만 들어오게하는 것이
중요할것 같습니다...
KeyPress 이벤트를 이용해서.
procedure TFORM1.EDIT1CKeyPress(Sender: TObject; var Key: Char);
var
Accept : Boolean;
begin
Accept := Key in ['0'..'9', #8, #13, #127];
if Not Accept then Key := #0;
end;
숫자키,엔터키,탭키등은 허용하고 아닌키는 아무것도 반환을 하지 않는 방법입니다..
keydown 이벤트도 좋겠지만 저는 주로...Exit,Change 이벤트를 사용합니다.
Exit,Change 이벤트에서....
textbox(이것은 3rd Part 컴퍼넌트 인가요)
만약에 Value 속성이 있는 컴퍼넌트이면 다행이고요 아니면
if StrToFloat(textbox1.Text)<> 0 AND StrToFloat(textbox2.Text)<> 0
then begin
textbox3.Text := FloatToStr(StrToFloat(textbox1.Text)
* StrToFloat(Textbox2.Text));
end;
이런식으로 계산된 화면을 뿌려주시고요... 자식폼에서 저장을 하시면 끝이겠네요