Auteur : Gao Sumei
Un moyen simple de configurer les moteurs de données (BDE, SQL Link)
Lorsque le programme de base de données est distribué, le moteur de données (BDE, SQL Link) doit être transporté et une fois le programme installé sur le client, le moteur de données doit être configuré, tel que le nom d'utilisateur (nom d'utilisateur), le mot de passe (Mot de passe) , etc. Si une configuration manuelle est requise, la charge de travail sera relativement importante. À ce stade, nous pouvons utiliser InstallShield For Delphi pour implémenter facilement la configuration. Lorsque vous utilisez InstallShield For Delphi pour créer un programme d'installation, il existe un fichier texte *.iwz dans le répertoire où le programme d'installation est généré. Il vous suffit de l'ajouter manuellement au fragment [IDAPI Alias]. Par exemple:
[Alias IDAPI]
nom d'utilisateur = SYSDBA
mot de passe = clé principale
Après avoir installé le programme, le moteur de données est automatiquement configuré.
Comment créer une bande de boutons rapide
Chaque bouton graphique de la barre de boutons rapides représente une fonction couramment utilisée. Dans le même temps, la taille de ces boutons graphiques est plus grande que celle des icônes ordinaires. Des graphiques plus grands et plus vifs peuvent être placés, et même des invites courtes peuvent être jointes. très utile pour les utilisateurs qui souhaitent exécuter les fonctions les plus couramment utilisées. Pour les raisons ci-dessus, de plus en plus d'applications Windows adoptent des bandes de boutons rapides pour améliorer l'interface de l'application. Lors de la programmation dans Delphi, l'auteur utilise deux méthodes différentes pour implémenter une barre de boutons rapide. Cet article combine un exemple de création d'une barre de boutons rapide avec deux groupes de six boutons et répertorie les étapes de conception spécifiques de ces deux méthodes.
1. Méthode de génération de combinaison
(1) Placez un objet Panel1 sur le formulaire comme support du bouton graphique.
(2) Définissez l'attribut Caption de Panel1 sur vide, l'attribut Align sur alTop et ajustez sa hauteur à la taille appropriée.
(3) Placez six boutons SpeedButton sur Panel1 (SpeedButton est sélectionné car il a des caractéristiques flottantes).
(4) Placez deux objets Bevel sur Panel1 et ajustez leur position et leur taille pour séparer les groupes de boutons.
(5) Ajustez la taille et la position de SpeedButton1 dans Panel1.
(6) Sélectionnez SpeedButton1 et définissez sa propriété Flat sur True.
(7) Cliquez sur le petit bouton points de suspension correspondant à l'attribut Glyph de SpeedButton1, ouvrez la fenêtre PictureEditor, et sélectionnez une icône symbolisant « requête ». Définissez la propriété ShowHint sur True et la propriété Hint sur « Query ».
(8) Suivez les étapes (5) à (7) pour définir les propriétés des boutons SpeedButton restants.
De cette façon, une bande de boutons rapide est complétée. Lors de l'exécution, les boutons rapides s'affichent de manière flottante. Lorsque la souris est déplacée sur eux, le contour du bouton s'affiche et une petite invite s'affiche.
2. Emprunter la méthode de génération ToolBar
(1) Placez un objet ToolBar1 sur le formulaire.
(2) Définissez les propriétés EdgeBorders.ebLeft, ebTop, ebRight et ebButtom de ToolBar1 sur True ; la propriété Flat sur True ; ajustez la taille de ToolBar1 à la taille appropriée.
(3) Sélectionnez ToolBar1, cliquez avec le bouton droit sur le menu rapide, cliquez respectivement sur NewButton et NewSeparator pour ajouter six boutons ToolButton et deux lignes de séparation.
(4) Sélectionnez n'importe quel bouton ToolButton et ajustez sa taille à la taille appropriée. Tous les ToolButtons seront également ajustés en même temps.
(5) Définissez la propriété BorderWidth de ToolBar1 sur 3 pour ajuster la position de ToolButton.
(6) Placez un objet ImageList1 sur le formulaire et définissez les valeurs de ses propriétés Hauteur et Largeur pour accueillir des images de plus grande taille.
(7) Double-cliquez sur ImageList1 et chargez respectivement six images via le bouton "Ajouter", correspondant aux six ToolButtons de ToolBar1.
(8) Définissez la propriété Images de ToolBar1 sur ImageList1.
(9) Définissez l'attribut ShowHint des six ToolButtons sur True et définissez leurs petits attributs d'invite respectifs Hint.
(10) Vous pouvez également définir les HotImages de ToolBar1 pour spécifier l'image définie lorsque la souris pointe sur le bouton.
La barre de boutons rapides implémentée à l'aide de ToolBar est similaire en apparence à celle créée par la première méthode.
Les deux méthodes ci-dessus peuvent implémenter une barre de boutons rapide, mais chacune a ses propres avantages : le premier processus de conception est relativement simple ; la seconde méthode fournit plus de fonctions, comme l'utilisation de HotImages pour spécifier l'image définie lorsque la souris pointe sur le bouton ; . Les lecteurs souhaiteront peut-être en choisir un et continuer à améliorer ses fonctions.
Comment créer une table temporaire
La saisie de données est une partie inévitable du développement de programmes de bases de données. Dans la structure Client/Serveur, le client peut avoir besoin de saisir un lot de données, puis de le soumettre à la base de données principale du serveur. Cela nécessite qu'une table de données temporaire soit établie localement (client) pour stocker les données saisies par l'utilisateur après. soumission, il sera effacé du tableau de données locales. Les avantages de cette méthode sont les suivants : améliorer l’efficacité des entrées et réduire la charge du réseau.
Étant donné que la quantité de données saisies simultanément par les utilisateurs est généralement faible (pas plus de quelques centaines d'enregistrements), la table temporaire peut être établie en mémoire, ce qui entraîne un traitement plus rapide. Il existe deux manières de créer une table temporaire :
1. Utilisez le contrôle de requête pour créer une table temporaire
Étape 1 : placez le contrôle de requête (TQuery) sur le formulaire et configurez la table de données connectée.
Étape 2 : Ajoutez l'instruction suivante :
TQuery.CachedUpdates=True ;
TQuery.RequestLive=True.
Étape 3 : Ajoutez une sous-instruction Where après l'instruction SQL d'origine. Il est nécessaire que le résultat de la requête SQL soit vide après l'ajout de cette sous-instruction Where.
Par exemple:
SELECT Biolife."Numéro d'espèce", Catégorie, Nom_commun, Biolife."Nom de l'espèce", Biolife."Longueur (cm)", Longueur_In, Notes, Graphique
DE "biolife.db" Biovie
où Biolife.Category=′A′ et Biolife.Category=′B′
De cette façon, la table temporaire est créée.
2. Utilisez le code pour créer une table temporaire
Le code fonction est le suivant :
fonction CreateTableInMemory (const AFieldDefs:TFieldDefs) :
TDataSet ;
var TempTable:TClientDataSet;
commencer
TempTable :=néant ;
Résultat :=nul ;
si AFieldDefs〈〉nil alors
commencer
essayer
TempTable:=TClientDataSet.Create(application);
TempTable.FieldDefs.Assign(AFieldDefs);
TempTable.CreateDataSet ;
Résultat :=(TempTable en tant que TDataSet);
Sauf
si TempTable〈〉nil alors TempTable.Free ;
Résultat :=nul ;
augmenter;
fin
fin
fin;
Appelez-le dans le programme comme suit :
PRécédure TForm1.Button1Click(Expéditeur : TObject);
var ADataSet:TDataSet;
commencer
ADataSet:=TDataSet.Create(Self);
avec ADataSet.FieldDefs faire
commencer
Ajouter(′Nom′,ftString,30,False);
Ajouter(′Valeur′,ftInteger,0,False);
fin;
avec DataSource1 faire
commencer
DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
DataSet.Open;
fin;
ADataSet.Free;
fin;
De cette façon, la table temporaire est créée.
La méthode 1 est simple à utiliser, mais en raison de l'utilisation de contrôles de requête, la base de données principale du serveur doit être interrogée lors de l'effacement des données, la vitesse est donc légèrement plus lente et elle ne convient pas aux situations où chaque champ de la table temporaire est composé de champs provenant de plusieurs tables de données. La méthode 2 a un large éventail d’applications et est rapide, mais nécessite l’écriture de code.
Utilisation des fonctions dans la base de données InterBase
Lorsque les programmeurs utilisent InterBase comme base de données principale, ils le trouvent souvent peu pratique à utiliser car il fournit trop peu de fonctions (seulement quatre), ce qui rend impossible l'écriture facile de procédures stockées complexes. InterBase lui-même ne peut pas écrire de fonctions, mais il peut utiliser des fonctions externes (appeler des fonctions dans la DLL). L'exemple suivant montre comment déclarer la fonction SUBSTR dans InterBase.
DÉCLARER LA FONCTION EXTERNE SUBSTR
CSTRING(80), PETIT INT, PETIT INT
RETOURNE CSTRING(80)
ENTRY_POINT "IB_UDF_substr" MODULE_NAME "ib_udf"
Parmi eux : MODULE_NAME est le nom de la DLL et ENTRY_POINT est le nom de la fonction.
Il peut être utilisé après déclaration, par exemple :
sélectionnez SUBSTR (pays)
du pays
Cet exemple utilise la base de données IBLocal fournie avec l'installation de Delphi. Les utilisateurs peuvent également écrire leurs propres fonctions pour développer InterBase.