수학적 표현을 계산할 때 다른 사람들은 자신의 접근 방식이 다릅니다. 일부는 표현을 분석하는 방법을 사용하여 컴파일 지식이 매우 간단합니다. 표현식에 오류가 있으면 해당 오류를 표시하기 위해 대화 상자가 나타날 수도 있습니다. 이 프로그램은 다음과 같은 많은 운영을 지원하는 표준 SQL 문을 사용합니다. 문자열 작업도 있지만 "왼쪽 ( 'ABCD', 2)"을 입력하면 "= AB"를 계산합니다. 이 프로그램은 위에서 언급 한 목적에 따라 이루어지기 때문에이 프로그램에 대한 제한이 없으므로 관심있는 친구들은 표현의 구문을 미리 확인한 다음이 프로그램에 전달하여 계산할 수 있습니다.
{
모든 권리 보유. 재판 할 때 출처를 표시하십시오
프로젝트 : 수학 표현의 계산
저자 : Huang tao [email protected]
목적 : 예외 클래스를 사용하는 방법을 배우십시오
}
단위 Ucalcexpr;
인터페이스
용도
창, 메시지, 시스템, 변형, 클래스, 그래픽, 컨트롤, 양식,
대화 상자, stdctrls, db, adodb;
유형
tfrmcalc = class (tform)
버튼 1 : tbutton;
edit1 : 테디;
절차 버튼 1Click (sender : tobject);
절차 edit1keypress (발신자 : tobject; var key : char);
사적인
{개인 선언}
공공의
{공개 선언}
끝;
함수 calcexpr (expr : string) : string;
var
frmcalc : tfrmcalc;
구현
{$ r *.dfm}
// 이것은이 프로그램의 핵심이며 표현식을 계산하는 데 달려 있습니다.
함수 calcexpr (expr : String) : 문자열;
var 쿼리 : tadodataset;
시작하다
Qury : = tadodataset.create (nil);
노력하다
qury.connectionstring : = '제공자 = msdasql.1; 지속 보안 정보 = false;'
'데이터 소스 = dbase 파일';
qury.commandText : = '결과적으로' + expr + '를 선택합니다.';
QURY.OPEN;
결과 : = expr + '=' + qury.fieldByName ( 'result'). Asstring;
마지막으로
query.free;
끝;
끝;
절차 tfrmcalc.button1click (sender : tobject);
시작하다
노력하다
edit1.text : = calcexpr (edit1.text);
제외하고
H : 예외가 시작됩니다
ShowMessage (H.Message);
끝;
끝;
끝;
절차 tfrmcalc.edit1keypress (sender : tobject; var key : char);
시작하다
key = #13 인 경우 button1click (self);
끝;
끝.
요약 : 우리는 예외를 포착하는 두 가지 방법이 있음을 알 수 있습니다. 예외를 포착하는이 두 가지 방법은 다르며 각각 고유 한 용도가 있습니다.
시도 ... 제외 ... 끝은 일반적으로 오류를 잡아야하고 특정 방법이 호출 된 후에 해당 프롬프트를 만들 때 사용됩니다. 예를 들어, 위 프로그램에서 표현식을 계산하는 함수를 호출 할 때 표현식을 계산하는 함수는 예외를 던질 수 있으므로 호출 할 때는 예외를 포착하거나 해당 프롬프트를 만들거나 피하기 위해 관련 후속 처리를 수행해야합니다. 시스템 오류를 유발하고 프로그램 인터페이스의 아름다움에 영향을 미칩니다. 단순히 오류를보고하는 경우, 제외 ... END의 중간에 오류를보고하기위한 해당 프롬프트를 작성할 수 있습니다. 어떤 종류의 오류가 있는지 확인하려면 오류를 잡으려면 위의 연습을 따라야합니다.
마지막으로 ... END는 일반적으로 특정 리소스를 할당 한 후에 관련 작업을 수행하는 데 사용되지만 이러한 작업이 완료된 후에는이 작업을 수행해야합니다. 시도한 ... 마지막으로 ... END 문을 완전히 시도 할 수 있습니다 ... 마침내 자원을 할당 한 후에는 이것이 완전히 실행될 수 없다면 점프 할 수 있다고 상상합니다 이 원에서 나와서 순서대로 수행하지 않고 마침내 들어갑니다. 마지막으로 ... 끝에서, 우리는 위의 자원이 원활하게 실행되는지 또는 예외를 발견 할 때, 여기의 진술이 실행되기 때문에 당시에 할당 된 자원을 공개하는 것과 같은 여파 작업을 수행 할 수 있습니다.
위의 진술은 예외를 포착하기 위해 설정되었으며 다음 진술은 자원 할당을 위해 설정되어 있음을 알 수 있지만 일부 친구는 예외를 포착하고 자원을 복구하려면 어떻게해야합니까? 불행히도, Borland는 ... 마지막으로 ... 위의 목표를 달성하고 싶다면 둥지 만 사용할 수 있지만, 그렇게하는 것은 매우 불쾌합니다.
요컨대, 예외 클래스를 합리적으로 사용하면 프로그래밍을 크게 줄이고 프로그램 아이디어를 더 명확하게 할 수 있습니다. 작성된 프로그램은 더 아름답습니다.