AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array type required

Ein Thema von P4CM4N · begonnen am 21. Sep 2007 · letzter Beitrag vom 21. Sep 2007
Antwort Antwort
P4CM4N

Registriert seit: 14. Jun 2007
49 Beiträge
 
#1

Array type required

  Alt 21. Sep 2007, 12:38
Hi, wenn ich folgendes in Delphi starte kommt die Fehlermeldung "arry type required". Was ist da falsch?
Delphi-Quellcode:
unit Unit2;

interface
type zahl=Array [1..49] of Integer;
procedure Lotto (a:integer; var zahl);
implementation

procedure Lotto (a:integer; var zahl);

begin
a:=0;
repeat
zahl[a]:=0;
a:=a+1;
until a=49;
Das ganze ist in einer eigenen unit und soll später in die ertse Unit übergeben werden.

Danke für eure Hilfe
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Array type required

  Alt 21. Sep 2007, 12:41
Zitat von P4CM4N:
procedure Lotto (a:integer; var zahl);
Darum hat man in Delphi den "T"-Prefix vor Typen. Da sieht man auf den ersten Blick, was hier falsch ist.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Array type required

  Alt 21. Sep 2007, 12:43
Du willst ein array übergeben, dass du im Typ Zahl deklariert hast.
1. Die Variable a brauchst du anscheinend nicht als Übergabevariable. Leg sie mal lokal an!
2. übergib nicht einfach "var zahl" sondern "var irgednetwas:zahl". "Zahl" ist bei dir jetzt ein neuer Typ (ähnlich integer). Solche Typen benent man am besten immer mit einem T vorne an als "type TZahl=..." dann kannst du auch bessser "var Zahl:Tzahl" deklarieren.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
P4CM4N

Registriert seit: 14. Jun 2007
49 Beiträge
 
#4

Re: Array type required

  Alt 21. Sep 2007, 12:48
Gut, es geht. Danke
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#5

Re: Array type required

  Alt 21. Sep 2007, 13:02
schau dir noch mal deine grenzen an im bezug auf das array und wie du es bearbeitest!

tipp wenn du feste grenzen und einen festen ablaufplan hast, dann nimm lieber eine for-schleife anstatt eines repeat/while konstrukts.
  Mit Zitat antworten Zitat
P4CM4N

Registriert seit: 14. Jun 2007
49 Beiträge
 
#6

Re: Array type required

  Alt 21. Sep 2007, 13:15
Ich hab das ganze eh nochmal ein bisschen geändert, weil ich kein so großes Arry brauche.
Trotzdem Danke
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Array type required

  Alt 21. Sep 2007, 16:43
Zitat von P4CM4N:
Ich hab das ganze eh nochmal ein bisschen geändert, weil ich kein so großes Arry brauche.
Trotzdem Danke
Nur damit du den Hinweis verstehst: Du greifst auf Element 0 des Arrays zu, welches es ja nicht gibt, da dein Array von 1 an deklariert ist.

Ich empfehle dir dringend die Bereichs- und Überlaufprüfung in den Projektoptionen unter Compiler einzuschalten und das Projekt neu zu erstellen. Dann würdest du zumindest auf einen solchen Fehler zur Laufzeit hingewiesen.
  Mit Zitat antworten Zitat
P4CM4N

Registriert seit: 14. Jun 2007
49 Beiträge
 
#8

Re: Array type required

  Alt 21. Sep 2007, 16:57
Ja, also müsste das ganze bei a:=1 beginnen nicht wahr?
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Array type required

  Alt 21. Sep 2007, 17:45
Zitat von P4CM4N:
Ja, also müsste das ganze bei a:=1 beginnen nicht wahr?
Richtig, da du ja erst nach dem Zugriff auf das Array i erhöhst. Würdest du das vor dem Array-Zugriff machen, dann könntes es bei i:=0 ausserhalb der Schleife bleiben. Vor allem würdest du dann alle Elemente bis auf 49 belegen. Bisher belegst du das Element [49] nicht, da du zu früh die Schleife verlässt. Wenn i gerade frisch auf 49 erhöht wurde, dann steigst du aus der Schleife aus und greifst somit niemals auf das Element [49] des Arrays zu.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#10

Re: Array type required

  Alt 21. Sep 2007, 18:39
Delphi-Quellcode:
a:=0;
repeat
zahl[a]:=0;
a:=a+1;
until a=49;
besser...

Delphi-Quellcode:
for a:=49 downto 1 do
begin
  zahl[a]:=0;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 14: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