Autor: Gao Sumei
Einfache Möglichkeit zur Konfiguration von Daten-Engines (BDE, SQL Link)
Wenn das Datenbankprogramm verteilt wird, muss die Daten-Engine (BDE, SQL Link) übertragen werden, und nach der Installation des Programms auf dem Client muss die Daten-Engine konfiguriert werden, z. B. Benutzername (Benutzername), Passwort (PassWord). , usw. Wenn eine manuelle Konfiguration erforderlich ist, ist der Arbeitsaufwand relativ groß. Zu diesem Zeitpunkt können wir InstallShield für Delphi verwenden, um die Konfiguration einfach zu implementieren. Wenn Sie InstallShield für Delphi verwenden, um ein Installationsprogramm zu erstellen, gibt es eine *.iwz-Textdatei in dem Verzeichnis, in dem das Installationsprogramm generiert wird. Sie müssen sie nur manuell zum [IDAPI-Alias]-Fragment hinzufügen. Zum Beispiel:
[IDAPI-Alias]
Benutzername=SYSDBA
Passwort=Hauptschlüssel
Nach der Installation des Programms wird die Daten-Engine automatisch konfiguriert.
So basteln Sie schnell eine Knopfleiste
Jede Grafikschaltfläche in der Schnellschaltflächenleiste stellt eine häufig verwendete Funktion dar. Gleichzeitig sind diese Grafikschaltflächen größer als gewöhnliche Symbole und können sogar kurze Eingabeaufforderungen enthalten nützlich für Es ist hilfreich für Benutzer, die am häufigsten verwendeten Funktionen auszuführen. Aus den oben genannten Gründen verwenden immer mehr Windows-Anwendungen schnelle Tastenleisten, um die Anwendungsoberfläche zu verbessern. Beim Programmieren in Delphi verwendet der Autor zwei verschiedene Methoden, um eine Schnellschaltflächenleiste zu implementieren. Dieser Artikel kombiniert ein Beispiel für die Erstellung einer Schnellschaltflächenleiste mit zwei Gruppen von sechs Schaltflächen und listet die spezifischen Entwurfsschritte dieser beiden Methoden auf.
1. Methode zur Kombinationsgenerierung
(1) Platzieren Sie ein Panel1-Objekt als Träger des Grafik-Buttons auf dem Formular.
(2) Setzen Sie das Caption-Attribut von Panel1 auf leer, das Align-Attribut auf alTop und passen Sie seine Höhe auf die entsprechende Größe an.
(3) Platzieren Sie sechs SpeedButton-Schaltflächen auf Panel1 (SpeedButton ist ausgewählt, weil es schwebende Eigenschaften hat).
(4) Platzieren Sie zwei Bevel-Objekte auf Panel1 und passen Sie deren Position und Größe an, um die Schaltflächengruppen zu trennen.
(5) Passen Sie die Größe und Position von SpeedButton1 in Panel1 an.
(6) Wählen Sie SpeedButton1 aus und setzen Sie seine Eigenschaft Flat auf True.
(7) Klicken Sie auf die kleine Schaltfläche mit den Auslassungspunkten, die dem Attribut Glyph von SpeedButton1 entspricht, öffnen Sie das PictureEditor-Fenster und wählen Sie ein Symbol aus, das „Abfrage“ symbolisiert. Setzen Sie die Eigenschaft ShowHint auf True und die Eigenschaft Hint auf „Query“.
(8) Befolgen Sie die Schritte (5) bis (7), um die Eigenschaften der verbleibenden SpeedButton-Schaltflächen festzulegen.
Auf diese Weise ist eine schnelle Knopfleiste fertig. Beim Ausführen werden die Schnellschaltflächen schwebend angezeigt. Wenn die Maus darüber bewegt wird, wird der Schaltflächenumriss angezeigt und eine kleine Eingabeaufforderung angezeigt.
2. Leihen Sie sich die ToolBar-Generierungsmethode aus
(1) Platzieren Sie ein ToolBar1-Objekt auf dem Formular.
(2) Setzen Sie die Eigenschaften EdgeBorders.ebLeft, ebTop, ebRight und ebButtom von ToolBar1 auf True; passen Sie die Größe von ToolBar1 auf die entsprechende Größe an.
(3) Wählen Sie ToolBar1 aus, klicken Sie mit der rechten Maustaste auf das Schnellmenü und klicken Sie auf NewButton bzw. NewSeparator, um sechs ToolButton-Schaltflächen und zwei Trennlinien hinzuzufügen.
(4) Wählen Sie eine beliebige ToolButton-Schaltfläche aus und passen Sie deren Größe an. Alle ToolButtons werden gleichzeitig angepasst.
(5) Setzen Sie die Eigenschaft BorderWidth von ToolBar1 auf 3, um die Position von ToolButton anzupassen.
(6) Platzieren Sie ein ImageList1-Objekt im Formular und legen Sie die Werte seiner Eigenschaften „Height“ und „Width“ fest, um größere Bilder aufzunehmen.
(7) Doppelklicken Sie auf ImageList1 und laden Sie jeweils sechs Bilder über die Schaltfläche „Hinzufügen“, entsprechend den sechs ToolButtons in ToolBar1.
(8) Setzen Sie die Eigenschaft Images von ToolBar1 auf ImageList1.
(9) Setzen Sie das ShowHint-Attribut der sechs ToolButtons auf True und setzen Sie ihre jeweiligen kleinen Eingabeaufforderungsattribute auf Hint.
(10) Sie können auch die HotImages von ToolBar1 festlegen, um den Bildsatz anzugeben, wenn die Maus auf die Schaltfläche zeigt.
Die mit ToolBar implementierte Schnellschaltflächenleiste ähnelt im Aussehen der mit der ersten Methode erstellten.
Beide oben genannten Methoden können eine schnelle Schaltflächenleiste implementieren, aber jede hat ihre eigenen Vorzüge: Der erste Entwurfsprozess ist relativ einfach, die zweite Methode bietet mehr Funktionen, z. B. die Verwendung von HotImages, um den Bildsatz anzugeben, wenn die Maus auf die Schaltfläche zeigt . Leser möchten sich vielleicht für eines entscheiden und dessen Funktionen weiter verbessern.
So erstellen Sie eine temporäre Tabelle
Die Dateneingabe ist ein unvermeidlicher Bestandteil der Entwicklung von Datenbankprogrammen. In der Client/Server-Struktur kann der Client einen Datenstapel eingeben und ihn dann an die Backend-Datenbank des Servers senden. Dazu muss lokal (Client) eine temporäre Datentabelle erstellt werden, um die vom Benutzer eingegebenen Daten zu speichern. Es wird die lokale Datentabelle gelöscht. Die Vorteile dieser Methode sind: Verbesserung der Eingabeeffizienz und Reduzierung der Netzwerkbelastung.
Da die von Benutzern gleichzeitig eingegebene Datenmenge im Allgemeinen gering ist (nicht mehr als einige hundert Datensätze), kann die temporäre Tabelle im Speicher erstellt werden, was zu einer schnelleren Verarbeitung führt. Es gibt zwei Möglichkeiten, eine temporäre Tabelle zu erstellen:
1. Verwenden Sie die Abfragesteuerung, um eine temporäre Tabelle zu erstellen
Schritt 1: Platzieren Sie das Abfragesteuerelement (TQuery) im Formular und richten Sie die verbundene Datentabelle ein.
Schritt 2: Fügen Sie die folgende Anweisung hinzu:
TQuery.CachedUpdates=True;
TQuery.RequestLive=True.
Schritt 3: Fügen Sie nach der ursprünglichen SQL-Anweisung eine Where-Unteranweisung hinzu. Es ist erforderlich, dass das SQL-Abfrageergebnis nach dem Hinzufügen dieser Where-Unteranweisung leer ist.
Zum Beispiel:
SELECT Biolife
VON „biolife.db“ Biolife
wobei Biolife.Category=′A′ und Biolife.Category=′B′
Auf diese Weise wird die temporäre Tabelle erstellt.
2. Verwenden Sie Code, um eine temporäre Tabelle zu erstellen
Der Funktionscode lautet wie folgt:
Funktion CreateTableInMemory(const AFieldDefs:TFieldDefs):
TDataSet;
var TempTable:TClientDataSet;
beginnen
TempTable:=nil;
Ergebnis:=nil;
wenn AFieldDefs〈〉nil dann
beginnen
versuchen
TempTable:=TClientDataSet.Create(application);
TempTable.FieldDefs.Assign(AFieldDefs);
TempTable.CreateDataSet;
Ergebnis:=(TempTable als TDataSet);
Außer
if TempTable〈〉nil then TempTable.Free;
Ergebnis:=nil;
erheben;
Ende
Ende
Ende;
Rufen Sie es im Programm wie folgt auf:
PROzedur TForm1.Button1Click(Sender: TObject);
var ADataSet:TDataSet;
beginnen
ADataSet:=TDataSet.Create(Self);
mit ADataSet.FieldDefs tun
beginnen
Add(′Name′,ftString,30,False);
Add(′Value′,ftInteger,0,False);
Ende;
mit DataSource1 tun
beginnen
DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
DataSet.Open;
Ende;
ADataSet.Free;
Ende;
Auf diese Weise wird die temporäre Tabelle erstellt.
Methode 1 ist einfach zu verwenden, aber aufgrund der Verwendung der Abfragesteuerung muss beim Löschen von Daten die Hintergrunddatenbank des Servers abgefragt werden, sodass die Geschwindigkeit etwas langsamer ist und nicht für Situationen geeignet ist, in denen jedes Feld in der temporären Tabelle vorhanden ist bestehend aus Feldern mehrerer Datentabellen. Methode 2 hat ein breites Anwendungsspektrum und ist schnell, erfordert jedoch das Schreiben von Code.
Verwenden von Funktionen in der InterBase-Datenbank
Wenn Programmierer InterBase als Backend-Datenbank verwenden, empfinden sie die Verwendung oft als unbequem, da es zu wenige Funktionen (nur vier) bietet und es unmöglich macht, komplexe gespeicherte Prozeduren einfach zu schreiben. InterBase selbst kann keine Funktionen schreiben, kann aber externe Funktionen nutzen (Funktionen in der DLL aufrufen). Das folgende Beispiel zeigt, wie die SUBSTR-Funktion in InterBase deklariert wird.
EXTERNE FUNKTIONSUNTERSTR. DEKLÄRIEREN
CSTRING(80), SMALLINT, SMALLINT
Gibt CSTRING(80) zurück
ENTRY_POINT „IB_UDF_substr“ MODULE_NAME „ib_udf“
Darunter: MODULE_NAME ist der Name der DLL und ENTRY_POINT ist der Funktionsname.
Es kann nach der Deklaration verwendet werden, zum Beispiel:
Wählen Sie SUBSTR(Land)
aus dem Land
In diesem Beispiel wird die IBLocal-Datenbank verwendet, die mit der Delphi-Installation geliefert wird. Benutzer können auch ihre eigenen Funktionen schreiben, um InterBase zu erweitern.