Parce que Delphi adopte une approche véritablement entièrement orientée objet, le compilateur le plus rapide au monde aujourd'hui et une technologie de base de données de pointe, en particulier sa compatibilité totale avec l'API Windows et ses excellentes capacités de génération automatique de code... les gens l'ont constaté en peu de temps. Ces dernières années, Delphi s'est démarqué parmi de nombreux outils de développement ! Ce sont les nombreuses excellentes qualités de Delphi qui permettent aux programmeurs de développer des logiciels d'application de niveau professionnel en peu de temps, tout en effectuant très peu de travail !
Comme le dit le proverbe, améliorons-nous ! Comment tirer pleinement parti des avantages de Delphi pour concevoir des programmes plus rapidement ?
1. Profitez pleinement du partage complet de code (Jubang) :
Le but n’est pas seulement d’être « paresseux », c’est aussi un moyen d’optimiser le code du programme. Bien sûr, la première chose à considérer est de savoir s'il peut être partagé (c'est très simple, voyez s'il est inclus dans la collection déroulante de l'événement), et la deuxième chose à laquelle il faut faire attention est de savoir s'il y aura " problème" après le partage, car l'exactitude est la première étape. Il n'est nécessaire de poursuivre l'optimisation que lorsqu'elle est garantie qu'elle est correcte !
Par exemple : nous donnons un message de confirmation avant que l'utilisateur ne supprime les données :
PRocédure TForm1.Table1BeforeDelete(DataSet : TDataSet);
commencer
//Confirmer la suppression de l'enregistrement
if MessageBox(handle,'Êtes-vous sûr de vouloir supprimer l'enregistrement actuel ?','Confirm',MB_IconQuestion+MB_YesNo)=IDNO alors
Avorter;
fin;
Ensuite, tant que vous souhaitez laisser l'utilisateur confirmer avant de supprimer l'enregistrement de données, vous pouvez partager complètement ce code dans l'événement TDataSet.BeforeDelete (BeforeDelete de Table2, BeforeDelete de Table3...). La chance n'arrive pas tous les jours, parfois ce n'est pas si direct et simple...
Le mot « As » est non seulement extrêmement utile en anglais, mais aussi en Delphi ! Cela entre en jeu lorsque l'on souhaite partager du code pour plusieurs composants « similaires » : il suffit d'écrire du code pour l'un d'entre eux.
Par exemple, si nous voulons que la couleur d'arrière-plan d'un groupe de zones d'édition de texte devienne marron lorsqu'elles reçoivent le focus d'entrée, et que la couleur du système soit restaurée lorsqu'elles perdent le focus, nous pouvons partager le code comme ceci (laisser les événements de chaque la zone d'édition de texte partage le code suivant) :
procédure TForm1.Edit1Enter(Expéditeur : TObject);
commencer
(Expéditeur en tant que TEdit).color:=ClTeal; //Obtenir le focus d'entrée
fin;
procédure TForm1.Edit1Exit(Expéditeur : TObject);
commencer
(Expéditeur en tant que TEdit).color:=ClWindow; //Focus d'entrée perdu
fin;
L'exemple ci-dessus semble un peu trop spécifique. Et si je n'accorde une attention particulière qu'à certains composants ? En reprenant toujours l'exemple ci-dessus, par exemple, il y a deux zones de saisie de texte qui nécessitent la saisie de chiffres. Afin d'attirer l'attention de l'utilisateur, la couleur passe au bleu lorsque le focus est reçu, mais je ne veux toujours pas écrire. code pour chaque composant séparément.
Pour résoudre ce problème, vous pouvez utiliser l'attribut Tag du composant. Tout d'abord, attribuez des Tags non nuls et inégaux aux composants à traiter spécialement (il faut noter que Delphi ne vérifiera pas si les valeurs des Tag sont égales, et vous devez le contrôler vous-même lors de la conception) ; puis écrivez le code comme suit, vous pouvez toujours le partager :
procédure TForm1.Edit1Enter(Expéditeur : TObject);
commencer
case (Expéditeur en tant que TEdit).Étiquette de
10,20:(Expéditeur en tant que TEdit).Color:=clBlue //Zone de texte pour saisir des chiffres
autre
(Expéditeur en tant que TEdit).Color:=clTeal; //Autres zones de texte
fin;
fin;
(Les remarques suivantes sont supposées être dans les conditions par défaut de Delphi)
1. Utilisez le mot-clé Soi :
Peut-être que quelqu'un pense que je me trompe ! En fait, ce que je veux vous présenter ici est un autre « truc » du « délinquant habituel » de l'auteur (en raison de sa mauvaise mémoire). Parfois, nous ne pouvons pas nous souvenir du nom exact du composant. À ce stade, si vous revenez au formulaire pour le confirmer à nouveau (la plupart de mes amis devraient être comme ça), ce serait un peu trop désolé pour le problème. Cela permet d'économiser du temps si vous utilisez Self, car Self dans Delphi fait explicitement référence au formulaire où se trouve le composant. Par conséquent, nous pouvons entrer Self suivi d'une virgule pour activer le code de Delphi. Une fois terminé, le système affichera immédiatement une liste déroulante contenant tous les composants du formulaire et les propriétés du formulaire lui-même, à partir de laquelle vous pourrez sélectionner les composants requis. De cette façon, la charge de travail liée au basculement entre les formulaires et les tableaux est évitée.
2. Utilisez la complétion de code (Code Completion) :
Nous n'avons plus besoin de mémoriser trop de détails sur les paramètres grâce à la fonction de remplissage de code de Delphi. Avant de l'expliquer en détail, je souhaite être un peu verbeux. Les touches de raccourci par défaut de la complétion de code de Delphi entreront en conflit avec certaines des touches de raccourci que nous avons utilisées (par exemple, Ctrl+Espace est en conflit avec les touches de raccourci pour l'ouverture et la fermeture. la méthode de saisie des caractères chinois). Veuillez donc d'abord résoudre ce problème.
Bien sûr, la complétion de code sera généralement activée automatiquement, mais ne pensez pas que tout ira bien. Je pense que Delphi devrait apprendre de VB pour cette technologie. Par exemple : lorsque vous entrez StrToint(edit1., Delphi n'affichera pas automatiquement les propriétés de edit1. À ce stade, vous utiliserez Ctrl+Espace pour activer la complétion du code. Surtout lorsque l'imbrication est profonde, Delphi semble confus. .
3. Utilisez les paramètres de code :
La touche de raccourci d'activation est Ctrl+Shift+Espace. Cette fonction est également automatiquement implémentée par Delphi. Comme mentionné ci-dessus, lorsque nous basculons ou déplaçons le curseur, cette fonction disparaît. Lorsque nous devons confirmer les paramètres spécifiques de la fonction, nous pouvons l'ouvrir avec cette touche de raccourci. .
4. Utilisez des modèles de code :
Cette technologie reflète une fois de plus la superbe technologie des ingénieurs de l'équipe de développement Delphi d'Inprise et leur noble caractère moral de toujours penser aux utilisateurs ! (Je ne veux tout simplement pas entendre parler d’une autre personne débauchée par Microsoft)
La touche de raccourci d'activation est Ctrl+J. Le mécanisme d'implémentation de cette fonction est similaire à celui du remplissage de code, sauf qu'il n'est pas automatique. Bien entendu, l'aspect le plus intéressant est que les utilisateurs peuvent définir leurs propres modèles. Par exemple, un modèle défini par l'auteur : raccourci -> "msg" code -> "MessageboxMessageBox(
handle,'|',',MB_Icon...+MB_...);", dès que j'entre msg et que j'appuie ensuite sur Ctrl+J, tout le code "se démarque" et déplace le curseur à l'endroit où Je devrais ajouter l'entrée, c'est trop cool !
Remarque : si vous avez défini vous-même de nombreux modèles mignons et que vous êtes réticent à les jeter, vous pouvez également sauvegarder le fichier Delphi32.dci dans le répertoire Delphi4Bin et l'écraser avec ce fichier après avoir réinstallé Delphi.
Ce sujet ne devrait pas être écrit ici, mais je ne peux pas m'empêcher...
1. Si vous pouvez utiliser l'observateur d'objet pour le définir directement sans affecter le fonctionnement normal du programme, il n'est pas nécessaire d'écrire du code :
Ce sujet étant trop vaste, voici juste un exemple : par exemple, vous souhaitez implémenter des invites automatiques sur la barre d'état dans Delphi4 sans être trop "dur".
Condition "Hint", on n'a plus besoin de définir un processus (ShowMyHint(...)) comme avant, puis de l'initialiser là où le programme
Attribuez sa valeur à l'événement OnHin de Tapplication. Parce que définissez simplement la propriété AutoHint de la barre d'état sur True ! Bien sûr, il semble qu'elle ne puisse que
Affiché sur le premier panneau (c'est lorsqu'il n'y a pas de conditions trop « dures »). Bien sûr, reprochez-moi d'être verbeux, certains amis ne connaissent pas l'indice de Delphi.
Les attributs sont composés de deux parties. Ce n'est pas le lieu pour parler. Si vous êtes intéressé, veuillez vous rendre sur la page d'accueil personnelle de l'auteur www.zg169.net/~delphiok (qui vient d'être ouverte).
Zhang, il n'y a pas encore beaucoup de choses).
2. Enregistrez le code :
Si vous pouvez écrire moins de code, il n'est pas nécessaire d'écrire plus de code. Si vous pouvez l'affiner, il n'est pas nécessaire d'être redondant :
Par exemple, les deux morceaux de code suivants implémentent exactement la même fonction. Quel morceau préférez-vous utiliser ?
Extrait de code 1 :
si ToolButton1.Down=true alors
commencer
Dbgrid1.show;
DelBtn.Enabled:=true;
fin
autre
commencer
Dbgrid1.Hide ;
DelBtn.Enabled:=false;
fin;
Extrait de code deux :
Dbgrid1.Visible:=ToolButton1.Down;
DelBtn.Enabled:=ToolButton1.Down;
Par conséquent, une fois que nous avons fini d'écrire le programme, nous ne devons pas seulement poursuivre l'ajustement du programme, mais également frire le code du programme.
3. Enregistrez les variables :
Certains programmeurs définissent des variables là où elles ne sont pas nécessaires et définissent des variables redondantes là où elles sont nécessaires. Personnellement, je pense que ce n'est pas bon.
Les habitudes, notamment celle de définir des variables globales à chaque instant, sont encore plus discutables. Certains lecteurs peuvent penser que je suis un avare. Les vitesses des processeurs d’aujourd’hui sont faibles.
Quelle époque sommes-nous... Mais je vais simplement vous montrer un bout de code et vous comprendrez :
procédure TForm1.Button1Click(Expéditeur : TObject);
Var s1,s2 : Chaîne ;
commencer
s1:=Inputbox('data','Veuillez entrer le nom d'utilisateur',');
si s1<>' alors
commencer
Btn_Name.Enabled:=True ;
s2:=Inputbox('data','Veuillez saisir l'adresse de l'utilisateur',');
si s2<>' alors
Btn_Adress.Enabled:=True ;
fin;
fin;