Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Wie benutzt man arrays?
Novilos - Mo 13.02.06 21:40
Titel: Wie benutzt man arrays?
Hi,
bin ein ziemlicher Anfänger, bin aber inzwischen bis zu den arrays vorgedrungen.
Aber ich versteh die Hilfe in Delphi 3.0 bezüglich Arrays nicht genau und darum wollte ich fragen, ob mir jemand erklären kann, wie man arrays deklariert und wie man elemente hinzufügt/entfernt.
Das wäre ein große Hilfe für mich
Danke im Vorraus
Mfg
Novilos
Marco D. - Mo 13.02.06 21:53
Delphi-Quelltext
1: 2: 3: 4: 5:
| var arr : array[1..100] of integer;
arr[gewünschter_index]:=1909; |
Entfernen - wenns keine dynamischen sind, dann ist der Speicherplatz reserviert (glaub ich) - dann ist nichts mit Entfernen. Du kannst höchstens den String als '' machen oder integer auf 0 setzen.
Marc. - Mo 13.02.06 22:02
hallo!
einen array typ deklarieren:
Delphi-Quelltext
1: 2:
| TYPE Ta = Array[-100..100] of Boolean; VAR a, b: Ta; |
Ansonsten wozu man arrays beispielsweiße benutzt:
Die konventionelle Möglichkeit um 15 Zufallszahlen zu erzeugen...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var z1,z2,z3,z4,z5,z6,z7,z8, z9,z10,z11,z12,z13,z14,z15: integer; BEGIN randomize; z1 := random(100) z2 := random(100) z3 := random(100) z4 := random(100) z5 := random(100) z6 := random(100) z7 := random(100) ... z15 := random(100) end; |
Und die selbe aufgabe mit einem Array:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| .. var a: array[1..15] of Integer; i: byte; begin randomize; for i := 1 to 15 do z[i] := random(100); |
;)
Marco D. - Mo 13.02.06 22:05
Hast du nicht randomize vergessen? :mrgreen: :P
Fädas - Mo 13.02.06 22:25
// EDIt: egal vergesst es einfach
Marc. - Mo 13.02.06 22:28
was sollen wir vergessen?
wie wäre es, wenn du ihm anstelle von sinnloser kritik, erklärst, was es sich mit arrays auf sich hat? :roll: :wink:
Fädas - Mo 13.02.06 22:32
Ich wollte sagen, dass du wohl randomize geschrieben hast, aber das hast du ja einfach später verändert, oder?
Marc. - Mo 13.02.06 22:34
ah,
ich hatte zunächst randomize; vergessen, nachdem mich koller aber, darauf so freundlich hingewießen hatte, habe ich es einfach editiert :lol:
Marco D. - Mo 13.02.06 22:37
NoTVerYEvilPzYchO hat folgendes geschrieben: |
ah,
ich hatte zunächst randomize; vergessen, nachdem mich koller aber, darauf so freundlich hingewießen hatte, habe ich es einfach editiert :lol: |
Sorry falls das falsch rübergekommen ist. :wink:
Fädas - Mo 13.02.06 22:43
KP, war nur am Anfang zu blöd das Kommentar zu sehen ^^
Novilos - Mo 13.02.06 23:08
Hi,
erstmal vielen Dank für die Antworten!
Hab das mit dem Reinschreiben und Deklarieren verstanden.
Jetzt noch: Wie liest man sie aus? Wenn ich z.B. das dritte Element in einem Editfeld ausgeben will o.Ä.?
MfG
Novilos
Fädas - Mo 13.02.06 23:11
Novilos - Mo 13.02.06 23:15
ok gut das klappt soweit!
Noch eine Frage :)
Kann man einstellen, dass keine Zahl doppelt vorkommen darf?
Hab mal die ersten 8 alle in Edits ausgegeben und da waren manchmal einige doppelt.
Mfg
Novilos
Fädas - Mo 13.02.06 23:22
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| for i:=1 to 6 do begin zahl[i]:=0 end;
randomize;
repeat a:=random(49)+1; b:=random(49)+1; c:=random(49)+1; d:=random(49)+1; e:=random(49)+1; f:=random(49)+1; until (b<>a)and(c<>a) and (c<>a)and(c<>b)and(d<>a)and(d<>b)and(d<>c)and(e<>a)and(e<>b)and(e<>c)and(e<>d)and(f<>a)and(f<>b)and(f<>c)and(f<>d)and(f<>e); |
vielleicht geht das auch kürzer(ist aber eigentlich nicht so viel)
Novilos - Mo 13.02.06 23:34
yeah super!
Vielen Dank euch!
Ihr habt mir sehr geholfen!
Bis zu nächsten Frage
Mfg
Oli
Ironwulf - Di 14.02.06 00:05
ich glaub zu arrays soltle man noch erwähnen das es mehr dimensionale gibt, alle beispiele bisher waren eindimesionale
Delphi-Quelltext
1: 2:
| var arr : array[1..100,1..100] of integer; |
dies ist ein zweidimensionaler, wenn ich mich nicht irre kann man das ziemlich bis fast in die unendlichkeit forsetzen, das macht z.b. sinn für ein 2D spielfeld, was aus einzelnen feldern besteht, so hat man in dem beispiel zugriff auf 10000 variablen vom typ integer. und das alles von hand zu dimensioniern wäre doch ein wenig aufwendig ;D
und es ist recht einfach auf arrays mit zählschleifen zuzugreifen, da man statt der zahl arr[1,1] z.b. schreiben, kann arr[var1,var2]
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!