Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Funktion richtig deklarieren (https://www.delphipraxis.net/152732-funktion-richtig-deklarieren.html)

AlexII 4. Jul 2010 11:45

AW: Funktion richtig deklarieren
 
Zitat:

Zitat von mkinzler (Beitrag 1033395)
Rede ich gegen eine Wand :wall:

Was denn? :gruebel:

Matze 4. Jul 2010 11:46

AW: Funktion richtig deklarieren
 
Du sollst bei Delphi-Code die [delphi]-Tags nutzen und nicht die [code]-Tags, damit das Syntax-Highlighting auch korrekt erfolgt.

AlexII 4. Jul 2010 11:48

AW: Funktion richtig deklarieren
 
Zitat:

Zitat von Matze (Beitrag 1033404)
Du sollst bei Delphi-Code die [delphi]-Tags nutzen und nicht die [code]-Tags, damit das Syntax-Highlighting auch korrekt erfolgt.

Delphi-Quellcode:
ShowMessage('Ja das neue Design hier verwirrt ein bisschen.');

mkinzler 4. Jul 2010 11:49

AW: Funktion richtig deklarieren
 
Warum, dass das Delphi-Icon für Delphi steht finde ich recht einleuchtend

AlexII 4. Jul 2010 11:53

AW: Funktion richtig deklarieren
 
Zitat:

Zitat von mkinzler (Beitrag 1033407)
Warum, dass das Delphi-Icon für Delphi steht finde ich recht einleuchtend

Ab jetzt schon. :thumb:

idefix2 4. Jul 2010 15:17

AW: Funktion richtig deklarieren
 
So ein Sequenz von if then else ist nicht wirklich übersichtlich. Wenn schon so kompliziert, dann wenigstens ein case:
Delphi-Quellcode:
case Position of
0:
  begin
    VolumeLow.Visible := false;
    VolumeMedium.Visible := false;
    VolumeHigh.Visible := false;
    VolumeMuted.Visible := true;
  end;
1..33:
  begin
    VolumeLow.Visible := true;
    VolumeMedium.Visible := false;
    VolumeHigh.Visible := false;
    VolumeMuted.Visible := false;
  end;
34..66:
  begin
    VolumeLow.Visible := false;
    VolumeMedium.Visible := true;
    VolumeHigh.Visible := false;
    VolumeMuted.Visible := false;
  end;
else
  begin
    VolumeLow.Visible := false;
    VolumeMedium.Visible := false;
    VolumeHigh.Visible := true;
    VolumeMuted.Visible := false;
  end;
end (* case *);
aber noch viel besser, weil man auf einen Blick sieht, was passiert:

Delphi-Quellcode:
VolumeMuted.Visible := position = 0;
VolumeLow.Visible := position in [1..33];
VolumeMedium.Visible := position in [34..66];
VolumeHigh.Visible := position > 66;
Aber die erste Lösung ist natürlich besser, wenn Du für die Anzahl der Codezeilen in Deinem Programm bezahlt wirst. :)

himitsu 4. Jul 2010 16:41

AW: Funktion richtig deklarieren
 
[edit]
ach, hatte ja schon jemand geschrieben

Matze 4. Jul 2010 17:27

AW: Funktion richtig deklarieren
 
Zitat:

Zitat von idefix2 (Beitrag 1033459)
aber noch viel besser, weil man auf einen Blick sieht, was passiert:

Delphi-Quellcode:
VolumeMuted.Visible := position = 0;
VolumeLow.Visible := position in [1..33];
VolumeMedium.Visible := position in [34..66];
VolumeHigh.Visible := position > 66;

Genau das meinte ich vorher. Ich habe nur nicht gesehen, dass pro Case-Fall immer nur 1 "Dingens" sichtbar gesetzt wird. In dem Fall ist es folglich sehr übersichtlich. :)
Es wäre etwas anderes, wenn die Sichtbarkeit für mehrere Fälle gesetzt werden soll.

Teekeks 4. Jul 2010 18:09

AW: Funktion richtig deklarieren
 
Eine andere Möglichkeit wäre es zuerst alles auf false zu setzen und dann im case immer nur noch das entsprechende auf true.
Spart auch Zeilen...

AlexII 4. Jul 2010 18:54

AW: Funktion richtig deklarieren
 
Zitat:

Zitat von idefix2 (Beitrag 1033459)

Delphi-Quellcode:
VolumeMuted.Visible := position = 0;
VolumeLow.Visible := position in [1..33];
VolumeMedium.Visible := position in [34..66];
VolumeHigh.Visible := position > 66;

Du hast aber das Ausschalten der Images vergessen. :warn:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz