AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Vorsicht! statisches Array mit Startindex>0
Thema durchsuchen
Ansicht
Themen-Optionen

Vorsicht! statisches Array mit Startindex>0

Ein Thema von Photoner · begonnen am 27. Feb 2015 · letzter Beitrag vom 1. Mär 2015
 
Photoner

Registriert seit: 6. Dez 2012
Ort: Nürnberg
103 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Vorsicht! statisches Array mit Startindex>0

  Alt 27. Feb 2015, 12:42
Delphi-Version: XE5
Hi!
Es gibt die Möglichkeit statische Arrays (Typ egal) bei z.B. bei Index 1 anfangen zu lassen. Macht man dies und greift in einer Schleife- weil man es gewöhnt ist und es schneller zu tippen ist- mit Startindex 0 zu, liefert das dann falsche Werte. Halte ich für brandgefährlich.
Vieleicht ist das für viele eine olle Kamelle, aber mir war das so nicht bewusst und ich werde in Zukunft lieber mit Low() und High() arbeiten und würde dies auch jedem empfehlen.

Codebeispiel Konsolenanwendung:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

var
  Arr : Array [1..2] of Boolean;
  i : Integer;
begin
  try
    { TODO -oUser -cConsole Main : Code hier einfügen }
    Arr[1] := True;
    Writeln(BoolToStr(Arr[1]));
    Arr[2] := True;
    Writeln(BoolToStr(Arr[2]));
    Writeln('');
    //Writeln(BoolToStr(Arr[0])); // Zur Kompilierzeit [dcc32 Fehler] Project1.dpr(20): E1012 Konstantenausdruck verletzt untere Grenzen
    for I := 0 to High(Arr) do
      Writeln(BoolToStr(Arr[i]));
    Writeln('');
    for I := Low(Arr) to High(Arr) do
      Writeln(BoolToStr(Arr[i]));
    Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Ergibt:
-1
-1

0
-1
-1

-1
-1
Chris
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
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