Lorsqu'il s'agit de calculer les expressions mathématiques, différentes personnes ont leurs propres approches différentes. Certains utilisent la méthode d'analyse des expressions. S'il y a une erreur dans l'expression, une boîte de dialogue peut également apparaître pour indiquer l'erreur correspondante. Ce programme utilise des déclarations SQL standard, qui prennent en charge de nombreuses opérations, telles que: l'addition, la soustraction, la multiplication, la division et la division; Il y a aussi des opérations de chaîne, mais cela n'a pas de sens. Étant donné que ce programme est conforme à l'objectif mentionné ci-dessus, il n'y a aucune restriction sur ces amis, les amis intéressés peuvent vérifier la syntaxe de l'expression à l'avance, puis la remettre à ce programme de calcul.
{
Tous droits réservés.
Projet: Calcul des expressions mathématiques
Auteur: huang tao [email protected]
Objectif: Apprenez à utiliser des cours d'exception
}
Unité UCALCEXPR;
interface
usages
Windows, messages, systèmes, variantes, classes, graphiques, contrôles, formulaires,
Dialogues, stdctrls, db, adodb;
taper
Tfrmcalc = classe (tform)
Button1: Tbutton;
Edit1: Tedit;
Procédure Button1Click (expéditeur: tobject);
Procédure Edit1KeyPress (expéditeur: tobject; clé VAR: char);
Privé
{Déclarations privées}
publique
{Déclarations publiques}
fin;
fonction calcexpr (expr: string): string;
var
Frmcalc: tfrmcalc;
Mise en œuvre
{$ R * .dfm}
// C'est le cœur de ce programme, et cela en dépend pour calculer les expressions.
fonction calcexpr (expr: string): string;
Var Query: Tadodataset;
Commencer
Qury: = tadodataset.create (nil);
essayer
Qury.ConnectionString: = 'Provider = MSDASQL.1; Persist Security Info = False;'
«Data Source = DBASE Fichiers»;
Qury.CommandText: = 'SELECT' + expr + 'As Result';
Qury.Open;
Résultat: = expr + '=' + Qury.FieldByName ('Result'). Asstring;
Enfin
query.refree;
fin;
fin;
Procédure tfrmCalc.Button1Click (expéditeur: tobject);
Commencer
essayer
edit1.text: = calcexpr (edit1.text);
sauf
sur h: l'exception commence
ShowMessage (H.Message);
fin;
fin;
fin;
Procédure tfrmCalc.edit1KeyPress (expéditeur: tobject; clé var: char);
Commencer
si key = # 13 alors boutons1Click (self);
fin;
fin.
Résumé: À partir de cela, nous pouvons voir qu'il existe deux méthodes pour attraper des exceptions. Ces deux méthodes de capture des exceptions sont différentes et chacune a ses propres utilisations.
Essayez ... Sauf que ... l'extrémité est généralement utilisée lorsque nous devons prendre l'erreur et faire des invites correspondantes une fois qu'une certaine méthode a été appelée. Par exemple, lors de l'appel d'une fonction qui calcule une expression dans le programme ci-dessus, la fonction qui calcule une expression est susceptible de lancer une exception, donc lors de l'appel, il doit attraper son exception, faire des invites correspondantes ou effectuer un traitement ultérieur connexe pour éviter d'éviter Il provoque des erreurs du système et affecte la beauté de l'interface du programme. Si nous signalons simplement une erreur, nous pouvons simplement écrire l'invite correspondante pour signaler une erreur au milieu de l'expression de ... fin. Si vous voulez voir quel type d'erreur est, vous devez suivre la pratique ci-dessus pour assister à l'erreur.
Essayez ... Enfin ... la fin est généralement utilisée pour effectuer des opérations connexes après avoir alloué une certaine ressource. Avec la déclaration d'essai ... Enfin ... nous pouvons placer complètement l'instruction d'opération dans Try ... Enfin après avoir alloué les ressources, et imaginez que cela peut être exécuté complètement en douceur. hors de ce cercle et entrez enfin sans l'exécuter en séquence. Enfin ... Fin, nous pouvons effectuer des travaux de suivi, tels que la libération des ressources allouées à l'époque, car peu importe si ce qui précède est exécuté en douceur ou lors de la rencontre des exceptions, les déclarations ici seront exécutées.
On peut voir que l'instruction ci-dessus est définie pour attraper des exceptions, et la déclaration suivante est définie pour l'allocation des ressources, mais certains amis disent, que devons-nous faire si nous voulons prendre des exceptions et récupérer les ressources? Malheureusement, Borland n'a pas essayé ... sauf ... enfin ... terminer.
En bref, l'utilisation rationnelle des cours d'exception peut réduire considérablement notre programmation et rendre nos idées de programme plus claires. Le programme écrit est plus beau.