![]() |
(dynamisches) Array?
Hey Leutz,
wer kann mir einen Link empfehlen, indem ich alles über (dynamisches) arrays lerne, was ich wissen sollte. Also, wo ist der Unterscied zwischen einem dynamischen array und einem normalen array. Für was brauche ich arrays usw... wäre cool, wenn ihr Links hättet, oder, wer will, mir auch hier antwortet.... danke im vorraus |
Re: (dynamisches) Array?
Hi,
super Link: OH Delphi Index: "array" alles unter siehe auch; und man ist schon ganz schön fitt. Diverse Threads, auch der letzten kürzeren Zeit, haben sich hier mit diesem Thema beschäftigt. Gruß oki |
Re: (dynamisches) Array?
Arrays sind allgemein Reihen von Variablen oder Objekten. Wenn man zB. für sein Programm 50 Integerwerte im Stil von Wert1, Wert2, Wert3.. braucht, kann man dies gut mit einem Array lösen.
Es gibt 2 Arten von Arrays, einmal statische und dynamische. Bei statischen Arrays wird von Anfang an die Größe bei der Deklaration festgelegt:
Delphi-Quellcode:
Ansprechen kann man dann jedes einzelne Element einzeln:
var
MeinArray : Array[1..50] of Integer; // Ein Array von 1 bis 50
Delphi-Quellcode:
var i : integer;
begin MeinArray[1] := 4; // Direkter Zugriff for i := 2 to 50 do // Füllen des Arrays MeinArray[i] := 50; Bei dynamischen Arrays kann man die Größe beliebig einstellen:
Delphi-Quellcode:
var
MeinArray : Array of Real; i : integer; begin setlength(MeinArray,5); for i := to 4 do // Füllen des Arrays MeinArray[i] := 50.541; setlength(MeinArray,60); // Größe ändern Darüber hinaus gibt es noch mehrdimensionale Arrays:
Delphi-Quellcode:
Arrays können nicht nur Variablen speichern sondern auch Objekte.
var
MeinArray : Array of Array of Real; // 2 Dimensionen (Matrix) AndererArray : Array of Array[1..8] of Boolean; // 2 Dimensionen mit festen und variablen Teil NochEinAndererArray : Array of Array of Array of Extended; // 3 Dimensionen i : integer; begin setlength(MeinArray,12,10); // Erstellt Array mit Größe 12x10 setlength(AndererArray,6); // Erstellt Array mit Größe 6 x 8 // ... etc
Delphi-Quellcode:
var
Bilder : Array of TImage; // Reihe von Bilder i : integer; begin setlength(Bilder,5); // 5 Bilder for i := 0 to high(Bilder) do //Schleife von 0 bis zur Größe des Arrays - 1 begin Bilder[i] := Timage.Create(Form1); // Objekte initialisieren with Bilder[i] do // Parameter begin left := 55 * i; top := 30; Picture.LoadfromFile('C:\Bild.bmp'); Parent := Form1; // Sonst sieht man nichts show; end; showmessage('Länge des Arrays ist '+inttostr(length(Bilder))+'!'); end; Wenn man zB. einen Array of TForm hat, und wenn man Fenster auch schließen können soll, entsteht eine Lücke im Array. Diese muss per Zählschleife geschlossen werden. So, das war eine kurze Zusammenfassung von Arrays. Ich hoffe es hilft! :) |
Re: (dynamisches) Array?
Ich hoffe es hilft?? Das ist klasse! Danke. Ich werde mich mal dran machen, denn ich versuche ein Programm zu schreiben, in dem ich Filme mit CD-Anzahl und Format und alles eintragen kann. Nur ich weis nicht so recht, wie ich da vorgehen soll.
Wer Interesse an einer Partnerarbeit hat, der möge sich bitte melden. Wäre cool |
Re: (dynamisches) Array?
Hallo!
Falls es noch Fragen gibt: auf meiner HP und im Delphi-Forum habe ich ein Tutorial zu Arrays veröffentlicht. Das ist etwas ausführlicher. MfG Peter |
Re: (dynamisches) Array?
Hi,
ob ich genug Zeit als Pate habe wird sich zeigen. Ob ich hilfreich bin auch. An deiner Stelle würde ich erst mal notieren was dein Programm alles können soll bevor ich gleich an dynamische Arrays denke. Nicht das da was kompliziert ist. Ich denke aber ein Objectorientierter Ansatz bringt dir vielleicht mehr. Zum Bsp. eine eigene Klasse aus TList; TStringList oder mehr. Also, sag mal kurz an was du machen willst. Gruß oki |
Re: (dynamisches) Array?
Ja also, ich habe das schon mal machen wollen, nur ich wusste nicht, wie ich ansetzen sollte. da ja uch Filme dazu kommen und sich dann die Werte verschieben.
Hm... Ja... Was meinst du mit einer eigenen Klasse? Ich programmiere schon zwar länger und auch realtiv gute Projekte nur leider sind die ein bissl oberflächlich. Wollte halt jetzt mal ein bisschen professioneller an die Sache gehen Ok, wer Lust, Zeit hat, der kann mir ja ein bissl helfen. Wäre cool |
Re: (dynamisches) Array?
Hi,
machen wir es uns doch mal einfach. Schreib auf, was das für ein Programm werden soll. (Ich denke ein Archivierungsprogramm). Dann schreib auf welche Daten du alle erfassen willst. Z.B. Medium (DVD, CD ...), Bezeichnung, Lagerort, Kategorie etc.; alles was dir einfällt und an Infos für dich interessant ist. Dann schreib auf, was du für Funktionen in deinem Programm brauchst. Z.B. neues Medium aufnehmen, Suchen, Medium löschen, Werte ändern (Verschieben etc). Wenn das alles so halbwegs vollständig ist überlegen wir uns, wie wir das am Besten aufbauen (DB ja/nein; welche Klassen legen wir uns wofür an usw.). Ich bin auch nicht der letzte Hecht in solchen Sachen, aber wenn noch andere helfen bekommen wir das bestimmt recht sauber strukturiert. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz