(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
Delphi 11 Alexandria
|
Re: Rechnung behauptet: "" ist kein Float Wert
30. Aug 2006, 16:10
Moin Hentai,
mir sind da auch ein paar Dinge aufgefallen
- ) Ich weiss ja nicht, auf welchen Wert das OnTimer-Event eingestellt ist, aber man sollte zu Beginn einer solchen Routine den Timer ab-, und am Ende wieder einschalten, damit das Event nicht während der Abarbeitung erneut ausgelöst werden kann, falls diese länger dauert, als das Intervall eingstellt ist.
Delphi-Quellcode:
// Eingeschlossen in einen try/finally-Block, damit die Aktivierung sichergestellt ist
Begin
Timer1.Enabled := false;
try
// Hier dann die eigentliche OnTimer-Routine
finally
Timer1.Enabeld := true;
end;
end;
- ) Man sollte boolsche Werte nie auf Gleichheit abfragen, da oft 0 als false und <> 0 als true angesehen wird. Bei = false kann einem da zwar normalerweise nichts passieren, aber eine Abfrage auf Gleichheit erhöht auch nicht gerade die Lesbarkeit
Beispiel:
Was ist lesbarer:
Delphi-Quellcode:
if DirectoryExists(....) then
if DirectoryExists(....) = true then
- ) Du solltest Dir angewöhnen mit Einrückungen zu arbeiten, um die Lesbarkeit zu erhöhen.
- ) Bist Du Dir sicher, dass Du in der ersten if-Abfrage die Werte mit XOR verknüpfen willst? Was willst Du damit erreichen?
- ) So einen Block
Delphi-Quellcode:
if not(Edit1.Text='') and not(Edit2.Text='') and not(Edit4.Text='')
then begin
(Edit3.enabled:=false);
(Edit3.color:=clScrollBar);
end else begin
(Edit3.enabled:=true);
(Edit3.color:=clMenu);
würde ich anders schreiben (ist aber auch Geschmackssache):
Delphi-Quellcode:
Edit3.Enabled := not ((Edit1.Text <> '') and (Edit2.Text <> '') and (Edit4.Text <> ''));
if not Edit3.Enabled then begin
Edit3.Color := clScrollBar;
end else begin
//....
Ich finde es übersichtlicher auf <> '' zu prüfen als auf not = ''.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|
|
Zitat
|