Quando se trata de calcular expressões matemáticas, pessoas diferentes têm suas próprias abordagens diferentes. Alguns usam o método de análise de expressões. Se houver um erro na expressão, uma caixa de diálogo também poderá aparecer para indicar o erro correspondente. Este programa usa declarações SQL padrão, que suportam muitas operações, como: adição, subtração, multiplicação, divisão e divisão; Há também operações de string, mas isso não faz sentido. Como este programa está de acordo com a finalidade mencionada acima, não há restrições a esses, os amigos interessados podem verificar a sintaxe da expressão com antecedência e depois entregá-la a este programa para cálculo.
{
Todos os direitos reservados.
Projeto: Cálculo de expressões matemáticas
Autor: huang tao [email protected]
Objetivo: Aprenda a usar aulas de exceção
}
unidade ucalcexpr;
interface
usos
Janelas, mensagens, sysutils, variantes, classes, gráficos, controles, formulários,
Diálogos, stdctrls, db, adodb;
tipo
Tfrmcalc = classe (tform)
Button1: tbutton;
Edit1: TEDIT;
Procedimento Button1Click (remetente: Tobject);
Procedimento Edit1KeyPress (remetente: TOBJECT; VAR TENAS: CHAR);
Privado
{Declarações privadas}
público
{Declarações públicas}
fim;
função calcexpr (expr: string): string;
var
FRMCALC: TFRMCALC;
Implementação
{$ R *.dfm}
// Este é o núcleo deste programa e depende dele para calcular expressões.
função calcexpr (expr: string): string;
consulta var: tadodataset;
Começar
qury: = tadodataset.create (nil);
tentar
QURY.ConnectionString: = 'provedor = msdasql.1; persiste informações de segurança = false;' +
'Data Source = DBASE Arquivos';
qury.CommandText: = 'Selecione' + expr + 'como resultado';
QURY.OPEN;
Resultado: = expr + '=' + qury.fieldbyname ('resultado'). Asstring;
Finalmente
query.free;
fim;
fim;
procedimento tfrmcalc.button1Click (remetente: tabjas);
Começar
tentar
edit1.Text: = CalCEXPR (Edit1.Text);
exceto
em H: Exceção Comece
showMessage (H.Message);
fim;
fim;
fim;
procedimento tfrmcalc.edit1Keypress (remetente: tabjas; var tecla: char);
Começar
Se key = #13 então Button1Click (self);
fim;
fim.
Resumo: A partir disso, podemos ver que existem dois métodos para capturar exceções. Esses dois métodos de captura de exceções são diferentes e cada um tem seus próprios usos.
Tente ... Exceto ... o final é geralmente usado quando precisamos pegar o erro e fazer os prompts correspondentes depois que um determinado método for chamado. Por exemplo, ao chamar uma função que calcula uma expressão no programa acima, a função que calcula uma expressão provavelmente lançará uma exceção; portanto, ao ligar, deve capturar sua exceção, fazer prompts correspondentes ou executar o processamento subsequente relacionado para evitar Causa erros do sistema e afeta a beleza da interface do programa. Se simplesmente relatarmos um erro, podemos simplesmente escrever o prompt correspondente para relatar um erro no meio de exceção ... final. Se você quiser ver qual tipo de erro é, você deve seguir a prática acima para capturar o erro.
Tente ... Finalmente ... o final é geralmente usado para executar operações relacionadas após a alocação de um determinado recurso. Com a tentativa ... Finalmente ... Declaração final, podemos colocar a declaração de operação completamente em tentativa ... Finalmente, depois de alocar recursos e imaginar que isso pode ser executado completamente. Fora deste círculo e entre finalmente sem executá -lo em sequência. Finalmente ... final, podemos realizar alguns trabalhos de consequências, como a liberação dos recursos alocados na época, porque não importa se o acima é executado sem problemas ou ao encontrar exceções, as declarações aqui serão executadas.
Pode -se observar que a declaração acima está definida para capturar exceções, e a seguinte declaração está definida para alocação de recursos, mas alguns amigos dizem: o que devemos fazer se queremos capturar exceções e recuperar recursos? Infelizmente, Borland não tem tentativa ... Exceto ... finalmente ... termina.
Em suma, o uso racional de classes de exceção pode reduzir bastante nossa programação e tornar nossas idéias de programa mais claras. O programa escrito é mais bonito.