Weil Delphi einen wirklich vollständig objektorientierten Ansatz verfolgt, den schnellsten Compiler der Welt und die führende Datenbanktechnologie, insbesondere die vollständige Kompatibilität mit der Windows-API und die hervorragenden Funktionen zur automatischen Codegenerierung ... das haben die Leute in nur kurzer Zeit gesehen In den letzten Jahren hat sich Delphi unter vielen Entwicklungstools hervorgetan! Es sind die vielen hervorragenden Eigenschaften von Delphi, die es Programmierern ermöglichen, in kurzer Zeit und mit sehr geringem Arbeitsaufwand professionelle Anwendungssoftware zu entwickeln!
Wie heißt es so schön? Wie können wir die Vorteile von Delphi voll ausnutzen, um Programme schneller zu entwickeln?
1. Nutzen Sie die vollständige Codefreigabe (Jubang) voll aus:
Der Zweck besteht nicht nur darin, „faul“ zu sein, sondern auch darin, den Programmcode zu optimieren. Das erste, was zu berücksichtigen ist, ist natürlich, ob es geteilt werden kann (das ist sehr einfach, prüfen Sie, ob es in der Dropdown-Sammlung des Ereignisses enthalten ist), und das zweite, was zu beachten ist, ist, ob es " Ärger“ nach dem Teilen, denn Korrektheit ist der erste Schritt. Es ist notwendig, eine Optimierung nur dann durchzuführen, wenn sie garantiert korrekt ist!
Beispiel: Wir geben eine Bestätigungsnachricht, bevor der Benutzer Daten löscht:
PROcedure TForm1.Table1BeforeDelete(DataSet: TDataSet);
beginnen
//Löschdatensatz bestätigen
if MessageBox(handle,'Sind Sie sicher, dass Sie den aktuellen Datensatz löschen möchten?','Confirm',MB_IconQuestion+MB_YesNo)=IDNO dann
Abbrechen;
Ende;
Solange Sie dann bereit sind, den Benutzer bestätigen zu lassen, bevor er den Datensatz löscht, können Sie diesen Code vollständig im TDataSet.BeforeDelete-Ereignis freigeben (BeforeDelete von Table2, BeforeDelete von Table3...). Glück passiert nicht alle Tage, manchmal ist es nicht so direkt und einfach ...
Das Wort „As“ ist nicht nur im Englischen äußerst nützlich, sondern auch in Delphi! Dies kommt ins Spiel, wenn wir Code für mehrere „ähnliche“ Komponenten gemeinsam nutzen möchten: Wir müssen nur Code für eine davon schreiben.
Wenn wir beispielsweise möchten, dass sich die Hintergrundfarbe einer Gruppe von Textbearbeitungsfeldern in Braun ändert, wenn sie den Eingabefokus erhalten, und dass die Systemfarbe wiederhergestellt wird, wenn sie den Fokus verlieren, können wir den Code wie folgt teilen (lassen Sie die Ereignisse jedes einzelnen Felds anzeigen). Geben Sie im Textbearbeitungsfeld den folgenden Code ein):
procedure TForm1.Edit1Enter(Sender: TObject);
beginnen
(Absender als TEdit).color:=ClTeal; //Eingabefokus abrufen
Ende;
procedure TForm1.Edit1Exit(Sender: TObject);
beginnen
(Absender als TEdit).color:=ClWindow; //Eingabefokus verloren
Ende;
Das obige Beispiel scheint etwas zu spezifisch zu sein. Was ist, wenn ich nur einigen Komponenten besondere Aufmerksamkeit schenke? Nehmen wir zum Beispiel das obige Beispiel: Es gibt zwei Texteingabefelder, in die Zahlen eingegeben werden müssen. Um die Aufmerksamkeit des Benutzers zu erregen, ändert sich die Farbe in Blau, wenn der Fokus empfangen wird, aber ich möchte immer noch nicht schreiben Code für jede Komponente separat.
Um dieses Problem zu lösen, können Sie das Tag-Attribut der Komponente verwenden. Weisen Sie den speziell zu verarbeitenden Komponenten zunächst Tags ungleich Null zu (es ist zu beachten, dass Delphi nicht prüft, ob die Tag-Werte gleich sind). und Sie müssen es während des Entwurfs selbst steuern. Dann schreiben Sie den Code wie folgt. Sie können ihn weiterhin teilen:
procedure TForm1.Edit1Enter(Sender: TObject);
beginnen
case (Absender als TEdit).Tag von
10,20:(Sender as TEdit).Color:=clBlue //Textfeld zur Eingabe von Zahlen
anders
(Absender als TEdit).Color:=clTeal; //Andere Textfelder
Ende;
Ende;
(Bei den folgenden Bemerkungen wird davon ausgegangen, dass sie sich auf die Standardbedingungen von Delphi beziehen.)
1. Verwenden Sie das Schlüsselwort „Self“:
Vielleicht denkt jemand, dass ich mich irre! Tatsächlich möchte ich Ihnen hier einen weiteren „Trick“ des „Gewohnheitstraftäters“ des Autors (aufgrund seines schlechten Gedächtnisses) vorstellen. Manchmal können wir uns möglicherweise nicht an den genauen Namen der Komponente erinnern. Wenn Sie zu diesem Zeitpunkt zum Formular zurückkehren, um ihn erneut zu bestätigen (die meisten meiner Freunde sollten so sein), wäre es etwas zu schade Besonders zeitsparend ist es, wenn Sie Self verwenden, da sich Self in Delphi explizit auf das Formular bezieht, in dem sich die Komponente befindet. Daher können wir Self gefolgt von einem Komma eingeben, um den Code von Delphi zu aktivieren Nach Abschluss zeigt das System sofort eine Dropdown-Liste mit allen Komponenten des Formulars und den Eigenschaften des Formulars selbst an, aus der Sie die erforderlichen Komponenten auswählen können. Auf diese Weise wird der Arbeitsaufwand durch das Hin- und Herwechseln zwischen Formularen und Tabellen vermieden.
2. Verwenden Sie die Code-Vervollständigung (Code-Vervollständigung):
Dank der Codefüllfunktion von Delphi müssen wir uns nicht mehr zu viele Parameterdetails merken. Bevor ich es im Detail erkläre, möchte ich etwas wortreicher sein. Die Standard-Tastenkombinationen von Delphis Code-Vervollständigung stehen in Konflikt mit einigen der von uns verwendeten Tastenkombinationen (z. B. steht Strg+Leertaste im Konflikt mit den Tastenkombinationen zum Öffnen und Schließen). Bitte beheben Sie dieses Problem zuerst.
Natürlich wird die Code-Vervollständigung normalerweise automatisch aktiviert, aber ich denke nicht, dass Delphi für diese Technologie von VB lernen sollte. Beispiel: Wenn Sie StrToint(edit1 eingeben, zeigt Delphi nicht automatisch die Eigenschaften von edit1 an. Zu diesem Zeitpunkt verwenden Sie Strg + Leertaste, um die Code-Vervollständigung zu aktivieren. Insbesondere wenn die Verschachtelung tief ist, scheint Delphi verwirrt zu sein. .
3. Codeparameter verwenden:
Die Aktivierungs-Tastenkombination ist Strg+Umschalt+Leertaste. Diese Funktion wird auch von Delphi automatisch implementiert, wenn wir hin und her wechseln oder den Cursor bewegen. Wenn wir die spezifischen Parameter der Funktion bestätigen müssen, können wir sie mit dieser Tastenkombination öffnen. .
4. Codevorlagen verwenden:
Diese Technologie spiegelt einmal mehr die hervorragende Technologie der Ingenieure des Delphi-Entwicklungsteams von Inprise und ihren edlen moralischen Charakter wider, immer an die Benutzer zu denken! (Ich möchte einfach nichts davon hören, dass eine andere Person von Microsoft abgeworben wird)
Die Aktivierungs-Tastenkombination ist Strg+J. Der Implementierungsmechanismus dieser Funktion ähnelt dem des Code-Ausfüllens, außer dass er nicht automatisch erfolgt. Der aufregendste Aspekt ist natürlich, dass Benutzer ihre eigenen Vorlagen definieren können. Zum Beispiel eine vom Autor definierte Vorlage: Verknüpfung -> „msg“; Code -> „MessageboxMessageBox(
handle,'|',',MB_Icon...+MB_...);", sobald ich msg eingebe und dann Strg+J drücke, wird der gesamte Code „hervorgehoben“ und der Cursor wird an die Stelle bewegt, an der Ich sollte den Input hinzufügen. Es ist so cool!
Hinweis: Wenn Sie viele nette Vorlagen für sich selbst definiert haben und diese nicht wegwerfen möchten, können Sie die Datei Delphi32.dci auch im Verzeichnis Delphi4Bin sichern und sie nach der Neuinstallation von Delphi mit dieser Datei überschreiben.
Dieses Thema sollte hier nicht geschrieben werden, aber ich kann nicht anders, als ...
1. Wenn Sie den Objektbeobachter verwenden können, um ihn direkt festzulegen, ohne den normalen Betrieb des Programms zu beeinträchtigen, müssen Sie keinen Code schreiben:
Da dieses Thema zu weit gefasst ist, hier nur ein Beispiel: Sie möchten beispielsweise automatische Eingabeaufforderungen in der Statusleiste in Delphi4 implementieren, ohne zu „harsch“ zu sein.
„Hinweis“-Bedingung: Wir müssen nicht mehr wie zuvor einen Prozess (ShowMyHint(...)) definieren und ihn dann dort initialisieren, wo sich das Programm befindet
Weisen Sie ihren Wert dem OnHin-Ereignis von Tapplication zu. Denn setzen Sie einfach die AutoHint-Eigenschaft der Statusleiste auf True! Natürlich scheint es, als könne sie nur
Wird im ersten Panel angezeigt (wenn keine allzu „harten“ Bedingungen herrschen). Natürlich kann man mir die Schuld geben, dass ich wortreich bin, einige Freunde kennen Delphis Hinweis nicht
Attribute bestehen aus zwei Teilen. Wenn Sie interessiert sind, besuchen Sie bitte die persönliche Homepage des Autors www.zg169.net/~delphiok (gerade geöffnet).
Zhang, es gibt noch nicht viele Dinge).
2. Code speichern:
Wenn Sie weniger Code schreiben können, besteht keine Notwendigkeit, mehr Code zu schreiben. Wenn Sie ihn verfeinern können, besteht keine Notwendigkeit, redundant zu sein:
Die folgenden zwei Codeteile implementieren beispielsweise genau dieselbe Funktion. Welchen Teil verwenden Sie am liebsten?
Codeausschnitt eins:
Wenn ToolButton1.Down=true, dann
beginnen
Dbgrid1.show;
DelBtn.Enabled:=true;
Ende
anders
beginnen
Dbgrid1.Hide;
DelBtn.Enabled:=false;
Ende;
Codeausschnitt zwei:
Dbgrid1.Visible:=ToolButton1.Down;
DelBtn.Enabled:=ToolButton1.Down;
Nachdem wir das Programm geschrieben haben, sollten wir daher nicht nur die Programmanpassung durchführen, sondern auch den Programmcode braten.
3. Variablen speichern:
Manche Programmierer definieren Variablen dort, wo sie nicht benötigt werden, und definieren redundante Variablen dort, wo Variablen benötigt werden. Ich persönlich halte das für nicht gut.
Gewohnheiten, insbesondere die Gewohnheit, auf Schritt und Tritt globale Variablen zu definieren, sind noch fragwürdiger. Einige Leser denken vielleicht, dass ich ein Geizhals bin
Welche Ära ist das? Aber ich zeige Ihnen einfach einen Code und Sie werden verstehen:
procedure TForm1.Button1Click(Sender: TObject);
Var s1,s2:String;
beginnen
s1:=Inputbox('data','Bitte geben Sie den Benutzernamen ein',');
wenn s1<>' dann
beginnen
Btn_Name.Enabled:=True;
s2:=Inputbox('data','Bitte geben Sie die Adresse des Benutzers ein',');
wenn s2<>' dann
Btn_Adress.Enabled:=True;
Ende;
Ende;