Autor |
Beitrag |
Novilos
Hält's aus hier
Beiträge: 4
|
Verfasst: Mo 13.02.06 21:40
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.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: 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.
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: 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); | 
Zuletzt bearbeitet von Marc. am Mo 13.02.06 22:11, insgesamt 1-mal bearbeitet
|
|
Marco D.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Mo 13.02.06 22:05
Hast du nicht randomize vergessen? 
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
Fädas
      
Beiträge: 73
Win XP
Delphi 5
|
Verfasst: Mo 13.02.06 22:25
// EDIt: egal vergesst es einfach
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: 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? 
|
|
Fädas
      
Beiträge: 73
Win XP
Delphi 5
|
Verfasst: 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.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: 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 
|
|
Marco D.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Mo 13.02.06 22:37
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
Fädas
      
Beiträge: 73
Win XP
Delphi 5
|
Verfasst: Mo 13.02.06 22:43
KP, war nur am Anfang zu blöd das Kommentar zu sehen ^^
|
|
Novilos 
Hält's aus hier
Beiträge: 4
|
Verfasst: 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
Zuletzt bearbeitet von Novilos am Mo 13.02.06 23:16, insgesamt 1-mal bearbeitet
|
|
Fädas
      
Beiträge: 73
Win XP
Delphi 5
|
Verfasst: Mo 13.02.06 23:11
Delphi-Quelltext
|
|
Novilos 
Hält's aus hier
Beiträge: 4
|
Verfasst: 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
      
Beiträge: 73
Win XP
Delphi 5
|
Verfasst: 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 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mo 13.02.06 23:34
yeah super!
Vielen Dank euch!
Ihr habt mir sehr geholfen!
Bis zu nächsten Frage
Mfg
Oli
|
|
Ironwulf
      
Beiträge: 733
Erhaltene Danke: 2
|
Verfasst: 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]
|
|