Thema: Delphi Syntax Optimierbar?

Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Syntax Optimierbar?

  Alt 16. Okt 2007, 23:06
Vorschlag 1:
Delphi-Quellcode:
const
  coBaseX = -339;
  coBaseY = -718;

function IsUp(y: integer): boolean;
begin
  result := ( y > coBaseY );
end;

function IsDown(y: integer): boolean;
begin
  result := ( y < coBaseY );
end;

function IsLeft(x: integer): boolean;
begin
  result := ( x < coBaseX );
end;

function IsRight(x: integer): boolean;
begin
  result := ( x > coBaseX );
end;

begin
  if IsUp(y) then
  begin
    if IsLeft(x) then
      result := UpLeft
    else if IsRight(x) then
      result := UpRight
    else
      result := Up;
  end
  else if IsDown(y) then
  begin
    if IsLeft(x) then
      result := DownLeft
    else if IsRight(x) then
      result := DownRight
    else
      result := Down;
  end
  else if IsLeft(x) then
    result := Left
  else if IsRight(x) then
    result := Right
  else
    result := Nothing
end;
Vorschlag 2:
Delphi-Quellcode:

begin
  if ( y > -718 ) then
  begin
    if ( x < -339 ) then
      result := UpLeft
    else if ( x > -339 ) then
      result := UpRight
    else
      result := Up;
  end
  else if ( y < -718 ) then
  begin
    if ( x < -339 ) then
      result := DownLeft
    else if ( x > -339 ) then
      result := DownRight
    else
      result := Down;
  end
  else if ( x < -339 ) then
    result := Left
  else if ( x > -339 ) then
    result := Right
  else
    result := Nothing
end;
Wieso aus dem Speicher entfernt? Wenn es Variablen innerhalb der Klassendeklaration sind, dann gibt es den Speicher über die Lebzeit der jeweiligen Instanz. Ist eine globale Variable, dann über Lebzeit der App. Ist es eine lokale Variable über die Dauer der Ausführung der jeweiligen Routine.

Aber wieso überhaupt die Frage? Ich kann dir versichern, der Delphi Speichermanager gibt nicht freiwillig Speicher den er nicht mehr benötigt an Windows zurück.
  Mit Zitat antworten Zitat