Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Code verkürzen (https://www.delphipraxis.net/38216-code-verkuerzen.html)

Die Muhkuh 16. Jan 2005 11:35


Code verkürzen
 
Hi,

ich hab hier folgenden Code:

Delphi-Quellcode:
if RichEdit.Paragraph.Alignment = paLeftJustify then
    begin
      tbLinks.Checked := true;
      tbLinks2.Checked := true;
    end
    else
    begin
      tbLinks.Checked := false;
      tbLinks2.Checked := false;
    end;

    if RichEdit.Paragraph.Alignment = paCenter then
    begin
      tbZentriert.Checked := true;
      tbZentriert2.Checked := true;
    end
    else
    begin
      tbZentriert.Checked := false;
      tbZentriert2.Checked := false;
    end;

    if RichEdit.Paragraph.Alignment = paRightJustify then
    begin
      tbRechts.Checked := true;
      tbRechts2.Checked := true;
    end
    else
    begin
      tbRechts.Checked := false;
      tbRechts2.Checked := false;
    end;
Wie man unschwer erkennen kann, hab ich nen Button der immer checked := true sein soll, wenn z.B. der Text zentriert ist.

Der Code da oben ist nur ein bisschen lang. Wie könnte man den verkürzen?

Ich habs schon mit:

Delphi-Quellcode:
tbLinks.checked := paLeftJustify in RichEdit.Paragraph.Alignment
versucht, aber das klappt leider nicht.

mirage228 16. Jan 2005 11:37

Re: Code verkürzen
 
Hi,

Du hattest es schon fast ;)

Delphi-Quellcode:
tbLinks.checked := paLeftJustify = RichEdit.Paragraph.Alignment; // = und nicht "in"
mfG
mirage228

Dust Signs 16. Jan 2005 11:37

Re: Code verkürzen
 
Delphi-Quellcode:
tbLinks.checked := (RichEdit.Paragraph.Alignment = paLeftJustify);
Dust Signs

SirThornberry 16. Jan 2005 11:37

Re: Code verkürzen
 
wie oben schon geschrieben ist das alignment kein set sonder muss mit "=" geprüft werden
Delphi-Quellcode:
tbLinks.checked := paLeftJustify = RichEdit.Paragraph.Alignment;

Die Muhkuh 16. Jan 2005 11:38

Re: Code verkürzen
 
Hi,

:shock: das geht ja schneller als man gucken kann. :mrgreen:

Thx.

Ich vergess immer das man auch so eine Boolean-Prüfung machen kann... :)

Luckie 16. Jan 2005 11:38

Re: Code verkürzen
 
Habe jetzt kein Delphi zur Hand, aber probier mal das:
Delphi-Quellcode:
tbLinks.Checked := RichEdit.Paragraph.Alignment = paLeftJustify;
bzw. entsprechend:
Delphi-Quellcode:
tbLinks.Checked := not (RichEdit.Paragraph.Alignment = paLeftJustify);
Sagt mal, geht es euch noch ganz gut? :shock: Wuie schnell antwortet ihr? :gruebel:

Die Muhkuh 16. Jan 2005 11:41

Re: Code verkürzen
 
Hi,

grad noch ne kleine Frage, weils grad passt.

Dust Signs war der einzigeste der es so geschrieben hat:

Delphi-Quellcode:
tbLinks.checked := (RichEdit.Paragraph.Alignment = paLeftJustify);
Es ist ja wurscht, ob ich es so mache wie er, oder wie ihr anderen, oder?


@Luckie

viel zu Spät :tongue:

mirage228 16. Jan 2005 11:42

Re: Code verkürzen
 
Zitat:

Zitat von Spider
Hi,

grad noch ne kleine Frage, weils grad passt.

Dust Signs war der einzigeste der es so geschrieben hat:

Delphi-Quellcode:
tbLinks.checked := (RichEdit.Paragraph.Alignment = paLeftJustify);
Es ist ja wurscht, ob ich es so mache wie er, oder wie ihr anderen, oder?


@Luckie

viel zu Spät :tongue:

Hi,

wenn der Ausdruck nur aus einer Bedingung besteht, kannst Du die Klammern weglassen. Bei 2 oder mehr Bedinungen, sind Klammern unabdingbar !

mfG
mirage228

SirThornberry 16. Jan 2005 11:45

Re: Code verkürzen
 
ist völlig egal wie man es schreibt. Mit klammer hat einen entscheidenten Vorteil: Wenn ich später mit "AND" etc. die Bedingung erweitere erspare ich mir das Klammern setzen was dann notwendig wird. Und manche finden es it klammern auch übersichtlicher. Da der Programmierer aber eigentlich ein fauler Mensch ist lässt er die klammern weg (da sie nicht notwendig sind)

[Edit]Och menno, das macht kein Spaß wenn die anderen immer schneller antworten :cry: [/Edit]

tommie-lie 16. Jan 2005 11:46

Re: Code verkürzen
 
Zitat:

Zitat von Spider
oder?

Meinst du die Klammer? Ja, ist egal, da die Zuweisung die niedrigste Priorität hat.


Edit: Narf... Na immerhin weiß er's jetzt mit Sicherheit, so oft wie er die Antwort bestätigt kriegt hat... :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr.
Seite 1 von 2  1 2      

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