Einzelnen Beitrag anzeigen

profmaster

Registriert seit: 9. Feb 2005
Ort: Frakfurt/Oder
21 Beiträge
 
Delphi 7 Professional
 
#6

Re: Untere Grenze statisches Array

  Alt 20. Sep 2005, 14:40
Hallo BrunoT!

Ich vermute, dass intern das Array wie ein dynamisches Array aufgebaut wird, aber eben vom Compiler mit den Vorgaben in der Typdefinition. Und dynamische Arrays beginnen immer mit Index Null. Hab ich aber noch nicht getestet. Ein mögliches Testprogramm wäre folgendes:

Delphi-Quellcode:
unit Test;

interface

type
  TArray = array[5..8] of integer;

var
  ZArray: TArray;

procedure Zuweisen(values: array of integer);

implementation

procedure Zuweisen(values: array of integer);
var i,j: integer;
begin
  for i:=0 to 8 do begin ZArray[i] := values[j]; inc(j); end;
end;

end.

program Zuw;

begin
  Zuweisen([1,2,3,4,5,6,7,8]);
end.
Kann aber nicht gesund sein, wenn das noch funzt. Du solltest folgendes machen:

Delphi-Quellcode:
procedure Zuweisen(values: array of Integer;
va i,j: Integer;
begin
   try
     for i:=0 to 8 do begin ZArray[i] := values[j]; inc(j); end;
   except
     on ERangeError do ...
   end;
end;
Gegebenenfalls solltest Du Bereichüberwachung einschalten oder im Programmtext dafür sorgen, dass die Arraygrenzen nicht überschritten werden können.

Viel Erfolg wünscht Dir

profmaster
  Mit Zitat antworten Zitat