AGB  ·  Datenschutz  ·  Impressum  







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

(dynamisches) Array?

Ein Thema von TheMiller · begonnen am 27. Nov 2003 · letzter Beitrag vom 28. Nov 2003
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

(dynamisches) Array?

  Alt 27. Nov 2003, 14:15
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
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#2

Re: (dynamisches) Array?

  Alt 27. Nov 2003, 14:39
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
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#3

Re: (dynamisches) Array?

  Alt 27. Nov 2003, 14:50
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:
 var
  MeinArray : Array[1..50] of Integer; // Ein Array von 1 bis 50
Ansprechen kann man dann jedes einzelne Element einzeln:
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:
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
Arrays können nicht nur Variablen speichern sondern auch Objekte.
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!
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

Re: (dynamisches) Array?

  Alt 27. Nov 2003, 14:53
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
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#5

Re: (dynamisches) Array?

  Alt 27. Nov 2003, 14:59
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
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: (dynamisches) Array?

  Alt 27. Nov 2003, 14:59
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
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: (dynamisches) Array?

  Alt 27. Nov 2003, 15:02
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
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#8

Re: (dynamisches) Array?

  Alt 28. Nov 2003, 10:37
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
  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 17: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