Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Rechnung behauptet: "" ist kein Float Wert

  Alt 30. Aug 2006, 16:10
Moin Hentai,

mir sind da auch ein paar Dinge aufgefallen
  1. ) 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;
  2. ) 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
  3. ) Du solltest Dir angewöhnen mit Einrückungen zu arbeiten, um die Lesbarkeit zu erhöhen.
  4. ) Bist Du Dir sicher, dass Du in der ersten if-Abfrage die Werte mit XOR verknüpfen willst? Was willst Du damit erreichen?
  5. ) 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
  Mit Zitat antworten Zitat