Wenn es um die Berechnung mathematischer Ausdrücke geht, haben verschiedene Menschen ihre eigenen Ansätze. Einige verwenden die Methode zur Analyse der Ausdrücke. Wenn der Ausdruck einen Fehler aufweist, kann auch ein Dialogfeld angezeigt werden, um den entsprechenden Fehler anzuzeigen. Dieses Programm verwendet Standard -SQL -Anweisungen, die viele Operationen unterstützen, z. Es gibt auch String -Operationen, aber das macht keinen Sinn. Da dieses Programm dem oben genannten Zweck übereinstimmt, gibt es keine Einschränkungen auf diese. Interessierte Freunde können die Syntax des Ausdrucks im Voraus überprüfen und dann dieses Programm zur Berechnung übergeben.
{
Alle Rechte vorbehalten.
Projekt: Berechnung mathematischer Ausdrücke
Autor: huang tao [email protected]
Zweck: Erfahren Sie, wie Sie Ausnahmegementen verwenden
}
Einheit ucalcexpr;
Schnittstelle
Verwendung
Fenster, Nachrichten, Systeme, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Dialoge, STDCTRLS, DB, ADODB;
Typ
Tfrmcalc = class (tform)
Button1: Tbutton;
Edit1: tedit;
PROCEDURE Taste1Click (Absender: Tobject);
Procedure Edit1Keypress (Absender: Tobject; var key: char);
Privat
{Private Deklarationen}
öffentlich
{Öffentliche Erklärungen}
Ende;
Funktion Calcexpr (EXPR: String): String;
var
frmcalc: tfrmcalc;
Durchführung
{$ R *.dfm}
// Dies ist der Kern dieses Programms, und es hängt davon ab, Ausdrücke zu berechnen.
Funktion calcexpr (expr: string): string;
var Abfrage: Tadodataset;
Beginnen
Qury: = tadodataset.create (nil);
versuchen
qury.ConnectionString: = 'Provider = msdasql.1; Persist -Sicherheitsinfo = False;' +
'Data Source = DBase -Dateien';
qury.Commandtext: = 'select' + expr + 'als Ergebnis';
Qury.open;
Ergebnis: = expr + '=' + qury.fieldbyName ('Ergebnis'). Assstring;
Endlich
query.free;
Ende;
Ende;
procedure tfrmcalc.button1click (Absender: tobject);
Beginnen
versuchen
edit1.text: = Calcexpr (edit1.text);
außer
Auf H: Ausnahme beginnen
ShowMessage (H.Message);
Ende;
Ende;
Ende;
Prozedur tfrmcalc.edit1Keypress (Absender: Tobject; var key: char);
Beginnen
wenn key = #13 dann button1click (self);
Ende;
Ende.
Zusammenfassung: Wir können zwei Methoden zum Fangen von Ausnahmen gibt. Diese beiden Methoden zum Fangen von Ausnahmen sind unterschiedlich und jeder hat seine eigenen Verwendungen.
Versuchen Sie ... außer ... Ende wird im Allgemeinen verwendet, wenn wir den Fehler aufnehmen und entsprechende Eingabeaufforderungen erstellen müssen, nachdem eine bestimmte Methode aufgerufen wurde. Wenn Sie beispielsweise eine Funktion aufrufen, die einen Ausdruck im obigen Programm berechnet, ist die Funktion, die einen Ausdruck berechnet, wahrscheinlich eine Ausnahme. Wenn Sie also aufrufen, müssen Sie seine Ausnahme erfassen, entsprechende Eingabeaufforderungen erstellen oder eine verwandte nachfolgende Verarbeitung durchführen, um sie zu vermeiden, um sie zu vermeiden Es verursacht Systemfehler und beeinflusst die Schönheit der Programmoberfläche. Wenn wir einfach einen Fehler melden, können wir einfach die entsprechende Eingabeaufforderung schreiben, um einen Fehler in der Mitte außer ... Ende zu melden. Wenn Sie sehen möchten, welche Art von Fehler ist, müssen Sie der obigen Praxis befolgen, um den Fehler zu fangen.
Versuchen Sie ... Endlich wird das Ende nach der Zuweisung einer bestimmten Ressource verwendet. Mit dem Versuch ... endlich ... können wir die Operationserklärung vollständig in den Versuch einstellen ... nach der Zuweisung von Ressourcen und vorstellen, dass dies vollständig reibungslos ausgeführt werden kann. Aus diesem Kreis heraus und schließlich eingeben, ohne ihn nacheinander auszuführen. Endlich ... Ende können wir einige Nacharbeiten durchführen, z. B. die zu diesem Zeitpunkt zugewiesenen Ressourcen, denn unabhängig davon, ob das oben genannte reibungslos ausgeführt wird oder wenn sie Ausnahmen begegnen, werden die Aussagen hier ausgeführt.
Es ist zu erkennen, dass die obige Erklärung für Ausnahmen festgelegt ist und die folgende Erklärung für die Ressourcenzuweisung festgelegt ist. Einige Freunde sagen jedoch, was sollten wir tun, wenn wir Ausnahmen fangen und Ressourcen wiederherstellen möchten? Leider hat Borland keinen Versuch ... außer ... endlich ... enden, wenn Sie die oben genannten Ziele erreichen möchten, können Sie nur Nesting verwenden, aber das wird sehr unangenehm sein.
Kurz gesagt, der rationale Einsatz von Ausnahmeklassen kann unsere Programmierung erheblich verringern und unsere Programmideen klarer machen. Das geschriebene Programm ist schöner.