Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Quelltext kommentieren (https://www.delphipraxis.net/109743-quelltext-kommentieren.html)

coocky 6. Mär 2008 19:49


Quelltext kommentieren
 
Hey, ich habe folgenden Quelltext in ein Programm eingefügt und soll diesen jetzt kommentieren, versteh ihn aber nicht. Könntet ihr ihn bitte kommentieren? Und Weiß jemand, wie man diesen Quelltext in einem Struktogramm darstellt, weil ich die Struktur with as noch nicht kenne.

Delphi-Quellcode:
begin
  with Control as TListBox do begin
    Canvas.FillRect(Rect);
    Canvas.FontColor:=TColor(Items.Objects[Index]);
    Canvas.TextOut(Rect.Left +2, Rect.Top, Items[Index]);
  end;
end;

Fussball-Robby 6. Mär 2008 19:52

Re: Quelltext kommentieren
 
Zitat:

Zitat von coocky
Könntet ihr ihn bitte kommentieren?

Nein, wir können dir aber helfen. Was von dem Quelltext genau verstehst du denn bzw verstehst du nicht?

patti 6. Mär 2008 20:31

Re: Quelltext kommentieren
 
Die Online-Hilfe könnte dir dabei sehr behilflich sein!

Einfach z.B. den Caret ("Text-Cursor") auf FillRect setzen und F1 drücken. Schon gelangst du in die Hilfe, wo einiges erklärt wird. Wenn du dann immer noch Verständnis-Probleme hast, dann frag einfach nach.

Zu "with ... as ... do": das "Objekt" Control soll wie eine TListBox behandelt werden. Zwischen dem begin und dem end steht, was mit diesem Objekt passieren soll (in deinem Beipsiel wird die Canvas - also die Zeichenfläche - benutzt).

Hoffe, ich konnte dir auf die Schnelle zumindest etwas weiterhelfen ;-)

Patti

gmc616 6. Mär 2008 21:03

Re: Quelltext kommentieren
 
Delphi-Quellcode:
begin
  with Control as TListBox do begin // Mit dem gewählten Control
    Canvas.FillRect(Rect); // mal ein Viereck, so groß wie das Control ist
    Canvas.FontColor:=TColor(Items.Objects[Index]); // Setze Schriftart, so wie irgendwo gewählt
    Canvas.TextOut(Rect.Left +2, Rect.Top, Items[Index]); // Schreibe einen String aufs Control
  end;
end;
Mehr läßt sich auch den 5 Zeilen nicht entnehmen

jbg 6. Mär 2008 21:23

Re: Quelltext kommentieren
 
Und das sind genau die Art von Quellcode-Kommentaren, die man nicht machen soll. Das Offensichtliche muss nicht noch zusätzlich kommentiert werden. (Infos für Anfänger mal ausgenommen).

s-off 6. Mär 2008 21:35

Re: Quelltext kommentieren
 
Zitat:

Zitat von gmc616
Delphi-Quellcode:
Canvas.FillRect(Rect); // mal ein Viereck, so groß wie das Control ist

Woher weißt Du, dass 'Rect' keine Variable ist, die ganz andere Maße hat, als das Control?
Desweiteren hast Du die grundlegende Eigenschaft der Methode 'FillRect' unterschlagen.

Zitat:

Zitat von gmc616
Delphi-Quellcode:
Canvas.FontColor:=TColor(Items.Objects[Index]); // Setze Schriftart, so wie irgendwo gewählt

Wo wird hier eine Schriftart gesetzt?

Wie bereits gesagt wurde, ist es besser, mal die Hilfe zu bemühen, als noch falsche Sachen zu lernen.

Phoenix 6. Mär 2008 22:04

Re: Quelltext kommentieren
 
Zitat:

Zitat von s-off
Zitat:

Zitat von gmc616
Delphi-Quellcode:
Canvas.FillRect(Rect); // mal ein Viereck, so groß wie das Control ist

Woher weißt Du, dass 'Rect' keine Variable ist, die ganz andere Maße hat, als das Control?

Es könnte eine Variable Namens Rect geben, aber benutzt wird Control.Rect. Eine der bösen Fallen bei with...

s-off 6. Mär 2008 22:11

Re: Quelltext kommentieren
 
Zitat:

Zitat von Phoenix
Es könnte eine Variable Namens Rect geben, aber benutzt wird Control.Rect. Eine der bösen Fallen bei with...

Da muss ich DIr leider widersprechen; probier's aus:
Delphi-Quellcode:
Procedure TForm1.MalDas(Control: TControl);
Var
   Rect: TRect;
Begin
   Rect.Left := 10;
   Rect.Top := 10;
   Rect.Right := 60;
   Rect.Bottom := 60;

   //alles was hier drüber steht, kennen wir nicht - könnte ja eine lokale Variable sein *g*
   With Control As TListBox Do Begin
      Canvas.Brush.Color := clYellow;
      Canvas.FillRect(Rect);
      Canvas.Font.Color := clRed;
      Canvas.TextOut(Rect.Left + 2, Rect.Top, 'Hallo');
   End;
End;
Hier wird die lokale Variable Rect zugrunde gelegt.

gmc616 6. Mär 2008 22:15

Re: Quelltext kommentieren
 
Oho, so wie's scheint hab ich vergessen meinen Post in IRONIE-Tag zu setzten.

Dachte eigentlich, das mit dem Satz "Mehr läßt sich auch den 5 Zeilen nicht entnehmen" alles gesagt wäre.

s-off 6. Mär 2008 22:17

Re: Quelltext kommentieren
 
Zitat:

Zitat von gmc616
Dachte eigentlich, das mit dem Satz "Mehr läßt sich auch den 5 Zeilen nicht entnehmen" alles gesagt wäre.

Wäre es ja auch - wenn es denn korrekt wäre, was Du schreibst, was aber leider nur zu 50% zutrifft :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr.
Seite 1 von 2  1 2      

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