|
정말 감사합니다. 덕분에 많은 도움이 되었습니다.
에버그린님 정말 감사합니다......^^*
evergreen 님이 쓰신 글 :
: TEdit에 입력된 값은 TEdit->Text에 보관되며,
: TEdit->Text는 property로써 AnsiString형을 반환합니다.
:
: 두 값을 더하려면 일단 숫자로 변환해야 겠죠?(문자열 "1234" + "5678"은 "2345678"이 됩니다.)
: AnsiString의 Method중 ToInt()가 이 일을 합니다.
:
: doradori이 작성한 코드중
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: return (Edit1+Edit2);
: }
: 를
: try {
: Label1->Caption = Edit1->Text.Trim().ToInt() + Edit2->Text.Trim().ToInt();
: }
: catch( const EConvertError &err ) {
: Label1->Caption = err.Message;
: }
: 로 바꿔 보세요.
: 숫자 변환중 오류가 발생되면 EConvertError 예외가 발생되는데,
: 예외를 발생시키지 않으려면 ToIntDef()를 사용하시면 됩니다.
: 보다 자세한 내용은 도움말을 참조하시길...
:
: 행복하세요.
:
:
:
: doradori 님이 쓰신 글 :
: : 다름이 아니라 계산기비슷한 것을 짜보려고 합니다.그림은 다음과 같습니다.
: : edit 창 1와2에 수치를 넣고 옆에 +버튼을 누르면 값이 산출되는 것을 하려 합니다 ..
: : 소스는 다음과 같이 했습니다...솔직히 아직 개념도 잘 정리가 안되서 ...여기저기 책에서 비슷한것으로 붙였습니다.
: : 조언좀 부탁드립니다.
: : #include <vcl.h>
: : #pragma hdrstop
: :
: : #include "edical.h"
: : //---------------------------------------------------------------------------
: : #pragma package(smart_init)
: : #pragma resource "*.dfm"
: : TForm1 *Form1;
: : //---------------------------------------------------------------------------
: : __fastcall TForm1::TForm1(TComponent* Owner)
: : : TForm(Owner)
: : {
: : }
: : //---------------------------------------------------------------------------
: :
: :
: :
: : void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
: : {
: : if((Key >=48&&Key<=57)||(Key==8)){
: : }
: : else{
: : Key=0;
: : }
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
: : {
: : if((Key >=48&&Key<=57)||(Key==8)){
: : }
: : else{
: : Key=0;
: : }
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: : return (Edit1+Edit2);
: : }
: : //---------------------------------------------------------------------------
|