Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Ärger mit Array


Invisible - Sa 20.12.03 17:49
Titel: Ärger mit Array
Hi Leute,
ich möchte gerne Zahlen in einem Array speichern. Wenn ein Button gedrückt wird soll eine Zahl gespeichert werden und beim nächsten mal die nächste Zahl, so dass alle zahlen gespeichert werden. Leider hab ich Probleme damit der neuen Zahl auch einen neuen Speicherplatz zuzuordnen.

ich hab eingegeben:

Delphi-Quelltext
1:
2:
3:
4:
var zaehler : array[1..100of integer;
{...}
zaehler[a] := zahl;
a := a+1;

dabei kam eine Fehlermeldung sobald man zweimal drückt.

Könnt ihr mir helfen

danke

Moderiert von user profile iconPeter Lustig: Delphi-Tags hinzugefügt


Delete - Sa 20.12.03 17:57

Wie groß ist denn das Array und was für eins ist es? Statisch oder dynamisch.


Christian S. - Sa 20.12.03 18:16

Außerdem wäre es sicherlich hilfreich, zu verraten, um welche Fehlermeldung es sich handelt.


Andreas Pfau - Fr 26.12.03 22:41

Hallo,

@Luckie, er ist statisch (er hat einen Bereich deklariert). Oder war das edit...?

@Invisible, hast du "a" initialisiert? Die Variable muss mit "1" initialisiert werden. Außerdem solltest du jedesmal prüfen, ob a kleiner als 100 ist, da 100 die Maximale GRöße für deinen Array ist. Oder du nimmst einen dynamischen Array:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
var Zaehler: array of Integer;

{ ... }

// Beim Programmstart
SetLength(Zaehler, 0);

{ ... }

// Beim Button-Klicken
SetLength(Zaehler, Length(Zaehler) + 1);
Zaehler[High(Zaheler)] := Zahl;

{ ... }

// Beim Programmende
Finalize(Zaehler);

Wichtig dann: der Index beginnt immer bei 0, d.h. auf das erste Element wird mit

Delphi-Quelltext
1:
Zaehler[0]                    

zugegriffen.


Delete - Sa 27.12.03 05:41

Andreas Pfau hat folgendes geschrieben:
Hallo,

@Luckie, er ist statisch (er hat einen Bereich deklariert). Oder war das edit...?

Kuck auf die Zeit seiner Änderung und auf die Zeit meines Postings. :wink:


Andreas Pfau - Sa 27.12.03 13:38

Hallo,

OK, sorry. Jetzt liegt es an dir, zu beweisen, dass sich die Änderungen auf den Array bezogen :wink:

... ach was, ich glaub's dir mal.