DIE KLINGEL

Es gibt diejenigen, die diese Nachrichten vor Ihnen lesen.
Abonnieren Sie, um die neuesten Artikel zu erhalten.
Email
Name
Nachname
Wie willst du The Bell lesen?
Kein Spam

Der Artikel basiert auf den Ergebnissen der Analyse von Programmen, die von jungen Entwicklern unserer Gruppe verfasst wurden.

Ordnen Sie die Reihenfolge der Schaltkomponenten richtig an

Viele Benutzer, insbesondere diejenigen, die zuvor unter DOS gearbeitet haben, haben die Angewohnheit, nicht mit der Maus, sondern mit der Tastatur mit der Tabulatortaste zwischen Eingabefeldern zu wechseln. Außerdem ist es viel schneller als jedes Feld mit der Maus auszuwählen. Daher muss die Reihenfolge der Schaltkomponenten korrekt eingestellt werden. Dies gilt sowohl für Komponenten in allen Containerkomponenten (Bedienfelder, Gruppenboxen usw.) als auch für die Containerkomponenten selbst, wenn sich mehrere davon im Formular befinden.

Die Reihenfolge des Umschaltens von Komponenten innerhalb des Containers wird durch die TabOrder-Eigenschaft festgelegt. Die erste wird zur aktiven Komponente, deren TabOrder 0 ist, die zweite mit 1 usw., bis alle Komponenten aufgelistet sind. Darüber hinaus verfügt die Komponente über eine TabStop-Eigenschaft, die angibt, ob die Komponente beim Umschalten mit der Tabulatortaste den Fokus erhält. Wenn Sie das Wechseln zu einer Komponente verbieten müssen, setzen Sie TabStop \u003d false. In diesem Fall können Sie nur mit der Maus zu dieser Komponente wechseln.

Es gibt Zeiten, in denen Benutzer, die es gewohnt sind, einen bestimmten Schlüssel in einem Programm aus Gewohnheit zu wechseln, ihn weiterhin in anderen Programmen verwenden. Dies ist häufig bei 1C-Benutzern der Fall, bei denen die Eingabetaste zum Navigieren durch die Eingabefelder verwendet werden kann. Lassen Sie uns ihnen diese Gelegenheit in unseren Programmen geben, wenn sie danach fragen. Setzen Sie die KeyPreview-Eigenschaft des Formulars auf true und schreiben Sie einen Ereignishandler für das OnKeyPress-Ereignis:

Prozedur TForm1.FormKeyPress (Absender: TObject; var Key: Char);
start
wenn ord (key) \u003d vk_Return dann
Form1.SelectNext (PriemForm.ActiveControl, true, true);
ende;

Ein solcher Handler ermöglicht die Navigation durch die Formularelemente, wenn die Eingabetaste gedrückt wird. Es ist zu beachten, dass diese Methode nicht mit Schaltflächen funktioniert, da Durch Drücken der Eingabetaste auf einer Taste wird diese gedrückt, während durch Drücken der Tabulatortaste der Eingabefokus auf die nächste Komponente in der Umschaltsequenz übertragen wird.

Standardschaltflächen

Dieselben Benutzer gewöhnen sich schnell daran, dass Sie in Anwendungsdialogfeldern Ihre Auswahl in der Regel mit der Eingabetaste bestätigen und mit der Esc-Taste abbrechen können. Lassen Sie uns sie in unseren Programmen nicht enttäuschen, zumal es sehr einfach ist. Setzen Sie für eine Schaltfläche, die auf Enter reagiert, die Standardeigenschaft auf true. Setzen Sie für eine Schaltfläche, die auf Esc reagiert, die Cancel-Eigenschaft auf true. Und alle.

Ja oder Nein

Alle Dialogfelder, in denen Benutzeraktionen angefordert werden, müssen mindestens zwei Schaltflächen enthalten: Bestätigen Sie die Aktion und brechen Sie die Aktion ab (Ja / Nein, Speichern / Abbrechen usw.). Das Abbrechen einer Aktion kann durch Schließen des Fensters mit der Schaltfläche [X] im Fenstertitel erfolgen. Es ist nicht akzeptabel, wenn es nur eine Schaltfläche gibt, um die Aktion zu bestätigen, und wenn es abgelehnt wird, soll das Fenster mit der Schaltfläche [X] in der Kopfzeile geschlossen werden, oder es gibt überhaupt keine Möglichkeit der Ablehnung. Dies verwirrt den Benutzer und wirft eine logische Frage auf: Wie kann man ablehnen?

Vergessen Sie auch nicht, was oben im Abschnitt "Standardschaltflächen" gesagt wurde.

Alle Dialogfelder sollten sich in der Mitte des Bildschirms öffnen

Zentriert, nicht dort, wo sie im Entwurfsmodus erstellt wurden. Erstens ist es klarer und zweitens wird das Problem unterschiedlicher Bildschirmauflösungen für unterschiedliche Benutzer automatisch beseitigt.

Eine Ausnahme wird gemacht, wenn das Dialogfeld nicht modal ist und aufgrund der Arbeit des Benutzers sofort Änderungen im Hauptfenster in diesem Fenster auftreten (z. B. Filtern des Datensatzes, Neuzeichnen von Diagrammen usw.).

Die Fenstergrößen sollten die Bildschirmgrößen nicht überschreiten

Auf keinen Fall. Dies ist eine Schande, wenn ein Teil des Fensters aus dem Bildschirm kriecht. Diese Anforderung hängt nicht von der Bildschirmauflösung des Benutzers ab, d.h. Ausreden wie "Lass sie mehr Erlaubnis bekommen" funktionieren nicht.

Richtige Größenänderung von Fensterelementen

Die Größe von Fensterelementen muss geändert oder korrekt verschoben werden, wenn die Größe des Fensters geändert wird, wenn das Fenster maximiert wird und wenn das Fenster nach dem Maximieren wiederhergestellt wird.

Alles ist immer sichtbar

Das Verringern der Größe des Fensters sollte nicht zum Verschwinden von Fensterelementen führen und sollte vorzugsweise nicht zum Erscheinen von Bildlaufleisten (Bildlaufleisten) des Fensters selbst führen. Sie können die Mindestgröße des Fensters so begrenzen, dass alle Elemente sichtbar und zugänglich sind. Wenn es nicht möglich ist, die Komponenten so zu platzieren, dass alle im Fenster sichtbar sind, können Sie die Komponenten mithilfe von Registerkarten (z. B. PageControl) in Gruppen unterteilen. Wir verpassen auch keine Ausreden über die Bildschirmauflösung.

Hinweise überall, Hinweise immer

Bei Schaltflächen, insbesondere in Symbolleisten (z. B. Symbolleisten), sollten Hinweise (Hinweis) festgelegt werden, damit immer klar ist, warum diese oder jene Schaltfläche benötigt wird.

Farbspektrum

Malen Sie die Komponenten nicht in allen Farben des Regenbogens auf das Formular. Dies ermüdet die Augen und lenkt die Aufmerksamkeit des Benutzers ab. Es sieht nicht cool aus. Die Hervorhebung wird verwendet, wenn der Benutzer auf ein bestimmtes Element oder einen bestimmten Teil des Fensters aufmerksam gemacht werden muss. Beispiel: Farbdatensätze in Hellrot mit Fehlern oder umgekehrt Hellgrün in Datensätzen, die erfolgreich überprüft wurden.

Fazit

Es gibt eine sehr gute Methode, mit der Sie die Fehler des Programms im Allgemeinen und der Benutzeroberfläche im Besonderen finden können. Es ist ganz einfach: Stellen Sie sich vor, Sie wären an der Stelle des Benutzers und versuchen eine halbe Stunde lang, so zu arbeiten, wie es funktioniert. Es ist sogar noch besser, wenn Ihr Benutzer in Reichweite ist (z. B. in derselben Organisation arbeitet). In diesem Fall setzen Sie sich neben ihn oder besser anstelle von ihm und versuchen Sie, seine Arbeit zu machen. Geben Sie Daten ein, ändern Sie sie, zeigen Sie Berichte an usw. Wenn Sie nicht wissen, wie Sie es richtig machen sollen, fragen Sie Ihren Benutzer. Führen Sie nicht ein oder zwei Operationen desselben Typs wie im Debug-Modus aus, sondern 20 bis 30 oder noch mehr verschiedene Operationen in einer anderen Reihenfolge. Vergessen Sie, etwas einzugeben oder falsch einzugeben, und sehen Sie, wie das Programm darauf reagiert. Sie werden schnell genug sehen schwachpunkte Ihr Programm.

Der Autor des Artikels automatisierte die Arbeit der Zulassungsstelle an der Universität und verbrachte im ersten Jahr der Einführung des Programms 3-4 Stunden am Tag in der Zulassungsstelle, registrierte Bewerber, füllte ihre persönlichen Daten aus und gab ihnen Prüfungsberichte. Und in den verbleibenden Arbeitsstunden korrigierte er Fehler und Mängel. Glauben Sie mir, nächstes Jahr gibt es praktisch keine Probleme mehr. So war es auch mit der Einführung des Personalmoduls.

Denken Sie daher an die Benutzererfahrung. Machen Sie es ihnen einfach und angenehm, mit Ihren Programmen zu arbeiten.

Kreatur schnittstelle Der Benutzer muss aus der Palette der Komponenten die Delphi-Komponenten auswählen, die für die Funktion des Programms erforderlich sind schnittstelle Management auch schnittstelle Anzeigen von Informationen und Übertragen dieser Informationen in das Formular mit anschließendem Layout.

Die von Ihnen erstellte Benutzeroberfläche sollte Standardelemente verwenden, die den Benutzern vertraut sind, und maximalen Komfort bieten. All dies wird letztendlich durch ein Kriterium wie die Effektivität der Schnittstelle bestimmt - das maximale Ergebnis bei minimalem Aufwand.
Prinzipien der Schöpfung benutzerfreundliches Bedienfeld sind bekannt. Als allgemeinste Prinzipien beim Erstellen benutzeroberflächen Es sind drei Hauptpunkte zu beachten:

  1. Das Programm sollte helfen, die Aufgabe zu erledigen, nicht diese Aufgabe zu werden.
  2. Bei der Arbeit mit dem Programm sollte sich der Benutzer nicht wie ein Idiot fühlen.
  3. Das Programm muss so funktionieren, dass der Benutzer den Computer nicht für einen Dummkopf hält.
Erstes Prinzip - Dies ist die sogenannte "Transparenz" der Schnittstelle. Die Benutzeroberfläche sollte intuitiv und leicht zu erlernen sein und keine Probleme für den Benutzer verursachen, die er dabei überwinden muss. Verwenden Sie Standardkomponenten ohne übermäßige Dekoration, wenden Sie die üblichen Kontrollmethoden an, die von ähnlichen Programmen verwendet werden, und Sie erreichen die Leistungskriterien erstes Prinzip.

Zweites Prinzip ist die intellektuellen Fähigkeiten der Benutzer zu vernachlässigen. Aus eigener Erfahrung weiß ich, dass Benutzer oft nicht nur nicht wissen, wie man an einem Computer arbeitet, sondern einfach Angst haben, etwas selbst zu tun. Daher sollte die Benutzeroberfläche so benutzerfreundlich wie möglich sein.
Darüber hinaus sind die Befürchtungen der Benutzer häufig berechtigt, da die Kosten des Programms und des Computers selbst nicht mit den Kosten beispielsweise einer Datenbank verglichen werden können, die durch langjährige Bemühungen erstellt wurde. Aus diesem Grund muss ein Programmierer beim Erstellen einer Benutzeroberfläche immer ein Programm "narrensicher" einbauen - aufgrund falscher Aktionen und Benutzereingaben falscher Daten. Aber einige Programmierer lassen sich von einem solchen Schutz zu sehr mitreißen, machen ihn zu aufdringlich, und infolgedessen ähnelt die Arbeit des Programms dem berühmten "Schritt nach links, Schritt nach rechts wird als Flucht angesehen"! Und was ein Programmierer als Lösung für ein Problem erstellt, beginnt, Probleme von selbst zu erstellen.
Zu erfüllen zweites Prinzip Es ist nicht erforderlich, dem Programm zu erlauben, die Aktionen des Benutzers zu "korrigieren" und genau anzugeben, wie zu handeln ist, um es in einen engen Rahmen zu bringen. Außerdem sollten Sie sich nicht zu sehr von der Anzeige von Informationsansagen, insbesondere von Dialogmeldungen, hinreißen lassen, da dies den Benutzer von der Arbeit ablenkt. Besser noch, bieten Sie die Möglichkeit, Eingabeaufforderungen zu deaktivieren.

Drittes Prinzip ist es, ein Programm mit der höchstmöglichen "mentalen" Kapazität zu erstellen. Trotz der rasanten Entwicklung computertechnologieSelbst weit verbreitete Programme können nur bedingt als künstliche Intelligenz bezeichnet werden. Sie stören die Arbeit des Benutzers und zeigen Dialogfelder mit dummen Fragen an, die selbst in den einfachsten Situationen Verwirrung stiften. Infolgedessen rufen Benutzer in ihren Herzen aus: "Nun, diese Maschine ist dumm!"
Ich persönlich ärgere mich über die ständigen Fragen fast aller texteditoren darüber, ob der geänderte Text beibehalten werden soll, obwohl sich der ursprüngliche und der aktuelle Text in keinem Symbol unterscheiden. Ja, ich habe etwas getippt, aber dann habe ich alles zurückgegeben, wirklich kann man es nicht herausfinden! Ich muss nachsehen, ob ich etwas durcheinander gebracht habe.

Versuchen Sie, die folgenden Regeln einzuhalten:

Standardschnittstellenelemente
Standard verwenden für dieses Elements Schnittstellenkomponenten. Nachdem der Benutzer Ihr Programm kennengelernt hat, verschwendet er keine Zeit damit, sich kennenzulernen, sondern beginnt sofort mit der Arbeit - dies ist eines der Zeichen für ein professionell erstelltes Programm.
Kleine Palette von Werkzeugen
Versuchen Sie, nicht zu viele verschiedene Komponenten zu verwenden. Und natürlich, nachdem Sie eine Standardkomponente irgendwo an einem Ort verwendet haben, verwenden Sie sie in einem ähnlichen Fall auch.
Gleicher Abstand zwischen den Bedienelementen
Platzieren Sie die Schnittstellenelemente im gleichen Abstand voneinander. Die verstreuten Komponenten erzeugen das Gefühl eines unprofessionellen Produkts. Umgekehrt ist die sorgfältige Platzierung von Schaltflächen, Optionsfeldern, Kontrollkästchen und anderen Komponenten, aus denen die Benutzeroberfläche des Formulars besteht, ein Zeichen für qualitativ hochwertige Arbeit.
TabOrder. "Korrekten Reihenfolge
TabOrder ist die Reihenfolge, in der sich der Bildschirmcursor beim Drücken einer Taste durch die Steuerelemente bewegt Tab... In einem korrekt geschriebenen Programm bewegt sich der Cursor gemäß der Logik der Arbeit des Benutzers mit dem Programm. Beim Erstellen eines Programms ändert der Programmierer häufig Komponenten, entfernt einige und fügt bei Bedarf andere hinzu. Infolgedessen springt der Cursor im fertigen Programm zufällig über das Formular. Vergessen Sie nach Abschluss des Programms nicht, die Konfiguration vorzunehmen TabOrder.
Schriftauswahl
Lassen Sie einfach die Schriftarten in Ruhe. Delphis eigene Standardschriftarten funktionieren auf jedem System, auf dem Ihr Programm ausgeführt werden kann. Verwenden Sie nur Fettdruck, um wichtige Elemente hervorzuheben. Anwendung desselben kursiv und speziell unterstreichenWas der Benutzer für einen Hyperlink halten könnte, ist eine schlechte Form.
Wahl der Farben
Was die Farben von Oberflächenelementen betrifft, so ist es wie bei Schriftarten besser, diese standardmäßig als Standard zu belassen. Delphi verwendet die Windows-Systempalette, und der Benutzer kann durch Ändern die Palette auf einfache Weise für sich selbst anpassen.
Alternative Steuerung
Ein professionell erstelltes Programm sollte nicht nur mit einer Maus, sondern auch mit einer Tastatur gesteuert werden können. Es sollten keine Funktionen vorhanden sein, die nur mit der Maus ausgeführt werden können (Zeichnen in grafikeditoren zählt nicht!). Für die am häufigsten verwendeten Funktionen sollten Sie "Hotkeys" für den schnellen Zugriff bereitstellen.
Schnittstellenbausteine
Für bestimmte Elemente der Benutzeroberfläche hängt die Qualität der Benutzerinteraktion mit dem Programm ab von: Und jetzt möchte ich zeigen, welche Tools Delphi zum Verwalten von Komponenten im Formular bietet, ihre relative Position und das Verhalten des Cursors beim Drücken einer Taste Tab.

Um die Komponenten in der richtigen Reihenfolge zueinander zu platzieren, zuerst müssen sie hervorheben... Sie können einfach die Maus über den Bereich im Formular ziehen, der die ausgewählten Komponenten enthält. Oder indem Sie " Verschiebung", zeigen Sie mit derselben Maus auf jede zu wählende Komponente. Wiederholter Mausklick auf die ausgewählte Komponente (wenn" Verschiebung") entfernt die Auswahl daraus.

Die ausgewählten Komponenten können als Ganzes bearbeitet werden - sie können im Formular verschoben, Werte denselben Eigenschaften zugewiesen, kopiert (zur Installation beispielsweise in einem anderen Formular) oder sogar gelöscht werden.

Klicken Sie nun mit der rechten Maustaste auf eine der Komponenten und wählen Sie im Popup-Menü die Option aus Position -\u003e Ausrichten ... Ein Dialogfeld wird angezeigt, in dem Sie die horizontale und vertikale Position der Komponenten in der Gruppe anpassen können. Nehmen wir zum Beispiel an, wir müssen unsere vier Schaltflächen nach links ausrichten und sicherstellen, dass zwischen ihnen der gleiche vertikale Abstand besteht. Aktivieren Sie dazu die Optionsfelder Horizontal: Linke Seiten und Vertikal: Raum gleichermaßen.

Durch Auswahl des Artikels CenterWir werden die Komponenten so anordnen, dass ihre Zentren horizontal oder vertikal auf derselben Linie liegen und der Punkt Im Fenster zentrieren Verschiebt Komponenten in die Mitte des Fensters, auch horizontal oder vertikal.

Im gleichen Menü die Zeile Tab Örder ... bewirkt das Erscheinen eines Dialogfelds, das die Bewegung des Cursors über Schnittstellenelemente steuert, wenn eine Taste gedrückt wird Tab... Wenn das Formular auf dem Bildschirm angezeigt wird, befindet sich der Cursor natürlich auf der Komponente in der ersten Zeile des Dialogfelds. Und dann wird es die Liste nach unten verschieben. Im Dialogfeld steuern zwei blaue Aufwärts- und Abwärtspfeile die Position der ausgewählten Komponente. Wählen Sie die gewünschte Komponente aus, bewegen Sie sich mit den Pfeilen zur gewünschten Zeile in der Liste usw.

Bei Auswahl eines Menüpunktes Steuerung -\u003e Es erscheint ein Untermenü, das aus zwei Elementen besteht:

  • Nach vorne bringen
  • Nach hinten senden
Dies sind Komponentenmethoden, die auch programmgesteuert verfügbar sind. Button1.SendToBack bewegt die Taste in den "Hintergrund" und Button1.BringToFront - nach vorne bringen". Das heißt, wenn eine Komponente über einer anderen positioniert ist, tauschen diese Methoden sie aus. Die Fälle, in denen dies angewendet werden kann, liegen auf der Hand.

nur für das Ergebnis

strikte Einhaltung der Fristen

Transparenz

projektabwicklung

technische Unterstützung als Geschenk

Programmierung, Überarbeitung der 1C-Konsultation

Wie wir arbeiten

1. Wir besprechen das Problem telefonisch. Wenn vorhanden fernzugriff - auf Ihrem Computerbildschirm anzeigen.

2. Wir schätzen die Arbeit in Rubel, wenn das Projekt groß ist, wenn nicht - die ungefähre Anzahl von Stunden.

3. Wir erledigen den Job.

4. Sie akzeptieren Arbeiten in Ihrem Programm. Wenn es Mängel gibt, korrigieren wir diese.

5. Wir stellen eine Rechnung aus, die Sie bezahlen.

Arbeitskosten

1. Alle Arbeiten sind in 3 Kategorien unterteilt: Beratung, Aktualisierung typische Konfiguration, Entwicklung oder Programmierung eines neuen Berichts, Verarbeitung, Schaltflächen usw.

3. Bei einer Arbeit von mehr als 10 Stunden ist die technische Aufgabe mit einer Beschreibung und Arbeitskosten. Die Arbeit beginnt, nachdem Sie mit Ihnen die Bedingungen vereinbart haben.

Technischer Support

1. Wenn Sie innerhalb von 3 Monaten Fehler in zuvor akzeptierten Werken finden, beheben wir diese kostenlos.

2. Für Stammkunden Mängel in unserer Arbeit werden das ganze Jahr über kostenlos behoben.

Programme zur Verwaltung Ihres Unternehmens.

Kaufen Sie 1C: Enterprise

Wir sind offizieller Händler von 1C. Sie können verschiedene Softwareprodukte und Lizenzen bei uns erwerben. Neben dem Kauf einer "Box" helfen wir Ihnen, das Programm einzurichten, zu beraten und grundlegende Einstellungen vorzunehmen.

  • Buchhaltung
  • Geschäftsautomatisierung
  • Großhandel
  • Die Hilfe zur Installation und Ersteinrichtung ist im Paket enthalten!
  • Feinabstimmung der Konfigurationen auf die Bedürfnisse des Kunden, Entwicklung neuer Module in Abwesenheit erforderliche Funktionen in Standardkonfiguration.
1c Buchhaltung 1C: Handelsmanagement 1C: Einzelhandel 1C: Gehalts- und Personalmanagement
Ab 3300 reiben. Ab 6700 reiben. Ab 3300 reiben. Ab 7400 reiben.

Serverbereitstellung.

Instant Setup Server + 1C.

Sie haben keinen Server? Es spielt keine Rolle, wir werden einen Server in der "Cloud" abholen und schnell einrichten. Pro kleine Gebühr Sie erhalten eine sehr zuverlässige Lösung.

  • Verfügbarkeit rund um die Uhr
  • Sie müssen nicht Ihre eigenen behalten systemadministrator (Die Einsparungen decken Ihre Serverkosten).
  • Schnelle Einrichtung und Installation von 1C auf dem Server. In 3 Tagen haben Sie bereits ein voll funktionsfähiges System.
  • Sie können jederzeit zu wechseln lokaler Serverwenn die Lösung nicht zu Ihnen passt.

SMS von Ihrem 1C

Möchten Sie, dass Kunden rechtzeitig über Werbeaktionen und Rabatte informiert werden? Kunden, die nicht zurückkehren? Richten Sie das Senden von SMS direkt von 1C ein!

Unser Unternehmen kann das Senden von SMS an Ihre Kunden direkt von 1C aus schnell einrichten. Beispiele für Ereignisse, die automatisiert werden können:

  • Dankbarkeit für den Kauf und die Ansammlung von Boni unmittelbar nach dem nächsten Kauf.
  • Abgrenzung von Boni auf die Karte als Geschenk für einen Geburtstag / für einen anderen bedeutenden oder Feiertag.
  • Benachrichtigung über den Wareneingang im Lager.
  • Ablauf von Geschenkboni.
  • Benachrichtigung über den Eingang der Vorauszahlung und die Reservierung von Waren.
  • Adresse mit Details zum Weg zum Geschäft / Büro, Telefonnummern.
  • Usw.

Einstellungen in 1C können von unseren Spezialisten oder unseren Mitarbeitern vorgenommen werden. Sie können sich auf der Seite SMS-Tarife mit den Tarifen vertraut machen.

  • SMS-Zustellgarantie, Geld wird nur für zugestellte SMS berechnet.
  • Separate Abrechnung für jede SMS.
  • Balance Nachschub auf verschiedene Arten.
  • Zeigen Sie jederzeit den Verlauf aller gesendeten SMS an.
  • Der Name des Absenders anstelle der digitalen Nummer auf dem Telefon des Nachrichtenempfängers.

Eine der größten Stärken der Umwelt delphi-Programmierung ist seine offene Architektur, dank der Delphi eine Art Metaprogrammierung ermöglicht, mit der Sie „die Programmierumgebung programmieren“ können. Dieser Ansatz übersetzt Delphi in eine Qualität neues level Systeme der Anwendungsentwicklung und ermöglicht es Ihnen, zusätzliche Tools in dieses Produkt einzubetten, die nahezu alle Phasen der Erstellung von Anwendungssystemen unterstützen. Dank des in Delphi implementierten Konzepts der sogenannten offenen Schnittstellen, die die Verbindung zwischen der IDE (Integrated Development Environment) und externen Tools herstellen, eröffnen sich so viele Möglichkeiten.

Dieser Artikel konzentriert sich auf die offenen Delphi-Schnittstellen und bietet einen Überblick über die Funktionen, die sie darstellen. Delphi definiert sechs offene Schnittstellen: Werkzeugschnittstelle, Entwurfsschnittstelle, Expertenschnittstelle, Dateischnittstelle, Bearbeitungsschnittstelle und Versionskontrollschnittstelle. Es ist unwahrscheinlich, dass wir im Rahmen dieses Artikels in der Lage sein werden, die Fähigkeiten jedes einzelnen von ihnen detailliert zu beleuchten und zu veranschaulichen. Die Delphi-Quellcodes helfen Ihnen dabei, die betreffenden Probleme besser zu verstehen, da die Entwickler ihnen detaillierte Kommentare zur Verfügung gestellt haben. Klassendeklarationen, die öffentliche Schnittstellen darstellen, sind in den entsprechenden Modulen im Verzeichnis ... \\ Delphi \\ Source \\ ToolsAPI enthalten. Die Entwurfsschnittstelle (DsgnIntf.pas-Modul) bietet Tools zum Erstellen von Eigenschafts- und Komponenteneditoren.

Die Editoren von Eigenschaften und Komponenten sind ein Thema, das einer gesonderten Diskussion wert ist. Wir erinnern uns daher nur daran, dass der Eigenschafteneditor das Verhalten des Objektinspektors steuert, wenn Sie versuchen, den Wert der entsprechenden Eigenschaft zu ändern, und der Komponenteneditor aktiviert wird, wenn Sie mit der linken Maustaste auf das Bild der Komponente im Formular doppelklicken. Die Versionskontrollschnittstelle (VCSIntf.pas-Modul) dient zum Erstellen von Versionskontrollsystemen. Seit Version 2.0 unterstützt Delphi das integrierte Versionskontrollsystem Intersolv PVCS, sodass in den meisten Fällen kein eigenes System entwickelt werden muss. Aus diesem Grund überspringen wir auch die Versionskontrollschnittstelle. Mit der Dateischnittstelle (FileIntf.pas-Modul) können Sie das funktionierende Dateisystem der IDE überschreiben. Auf diese Weise können Sie Ihre eigene Art der Speicherung von Dateien auswählen (z. B. in Memofeldern auf dem Datenbankserver). Die Edit Interface (das EditIntf.pas-Modul) bietet Zugriff auf den Quellcode-Puffer, mit dem Sie Code analysieren und generieren, die Cursorposition im Code-Editor-Fenster bestimmen und ändern sowie die Syntaxhervorhebung des Quelltextes steuern können.

Spezielle Klassen bieten Schnittstellen zu den im Formular platzierten Komponenten (Definieren des Komponententyps, Abrufen von Verweisen auf übergeordnete und untergeordnete Komponenten, Zugreifen auf Eigenschaften, Übergeben des Fokus, Löschen usw.), zum Formular selbst und zur Projektressourcendatei. Mit Edit Interface können Sie auch die sogenannten modularen Benachrichtiger identifizieren, die die Reaktion auf Ereignisse bestimmen, z. B. das Ändern des Quelltextes eines Moduls, das Ändern eines Formulars, das Umbenennen einer Komponente, das Speichern, Umbenennen oder Löschen eines Moduls, das Ändern einer Projektressourcendatei usw. Tool Interface (ToolIntf. pas) bietet Entwicklern die Möglichkeit, diese zu erhalten allgemeine Information den Status der IDE und Ausführen von Aktionen wie Öffnen, Speichern und Schließen von Projekten und einzelne Dateien, Erstellen eines Moduls, Abrufen von Informationen zum aktuellen Projekt (Anzahl der Module und Formulare, deren Namen usw.), Registrierung dateisystem, Organisation von Schnittstellen zu einzelnen Modulen usw. Zusätzlich zu modularen Benachrichtigungen definiert die Tool-Oberfläche Add-In-Benachrichtigungen, die über Ereignisse wie das Öffnen / Schließen von Dateien und Projekten, das Laden und Speichern der Desktop-Projektdatei, das Hinzufügen / Entfernen von Projektmodulen, das Installieren / Deinstallieren von Paketen, das Kompilieren eines Projekts usw. informieren Im Gegensatz zu modularen Benachrichtigungen können Sie mit Add-In-Benachrichtigungen die Ausführung einiger Ereignisse abbrechen.

Darüber hinaus bietet die Tool-Oberfläche die Möglichkeit, auf das Hauptmenü der Delphi-IDE zuzugreifen und zusätzliche Elemente darin zu integrieren. Die Expertenschnittstelle (Modul ExptIntf.pas) ist die Grundlage für die Erstellung von Expertenberatern - Softwaremodulen, die in die IDE integriert sind, um deren Funktionalität zu erweitern. Ein Beispiel für einen Experten ist der Delphi-Datenbankformular-Assistent, der ein Formular zum Anzeigen und Ändern des Inhalts einer Datenbanktabelle generiert. Sobald Sie die Expertenklasse definiert haben, müssen Sie sicherstellen, dass Delphi über unseren Experten „Bescheid weiß“. Dazu muss es registriert werden, indem die Prozedur RegisterLibraryExpert aufgerufen und eine Instanz der Expertenklasse als Parameter übergeben wird. Erstellen Sie zur Veranschaulichung einen einfachen Expert Advisor im esStandard-Stil, der bei Auswahl des entsprechenden Delphi-Menüelements eine Meldung anzeigt, dass er ausgeführt wird. Wie Sie der obigen Tabelle entnehmen können, müssen für den esStandard-Stil sechs Methoden überschrieben werden:

Damit der Experte „aktiviert“ wird, wählen Sie den Menüpunkt Komponente / Komponente installieren ..., wählen Sie im Dialogfeld Durchsuchen (in unserem Fall exmpl_01.pas) das Modul mit dem Experten aus, klicken Sie auf OK und nach dem Kompilieren des Pakets dclusr30.dpk Im Delphi-Hauptmenü sollte im Abschnitt Hilfe der Punkt Einfacher Experte 1 angezeigt werden. Wenn diese Option ausgewählt ist, wird die Informationsmeldung „Standardexperte gestartet!“ angezeigt. Warum Delphi den Menüpunkt des Experten in den Hilfebereich einfügt, bleibt ein Rätsel. Wenn Ihnen die Tatsache nicht gefällt, dass der Menüpunkt überall dort angezeigt wird, wo Delphi und nicht dort, wo Sie möchten, ist die folgende Option möglich: Erstellen Sie einen Experten für den Add-In-Stil, wodurch dieser eliminiert wird automatische Erstellung Menüpunkt, und fügen Sie den Menüpunkt „manuell“ über die Werkzeugoberfläche hinzu. Auf diese Weise können Sie die Position des neuen Elements im Hauptmenü auf beliebige Weise festlegen.

Zum Hinzufügen eines Menüelements werden die Klassen TIToolServices - die Basis der Tool-Schnittstelle - und die Klassen TIMainMenuIntf, TIMenuItemIntf verwendet, die Schnittstellen zum Hauptmenü der IDE und ihren Elementen implementieren. Die ToolServices-Instanz der TIToolServices-Klasse wird bei der Initialisierung von der IDE selbst erstellt. Beachten Sie, dass der Entwickler allein für die Freigabe der Schnittstellen zum Delphi-Hauptmenü und zu den Elementen verantwortlich ist. Lassen Sie uns auf diesem Weg die Funktionslast des Experten etwas komplizieren: Wenn Sie seinen Menüpunkt aktivieren, wird ein Zertifikat über den Namen des Projekts ausgestellt, in dem der Experte geöffnet wurde dieser Moment in der Umgebung: In diesem Beispiel ist die AddIDEMenuItem-Funktion das Herzstück, mit der dem Hauptmenü der Delphi IDE ein Menüelement hinzugefügt wird. Der Text des neuen Menüelements, seine Kennung, die Kennung des Elements, vor dem das neue Element eingefügt wird, die symbolische Darstellung des Schlüssels, für die zusammen mit der Strg-Taste verwendet werden kann schneller Zugang auf das neue Element und einen Ereignishandler, der der Auswahl eines neuen Elements entspricht. Wir haben dem Abschnitt "Ansicht" vor dem Element "Uhren" einen neuen Menüpunkt hinzugefügt.

Lassen Sie uns nun die Notifizierer kennenlernen. Definieren wir einen Add-In-Notifier, der die Momente des Schließens / Öffnens von Projekten verfolgt und das Feld, in dem der Name des aktiven Projekts gespeichert ist, entsprechend anpasst (wir werden die Implementierung von Methoden weglassen, die im Vergleich zum vorherigen Beispiel keine Änderungen erfahren haben): Um den Notifier zu implementieren, haben wir die TAddInNotifier-Klasse definiert, die ein Nachkomme ist TIAddInNotifier und überlappte die FileNotification. Die IDE ruft diese Methode jedes Mal auf, wenn ein Ereignis auftritt, auf das der Add-In-Notifier reagieren kann (jedes dieser Ereignisse wird durch eine entsprechende Konstante vom Typ TFileNotification gekennzeichnet). Das Expertenfeld in der TAddInNotifier-Klasse wird für verwendet feedback mit einem Experten (Methode TAddInNotifier.FileNotification). Im Destruktor des Experten wird die Registrierung des Benachrichtigers entfernt und der Benachrichtiger zerstört. Lassen Sie uns nun die Verwendung modularer Notifizierer veranschaulichen. Erstellen wir einen Add-In-Experten, der Meldungen zu jedem Vorgang des Speicherns der Projektdatei ausgibt (der Kürze halber wird die Implementierung von Methoden, die uns bereits bekannt sind, nicht vorgestellt): In diesem Beispiel überwacht der Add-In-Experte die Ereignisse, die dem Öffnen / Schließen von Projekten entsprechen.

Jedes Mal, wenn ein Projekt geöffnet wird, wird ein modularer Notifier registriert, der der Projektdatei entspricht. In Bezug auf die Implementierung ähneln modulare Benachrichtiger Add-In-Benachrichtigern: Wir definieren die TModuleNotifier-Klasse, die ein Nachkomme von TIModuleNotifier ist, und überschreiben deren Notify- und ComponentRenamed-Methoden. Die IDE ruft die Notify-Methode auf, wenn bestimmte Ereignisse in Bezug auf dieses Modul ausgelöst werden. Innerhalb dieser Methode wird die Reaktion auf dieses oder jenes Ereignis definiert. Die ComponentRenamed-Methode wird aufgerufen, wenn sich der Name einer Komponente in einem Modulformular geändert hat. Bitte beachten Sie, dass wir diese Methode nicht verwenden, sondern überschreiben müssen. Andernfalls wird die abstrakte Methode der Basisklasse aufgerufen, wenn sich der Name der Komponente ändert, was zu unvorhersehbaren Konsequenzen führt.

Das Registrieren eines modularen Benachrichtigers ist etwas komplizierter als das Registrieren eines Add-In-Benachrichtigers: Zuerst erhalten wir die Modulschnittstelle (TIModuleInterface) und dann registrieren wir den Benachrichtiger über die Modulschnittstelle. Wenn das Projekt geschlossen wird, wird die Registrierung des modularen Notifizierers nicht registriert (erneut mit TIModuleInterface) und der Notifier wird zerstört. Abschließend zeigen wir Ihnen, wie Sie die Position des Cursors im Code-Editor-Fenster bestimmen können. Lassen Sie uns einen Expertenberater erstellen, der bei Auswahl des entsprechenden Menüelements eine Meldung anzeigt, die den Namen der aktiven Datei und die Position des Cursors darin enthält (die Implementierung wird nur für diejenigen angegeben, die für erforderlich sind dieses Beispiel Methoden): Um die Position des Cursors zu bestimmen, müssen wir die folgende Folge von Schnittstellen erhalten: modulare Schnittstelle (TIModuleInterface); Code-Editor-Schnittstelle (TIEditorInterface); Schnittstelle der Modulansicht im Editorfenster (TIEditView).

Wenn die Datei mit dem Quelltext (* .pas) aktiv ist, wenn der Expertenmenüpunkt ausgewählt ist, wird eine Meldung angezeigt, die den Namen der aktiven Datei und die aktuelle Position des Cursors enthält. Wenn eine Nicht-Pas-Datei aktiv ist, wird die Nachricht nicht angezeigt. Um den Namen der aktiven Datei abzurufen, wird die GetCurrentFile-Methode der TIToolServices-Klasse verwendet. Damit ist die Überprüfung der Verwendungsmöglichkeiten offener Schnittstellen abgeschlossen. Die CD-ROM enthält den Quellcode für alle bereitgestellten Beispiele. Die CD-ROM enthält auch ein komplexeres und detaillierteres Beispiel mit einem Add-In-Experten, mit dem der Benutzer den Quellcode von Delphi-Modulen mit einem Lesezeichen versehen kann. Schnellstartanleitung Informationen zur Installation und Verwendung des Lesezeichen-Experten finden Sie in der Datei bkmrks97.htm. In diesem Artikel werden offene Schnittstellen beschrieben und Beispiele für ihre Verwendung bereitgestellt. Dank des verfügbaren Open Source-Codes können Sie die Details, die Sie interessieren, leicht herausfinden. Wir hoffen, dass die Vielzahl der Möglichkeiten, die offene Schnittstellen bieten, Ihnen mehr als eine mutige und nützliche Idee bietet.

DIE KLINGEL

Es gibt diejenigen, die diese Nachrichten vor Ihnen lesen.
Abonnieren Sie, um die neuesten Artikel zu erhalten.
Email
Name
Nachname
Wie willst du The Bell lesen?
Kein Spam