Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Klausur-Fragen

  Alt 2. Nov 2011, 16:37
Parameter:
Delphi-Quellcode:
procedure Foo( IchBinEinParameter : string );
var
  IchBinEineVariable : string;
begin
  // irgendwas
end;
Globale Variable:
Da besteht die Gefahr, dass man sich eben diese gegenseitig überschreibt:
Delphi-Quellcode:
var
  IchBinGlobal : integer;

procedure Foo1;
begin
  WriteLn( IntToStr( IchBinGlobal ) );
end;

procedure Foo2:
begin
  for IchBinGlobal := 1 to 10 do
    Foo1;
end;

procedure Foo3;
begin
  for IchBinGlobal := 1 to 10 do
    Foo2;
end;
besser also so (ganz ohne Globale Variable)
Delphi-Quellcode:
procedure Foo1( Value : integer );
begin
  WriteLn( IntToStr( Value ) );
end;

procedure Foo2:
var
  IchBinLokal : integer;
begin
  for IchBinLokal := 1 to 10 do
    Foo1( IchBinLokal );
end;

procedure Foo3;
var
  IchBinLokal : integer;
begin
  for IchBinLokal := 1 to 10 do
    Foo2;
end;
Procedure/Function Wert zurückliefern
Delphi-Quellcode:
function FooFunc : integer;
begin
  Result := 10;
end;

procedure FooProc( var Value : integer );
begin
  Value := 10;
end;

var
  FooValue : integer;
begin
  FooValue := 0;
  FooValue := FooFunc;
  WriteLn( IntToStr( FooValue ) ); // Ausgabe: 10

  FooValue := 0;
  FooProc( FooValue );
  WriteLn( IntToStr( FooValue ) ); // Ausgabe 10
end.
Record: da hast du ja im Prinzip schon die richtige Definition gegeben
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat