La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam

L'article est écrit en termes d'analyse des programmes rédigés par de jeunes développeurs de notre groupe.

Définir correctement la séquence des composants de commutation

De nombreux utilisateurs, en particulier ceux qui travaillaient auparavant dans DOS, ont l'habitude de basculer entre les champs de saisie non avec une souris, mais à l'aide du clavier avec la touche Tab. De plus, il est beaucoup plus rapide que de mettre en évidence chaque champ de souris. Par conséquent, la procédure de commutation doit être exposée correctement. Cela concerne à la fois les composants de tous les composants de conteneurs (panneaux, groupbox et ils sont similaires) et des composants de conteneurs eux-mêmes, s'il y en a plusieurs.

La procédure de commutation des composants à l'intérieur du conteneur est définie par la propriété Taborder. Le premier devient un ingrédient actif dans lequel Taborder est égal à 0, deuxième de 1, etc., jusqu'à ce que tous les composants soient déplacés. En outre, le composant dispose d'une propriété TABSTOP indiquant si le composant recevra une focalisation lors de la mise sous tension de la touche TAB. Si vous devez interdire la commutation à n'importe quel composant, mettez TabStop \u003d False. Dans ce cas, passez à ce composant ne peut être qu'avec la souris.

Il existe des cas lorsque les utilisateurs utilisés pour passer à une clé donnée dans un programme, dans l'habitude, continuent de l'utiliser dans le reste. Souvent, cela se produit avec les utilisateurs de 1C, où la touche ENTER peut être utilisée pour passer par des champs de saisie. Eh bien, nous leur donnerons une telle opportunité dans nos programmes s'ils posent à ce sujet. Installez la propriété KeyPreview dans True et écrivez un gestionnaire d'événements enkeyPress:

Procédure tform1.formKeyPress (expéditeur: togject; clé var: char);
commencer.
Si ORD (clé) \u003d vk_return alors
Form1.selectiveControl, vrai, vrai);
finir;

Un tel gestionnaire fournit la transition par des éléments de forme lorsque vous appuyez sur la touche Entrée. Il convient de noter qu'une telle méthode ne fonctionnera pas avec les boutons, car En appuyant sur Entrée sur le bouton conduit à son appui, tout en appuyant sur onglet transmet la mise au point d'entrée sur celle du composant de séquence de commutation.

Boutons par défaut

Tous les mêmes utilisateurs s'habituent rapidement à cela dans les boîtes de dialogue Application, en règle générale, la touche Entrée peut confirmer votre choix et la touche ESC est annulée. Ne les décevons pas dans nos programmes, surtout que cela le faisait très simple. Pour une touche réactive pour entrer, définissez la propriété par défaut dans TRUE. Pour le bouton ESC réactif, définissez la propriété Annuler dans TRUE. Et c'est tout.

Oui ou non

Toutes les boîtes de dialogue, demandant des actions de l'utilisateur, doivent avoir au moins deux boutons: accusé de réception des actions et du refus (oui / non, sauvegarder / annuler, etc.). Le refus d'action peut être fermé avec la fenêtre [x] dans l'en-tête de la fenêtre. Il est inacceptable s'il n'y a qu'un seul bouton pour confirmer l'action et que la défaillance est supposée fermer la touche [x] dans l'en-tête, ou il n'y a aucune possibilité de refus. Cela confond l'utilisateur, provoquant une question logique: comment refuser?

Nous n'oublions pas non plus sur ce qui a été dit ci-dessus dans les boutons par défaut.

Toutes les boîtes de dialogue doivent ouvrir le centre de l'écran.

Au centre, et pas où ils ont été créés en mode de conception. Tout d'abord, c'est clairement, et deuxièmement, il élimine automatiquement le problème de la résolution d'écran différente de différents utilisateurs.

L'exception est effectuée si la boîte de dialogue n'est pas modérée et des résultats de l'utilisateur dans cette fenêtre, les modifications sont immédiatement survenues dans la fenêtre principale (par exemple, un filtrage de jeu de données, des graphiques redessinants, etc.).

La taille des fenêtres ne doit pas dépasser la taille de l'écran

Dans aucun cas. Cette disgrâce est lorsque une partie de la fenêtre sort derrière l'écran. Cette exigence Ne dépend pas de la résolution de l'écran de l'utilisateur, c'est-à-dire Des excuses comme "laissent placer plus de résolution" ne passent pas.

Changement de changement d'éléments de fenêtre

Les éléments de fenêtre doivent modifier correctement leurs dimensions ou se déplacer lorsque la taille de la fenêtre change, lors de la maximisation de la fenêtre et de la restauration de la fenêtre après avoir optimisé.

Tout est toujours visible

Une diminution de la taille de la fenêtre ne doit pas conduire à la disparition des éléments de fenêtre et il est souhaitable ne doit pas conduire à l'apparition de la barre de défilement (défileur) de la fenêtre elle-même. Vous pouvez limiter les dimensions minimales de la fenêtre afin que tous les éléments soient visibles et accessibles. S'il n'est pas possible de placer les composants afin que tout le monde puisse être vu dans la fenêtre, vous pouvez utiliser des signets (type Pagecontrol) pour diviser les composants en groupes. Les excuses sur la résolution de l'écran ne manquent pas.

Allusion partout, allusion toujours

Pour les boutons, en particulier sur les barres d'outils (type de barre d'outils), vous devez définir des invites (indice) de manière à ce qu'il soit toujours clair pourquoi vous avez besoin d'un ou d'un autre bouton.

Spectre de couleur

Ne peignez pas les composants sur le formulaire de toutes les couleurs de l'arc-en-ciel. Il pneu les yeux et disperser l'attention de l'utilisateur. Il n'a pas l'air "cool". La sélection des couleurs est utilisée dans le cas où l'attention de l'utilisateur doit être attirée par un élément particulier ou une partie spécifique de la fenêtre. Par exemple, peignez l'enregistrement rouge-rouge dans lequel des erreurs sont présentes ou, au contraire, la couleur vert clair de l'enregistrement, dont la vérification a été réussie.

Conclusion

Il existe une très bonne méthode qui vous permet de trouver les lacunes du programme en général et de l'interface en particulier. C'est simple: imaginez-vous sur le site de l'utilisateur et pendant une demi-heure, essayez de travailler comme cela fonctionne. Mieux encore mieux si votre utilisateur est à portée de main (par exemple, cela fonctionne dans la même organisation). Dans ce cas, asseyez-vous à côté de lui et mieux au lieu de lui et essayez de le faire fonctionner. Faire des données, modifiez-les, affichez des rapports, etc. Si vous ne savez pas comment faire correctement, demandez à votre utilisateur. Ne faites pas une ou deux opérations à un seul type, comme dans le mode de débogage et 20-30, ou encore plus différentes, de différentes manières. Oubliez quelque chose à entrer ou à entrer de manière incorrecte et à voir comment le programme y répondra. Vous verrez rapidement points faibles Votre programme.

L'auteur de l'article a automatiquement automatisé les travaux du Comité d'admission à l'Université et la première année de la mise en œuvre du programme pendant 3 à 4 heures par jour a passé dans la Commission d'admission, enregistrant les candidats, remplissant leurs données personnelles et leurs rapports émettrices sur des examens. Et dans le temps de travail restant fixé des erreurs et des lacunes. Croyez-moi, l'année suivante, il n'y a pratiquement aucun problème. De même, c'était également dans l'introduction d'un module de personnel.

Ainsi, rappelez-vous de la commodité de travailler pour les utilisateurs. Laissez-les être faciles et agréables de travailler avec vos programmes.

Créature interface L'utilisateur s'efforce de choisir à partir de la palette de composants nécessaire au programme Composant Delphi, les employés interface gestion aussi interface Afficher les informations et les transférer pour former suivi de la mise en page.

L'interface utilisateur créée par vous doit utiliser les éléments standard familiers aux utilisateurs et fournir une commodité maximale. Tout cela est finalement déterminé par un tel critère que l'efficacité de l'interface - le résultat maximal avec un effort minimal.
Principes de la création interface pratique Connu. Comme les principes les plus généraux lors de la création les interfaces des utilisateurs Trois dispositions principales peuvent être envisagées:

  1. Le programme devrait aider à effectuer la tâche et ne pas en devenir cette tâche.
  2. Lorsque vous travaillez avec le programme, l'utilisateur ne devrait pas se sentir comme un imbécile.
  3. Le programme devrait fonctionner afin que l'utilisateur ne considère pas l'ordinateur avec un imbécile.
Premier principe - C'est la soi-disant "transparence" de l'interface. L'interface utilisateur doit être intuitive, simple pour le développement et ne pas créer les problèmes d'utilisateur qu'il aura à surmonter dans le processus de travail. Utilisez la norme, sans composants de décoration excessive, utilisez les programmes de contrôle similaires habituels, utilisés, et vous obtiendrez des critères d'exécution. premier principe.

Deuxième principe réside dans la négligence des capacités intellectuelles des utilisateurs. Dans ma propre expérience, je sais que souvent les utilisateurs non seulement ne savent pas seulement travailler à l'ordinateur, mais ils ont simplement peur de prendre quoi que ce soit. Par conséquent, l'interface utilisateur doit être aussi amicale que possible.
De plus, les craintes des utilisateurs sont souvent justifiées, car le coût du programme, et l'ordinateur lui-même n'entraîne aucune comparaison avec le coût, par exemple, créé par des efforts de base de données à long terme. C'est pourquoi le programmeur lors de la création d'une interface de l'utilisateur doit toujours être intégré au programme "Protection contre le fou" - d'actions incorrectes et entrées par l'utilisateur de données incorrectes. Mais certains programmeurs sont trop friands de cette protection, le rendent trop gênant et, par conséquent, les travaux du programme ressemblent à la célèbre "étape à gauche, le pas à droite est considéré comme étant évasé"! Et le fait que le programmeur crée comme une solution au problème lui-même commence à créer des problèmes.
Pour la conformité deuxième principe Vous n'avez pas besoin de permettre au programme de "corriger" les actions de l'utilisateur et d'indiquer exactement comment agir, entraînant un cadre étroit. De plus, il ne devrait pas être trop emporté par la sortie des informations d'information-astuces, en particulier des dialogues, il distrait que l'utilisateur du travail. Et il est préférable de prévoir la possibilité d'éteindre les invites.

Troisième principe Il est de créer un programme avec les capacités «mentales» les plus strictes possibles. Malgré le développement rapide Équipement informatiqueMême les programmes généralisés ne peuvent être que très classiquement appelés l'intelligence artificielle. Ils interfèrent avec le travail de l'utilisateur, retirant des boîtes de dialogue avec des problèmes stupides, causant une ahurissement même dans les situations les plus simples. En conséquence, les utilisateurs des cœurs s'écrivent: "Eh bien, la stupide voiture"!
Je provoque personnellement une irritation de questions constantes de presque tous editeurs de texte Sur que le texte modifié ne soit pas pour préserver, bien que le texte initial et actuel ne diffère aucun symbole. Oui, j'ai recruté quelque chose, mais puis je retourne tout de retour, pourriez-vous vraiment ne pas comprendre! Je dois vérifier si je n'ai rien gâché.

Essayez d'adhérer aux règles suivantes:

Éléments d'interface standard
Utilisez la norme pour cet élément Composants d'interface. Après avoir rencontré votre programme, l'utilisateur ne perdra pas la connaissance du temps et commencera immédiatement à travailler - c'est l'un des signes d'un programme fabriqué par des professionnels.
Petite palette d'outils
Essayez d'utiliser peu de plusieurs composants. Et naturellement, en utilisant quelque part dans un endroit un seul composant standard, dans le même cas, appliquez-le également.
Même distance entre les contrôles
Positionnez les éléments d'interface à la même distance entre eux. Dispersé en tant que composants ont créé une sensation d'un produit non professionnalisé. Inversement, placement soigneusement vérifié sur la forme de boutons, commutateurs, drapeaux et autres composants qui composent l'interface - un signe de travail de qualité.
Taborder. "Dans le bon ordre
Taborder. - Il s'agit de la procédure de déplacement du curseur à l'écran par des éléments de contrôle lorsque vous appuyez sur la touche Languette.. Dans le programme correctement écrit, le curseur se déplace, après la logique des travaux de l'utilisateur avec le programme. Lors de la création du programme, le programmeur modifie souvent les composants, l'un supprime, d'autres ajoute au besoin. En conséquence, dans le programme fini, le curseur saute de forme chaotiquement. Après avoir terminé le programme, n'oubliez pas de configurer Taborder..
Sélection des polices
Les polices ne font que partir seuls seules. Delphi par défaut, les polices elles-mêmes conviennent à tout système où votre programme peut fonctionner. Utilisation séparée des polices uniquement pour mettre en surbrillance des éléments importants. Application kursiva et particulièrement employantquel utilisateur peut accepter le lien hypertexte - une mauvaise tonalité.
Sélection de fleurs
Quant aux couleurs des éléments de l'interface, aussi, comme dans le cas des polices, il est préférable de les laisser standard, par défaut. Delphi utilise la palette Système Windows et l'utilisateur en changeant de manière facilement configurer les couleurs pour lui-même.
Gouvernance alternative
Un programme fabriqué par des professionnels devrait pouvoir contrôler non seulement la souris, mais également du clavier. Il ne devrait y avoir aucune fonction disponible pour n'exécuter qu'avec la souris (dessin dans Éditeurs graphiques Ne compte pas!). Pour les caractéristiques les plus utilisées, des raccourcis sont fournis pour un appel rapide.
Interface de briques
Quant aux éléments spécifiques de l'invention utilisateur, la qualité de l'interaction utilisateur avec le programme dépend de:
  • la conformité du contrôle du problème effectué par eux;
  • règles pour lesquelles la fonction de contrôle fonctionne.
    Sur le cette page Les règles de création sont considérées certains éléments d'interface.
Et maintenant, je veux montrer quels outils propose Delphi pour contrôler les composants sur le formulaire, leur emplacement mutuel et leur comportement du curseur lorsque la touche est enfoncée. Languette..

Afin d'organiser les composants les uns par rapport à l'autre dans le bon ordre, d'abord il est nécessaire de les affecter. Vous pouvez simplement encercler la zone sur la forme dans laquelle les composants sélectionnés sont contenus. Ou tenir " Changement.", Spécifiez la même souris à attribuer au composant. Répété avec la souris sur le composant dédié (appuyant sur" Changement.") Le supprime.

Les composants dédiés peuvent être contrôlés sous forme d'entier unique - pour vous déplacer sous la forme, attribuer la valeur aux mêmes propriétés, copier (pour l'installation, par exemple à un autre formulaire), même supprimer.

Maintenant cliquez clic-droit L'un des composants et dans le menu "pop-up", sélectionnez Position -\u003e Aligner ... Une boîte de dialogue apparaît, ce qui vous permet de régler la position des composants dans le groupe horizontal et le groupe vertical. Par exemple, nous devons aligner nos quatre boutons sur le bord gauche et le faire, de manière à ce qu'elles soient la même distance verticale. Pour ce faire, mettez en surbrillance les chaînes radio Horizontal: côtés gauche et Vertikal: espace égal.

Sélection de l'élément CentreNous positionnons les composants de sorte que leurs centres soient situés sur la même ligne horizontale ou verticale, et élément Centre dans la fenêtre Déplace les composants au centre de la fenêtre, également horizontalement ou verticalement.

Dans la même ligne de menus Languette. O.rder ... Provoque l'apparence de la boîte de dialogue qui contrôle le passage du curseur par les éléments d'interface lorsque la touche est enfoncée. Languette.. Au moment du formulaire apparaissent à l'écran, le curseur sera naturellement sur le composant situé sur la première ligne de la boîte de dialogue. Et puis il va descendre la liste. Sur la boîte de dialogue "UP" de la flèche bleue "et" bas ", contrôlez la position du composant sélectionné. Sélectionnez le composant souhaité, déplacez les flèches sur la ligne souhaitée dans la liste, etc.

Lors du choix d'un élément de menu Contrôle -\u003e Le sous-menu apparaît, composé de deux points:

  • Mettre au premier plan
  • Envoyer au fond.
Ce sont des méthodes de composant disponibles également par programme. Bouton1.Sendtoback Déplace le bouton sur "Back Plan", et Bouton1.BeringtoFront. - mettre au premier plan". C'est-à-dire que si un composant est situé au-dessus de l'autre, ces méthodes les changent dans des endroits. Les cas dans lesquels il peut être utilisé est assez évident.

juste pour le résultat

respect du mal des délais

Transparence

l'exécution du projet

supports techniques en cadeau

Programmation, raffinement de consultation sur 1C

Comment nous travaillons

1. Discutez du problème par téléphone. En présence de accès à distance - Afficher l'écran de votre ordinateur.

2. Nous apprécions le travail en roubles, si le projet est grand, sinon, le nombre approximatif d'heures.

3. Nous travaillons.

4. Vous prenez un emploi dans votre programme s'il y a des lacunes que nous les corrigeons.

5. Nous exposons la facture, vous payez.

Coût du travail

1. Toutes les œuvres sont divisées en 3 catégories: consultation, mise à jour configuration typique, développement ou programmation d'un nouveau rapport, traitement, boutons, etc.

3. Le travail plus de 10 heures est préliminaire tâche technique avec description et coût du travail. Les travaux commencent après avoir accepté le TK avec vous.

Soutien technique

1. Si vous trouvez des erreurs dans des œuvres précédemment acceptées, dans les 3 mois, nous les corrigons gratuitement.

2. Clients permanents Toute lacune faite dans nos œuvres, correcte gratuitement au cours de l'année.

Programmes pour gérer votre entreprise.

Achetez 1C: Enterprise

Nous sommes le revendeur officiel de la société 1C, vous pouvez acheter divers logiciels et licences. En plus d'acheter une "case", nous vous aiderons à configurer le programme, nous allons consulter et apporter les paramètres de base.

  • Comptabilité
  • Automatisation des magasins
  • De gros
  • L'aide à l'installation et à la configuration initiale est incluse dans l'emballage!
  • Configurations de configuration subtiles pour les besoins du client, le développement de nouveaux modules en l'absence fonctions requises Dans la configuration standard.
Comptabilité 1C 1C: Gestion du commerce 1c: commerce de détail 1C: Gestion des salaires et du personnel
De 3300 roubles. De 6700 roubles. De 3300 roubles. De 7400 roubles.

Fournissant un serveur.

Server de configuration instantanée + 1C.

Aucun serveur? Ne dérange pas, ramasser et configurer rapidement le serveur dans le "nuage". Par frais Vous obtenez une solution très fiable.

  • Disponibilité 24 \\ 7
  • Pas besoin de garder votre propre administrateur du système (Les économies couvriront le coût de votre serveur).
  • Réglage rapide et installation de 1C sur le serveur, après 3 jours, vous aurez déjà un système entièrement de travail.
  • À tout moment, vous pouvez passer à autre chose serveur localSi la décision ne convient pas.

SMS de votre 1c

Vous voulez faire des clients lors des promotions, des réductions? Les clients ne sont pas retournés? Configurez-vous envoyer des SMS directement à partir de 1c!

Notre société sera en mesure de configurer SMS pour envoyer vos clients directement à partir de 1c. Exemples d'événements pouvant automatiser:

  • Merci pour l'achat et l'accumulation de bonus immédiatement après un autre achat.
  • Bonus d'accumulation sur une carte comme une fête d'anniversaire \\ à une autre journée importante ou festive.
  • Avis de réception des marchandises à l'entrepôt.
  • L'expiration des bonus cadeaux.
  • Notification de la réception du prépaiement et de la réserve de marchandises.
  • Adresse avec raffinement au magasin \\ Office, numéros de téléphone.
  • Etc.

Le réglage en 1C peut être fait par nos spécialistes ou leurs employés. Vous pouvez vous familiariser avec des tarifs sur la page Tarifs SMS.

  • Garantie de livraison SMS, l'argent n'est supprimé que pour les SMS livrés.
  • Charification séparée de chaque SMS.
  • Balance la réapprovisionnement de différentes manières.
  • Voir l'histoire de tous les SMS envoyés à tout moment.
  • Nom de l'expéditeur au lieu d'un numéro numérique dans le téléphone du destinataire.

Même et le plus fort programmation Delphi. C'est son architecture ouverte, grâce à laquelle Delphi permet une sorte de métaprogrammation, ce qui vous permet de programmer l'environnement de programmation. Cette approche traduit Delphes pour qualitativement nouveau niveau Systèmes de développement d'applications et vous permet d'intégrer des outils instrumentaux supplémentaires à ce produit prenant en charge la quasi-totalité des étapes de la création d'applications. Une telle gamme de fonctionnalités s'ouvre avec le concept d'interfaces soi-disant ouvertures implémentées dans Delphes lien de liant Environnement de développement intégré et outils externes.

Cet article est consacré aux interfaces Delphes Ouvrir et constitue un aperçu de leurs capacités. Delphi définit six interfaces ouvertes: interface d'outils, interface de conception, interface expert, interface de fichier, interface d'édition et interface de contrôle de version. Il est peu probable que, dans le cadre de cet article, nous aurions réussi à mettre en évidence en détail et à illustrer les possibilités de chacun d'eux. Comprenez plus en profondeur les problèmes en question, les textes source de Delphi vous aideront, le bénéfice des développeurs leur a fourni des commentaires déployés. Les annonces de classes représentant des interfaces ouvertes sont contenues dans les modules correspondants de l'annuaire ... \\ Delphi \\ Source \\ Toolsapi. Interface de conception (module DSGNTF.PAS) fournit des outils pour créer des éditeurs de propriétés et des éditeurs de composants.

Les éditeurs de propriétés et les composants sont un sujet digne d'une conversation séparée. Nous vous rappellerons donc que l'éditeur de propriétés contrôlent le comportement de l'inspecteur d'objets lors de la tentative de modification de la valeur de la propriété correspondante et que l'éditeur de composant est activé par le double. bouton gauche de la souris sur l'image du composant placé sur le formulaire. L'interface de contrôle de version (module VCSINTF.PAS) est conçue pour créer des systèmes de contrôle des versions. En commençant par la version 2.0, Delphi prend en charge un système de contrôle du système intégré pour les PVC Intersolv. Dans la plupart des cas, il n'est pas nécessaire de développer votre propre système. Pour cette raison, l'examen de l'interface de contrôle de version est également omis. Interface de fichier (module FileintF.PAS) vous permet de remplacer le système de fichiers de travail IDE, ce qui permet de sélectionner votre propre méthode de stockage de fichiers (dans les champs de mémo du serveur de base de données, par exemple). Modifier l'interface (ModuledInd Module) donne accès au tampon de texte source, ce qui vous permet d'analyser le code et de l'exécuter, de déterminer et de modifier la position du curseur dans la fenêtre Editeur de code et de gérer la sélection syntaxique du texte de la source. .

Les classes spéciales fournissent des interfaces à des composants placés sur la forme (détermination du type de composant, réception de références aux composants parent et enfant, accès aux propriétés, à la transmission de mise au point, à la suppression, etc.), au formulaire le plus et au fichier de ressources du projet. Modifier l'interface vous permet d'identifier les impressionneurs dits modulaires qui déterminent la réaction à des événements tels que la modification du texte source du module, la modification du formulaire, la résolution de la composante, la sauvegarde, le changement de nom ou la suppression du module, modifiant le fichier de projet de ressource, etc. . Interface d'outils (module ToolintF. PAS) fournit des outils de développeurs pour obtenir informations générales sur le statut de l'IDE et effectuer de telles actions telles que l'ouverture, l'épargne et la fermeture de projets et fichiers individuels, création d'un module, recevant des informations sur le projet en cours (nombre de modules et formes, leurs noms, etc.), l'enregistrement système de fichiers, organisation d'interfaces à des modules individuels, etc. Outre les notifications modulaires de l'interface d'outils, il définit les impatients complémentaires notifiant de tels événements comme des fichiers d'ouverture / de fermeture et de projets, de téléchargement et de sauvegarde de fichiers de bureau de projet, d'ajouter / exclure les modules de projet, des packages d'installation / de dégénérescence, de la compilation de projet et de la La différence entre les livres d'addition de notifications modulaires vous permettent d'annuler l'exécution de certains événements.

De plus, l'interface de l'outil fournit un accès au menu principal de l'IDE Delphi, vous permettant d'intégrer des éléments supplémentaires. L'interface expert (module ExpintF.PAS) est une base pour créer des experts - modules logiciels intégrés à l'IDE pour élargir ses fonctionnalités. À titre d'exemple d'expert, vous pouvez apporter l'assistant de formulaire de base de données DELPHI qui effectue la génération du formulaire pour la visualisation et la modification du contenu de la table de base de données. Ayant déterminé la classe d'un expert, il est nécessaire de veiller à ce que Delphi "a appris" sur notre expert. Pour ce faire, il doit être inscrit en appelant la procédure enregistreuseLibraryExpert en la transmettant comme une instance d'une classe d'experts. À titre d'illustration, nous créerons un simple expert de style Esstandard, qui, lors du choix de l'élément de menu Delphi qui correspond à celui-ci, affiche un message qu'il exécute. Comme on peut le voir de la table ci-dessus, le style Esstandard oblige à chevaucher six méthodes:

Pour que l'expert soit "activé", vous devez sélectionner l'élément de menu composant composant / installation, sélectionner un module dans la boîte de dialogue Parcourir, contenant un expert (dans notre cas EXMPL_01.PAS), cliquez sur OK et après la compilation de DCLUSR30. Package .DPK dans le menu principal, Delphi dans la section Aide doit apparaître un expert simple 1, lors de la sélection de laquelle apparaît. annonce "Un expert standard a commencé!". Pourquoi Delphi place un élément de menu expert dans la section Aide, reste un mystère. Si vous n'aimez pas ce que l'élément de menu apparaît où vous voulez Delphi, et non l'endroit où vous souhaitez que vous souhaitiez vous, l'option suivante est possible: Créez un expert de style add-in, qui élimine création automatique L'élément de menu et l'élément de menu Ajouter manuel à l'aide de l'interface de l'outil. Cela vous permettra de définir l'emplacement du nouvel élément dans le menu principal au hasard.

Pour ajouter l'élément de menu, la classe TooToolServices est utilisée - l'interface de base de l'outil - et les classes TimainMenuintf, TimenuitMintF, mettant en œuvre les interfaces à l'IDE Menu principal et à ses éléments. Testoolservices CLASS TITOOLSERVICES L'instance est créée par l'IDE elle-même lorsqu'elle est initialisée. Veuillez noter que la responsabilité de la libération d'interfaces avec le menu principal de Delphi et ses articles tombe sur le développeur. En termes de fonctionnement, la charge fonctionnelle de l'expert est légèrement complémentaire: lorsque vous activez votre élément de menu, cela donnera un certificat sur le nom du projet ouvert dans ce moment Mercredi: Dans cet exemple, la fonction Addidididididemenuiem est tenue, qui exerce l'élément de menu dans le menu principal de l'IDE Delphi. En tant que paramètres, il est transmis au texte du nouvel élément de menu, son identifiant, l'identificateur d'élément, avant lequel le nouvel élément est inséré, la présentation clé symbolique, qui, ainsi que la clé CTRL, peuvent être utilisées pour accès rapide À un nouvel élément et un gestionnaire d'événements correspondant à la sélection d'un nouvel article. Nous avons ajouté un nouvel élément de menu à la section Afficher devant l'élément de montres.

Maintenant, placons-nous avec les notifiants. Nous définissons la notifeur complémentaire, suivant des moments de projets de fermeture / ouverture et de corriger le champ en conséquence, ce qui stocke le nom du projet actif (mise en œuvre de méthodes qui ne subissaient pas de modifications par rapport à l'exemple TPRED, pour une brièveté à la baisse): Implémentez un notificateur, nous avons défini la classe Taddinnnotiner, qui est un tiaddinnotinant descendant et bloqué la méthode de filénotification. L'IDE appellera cette méthode à chaque fois qu'un événement se produit, capable de réagir une notification ad-in in-in (chaque événement de ce type est noté par la constante de type TFilentication correspondante). Le champ d'experts de la classe Taddinnotinante sert pour rétroaction avec un expert (taddinnotfier.filentiment). Dans le destructeur d'experts, l'enregistrement d'un notifiant est supprimé et le notifiant est détruit. Et maintenant, nous illustrerons l'utilisation de notificateurs modulaires. Créons un expert en complément qui émet des messages sur chaque acte de sauvegarde d'un fichier de projet (la mise en œuvre de méthodes déjà familières de la brièveté n'est pas citée): Dans cet exemple, l'expert complémentaire surveille les événements qui répondent à l'ouverture / fermeture des projets.

Chaque fois que le projet est découvert, un notifiant modulaire correspondant au fichier de projet est enregistré. En termes de mise en œuvre, les impressionnants modulaires sont similaires aux livres complémentaires: nous définissons la classe TModulénotifiant, qui est un descendant du timodulénotificateur et qui a chevauché ses méthodes de notification et de composantes. IDE appelle la méthode de notification lorsque certains événements liés à ce module se produisent; À l'intérieur de cette méthode, la réaction à un événement particulier est déterminée. La méthode du composantRenamed est appelée lors de la modification du nom du composant couché sur le formulaire de module. Veuillez noter que nous n'utilisons pas cette méthode, mais ils doivent le bloquer, sinon lors de la modification du nom du composant, seront contestés avec une méthode de classe de base abstraite, ce qui entraîne des conséquences imprévisibles.

L'enregistrement d'une notification modulaire est un processus un peu plus complexe par rapport à l'enregistrement du complément du notifiant: nous obtenons d'abord l'interface de module (TimoduleInterface), puis à l'aide de l'interface de module, enregistrez-vous un notifiant. Lorsque le projet est fermé, l'enregistrement d'une notification modulaire est supprimé (à nouveau à l'aide de TimoduleInterface) et le notifiant est détruit. En conclusion, nous montrerons comment vous pouvez définir la position du curseur dans la fenêtre de l'éditeur de code. Créez un expert qui, lors du choix de l'élément de menu approprié, je donnerais un message contenant le nom du fichier actif et la position du curseur (la mise en œuvre de l'essentiel pour cet exemple Méthodes): Pour déterminer la position du curseur, nous devons obtenir la séquence d'interface suivante: interface modulaire (TimoduleInterface); Interface de l'éditeur de code (Tieditorinterface); Interface de représentation du module dans la fenêtre de l'éditeur (TieditView).

Si, lorsque vous sélectionnez l'élément de menu Expert, le fichier source est actif (* .pas), puis un message contenant le nom du fichier actif et la position actuelle du curseur de celui-ci est émise. Si un actif n'est pas un fichier PAS, le message n'est pas délivré. Pour obtenir le nom du fichier actif, utilisez la méthode GetCurrentFile de la classe TattoolServices. À cette fin, la prise en compte des moyens d'utiliser des interfaces ouvertes. CD-ROM contient les textes source de tous les exemples donnés. Le CD-ROM contient également un exemple plus complexe et plus détaillé contenant l'expert en complément, permettant à l'utilisateur de bookmarks dans le texte source des modules DELPHI. Résumé L'installation et l'utilisation des signets d'experts sont contenues dans le fichier BKMRKS97.HTM. Donc, dans cet article, les interfaces ouvertes sont considérées en termes généraux et des exemples de leur utilisation sont donnés. Une fois encore, nous répétons: grâce à la présence de textes source d'interfaces ouvertes, vous pouvez facilement comprendre les détails de votre intérêt. Nous espérons que la diversité des opportunités fournies par des interfaces ouvertes, vous n'avez aucune idée audacieuse et utile.

La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam