Thema: Delphi Namensprogramm hilfe!

Einzelnen Beitrag anzeigen

raysto

Registriert seit: 6. Nov 2010
62 Beiträge
 
#9

AW: Namensprogramm hilfe!

  Alt 6. Nov 2010, 17:19
Sry das ich euch nerve, aber ich versteh nur Bahnhof xD
Das Kapitel, mit dem wir Arrays gelernt haben, sieht so aus:

Delphi-Quellcode:
Kapitel 13 - Arrays
Manchmal benötigt man ziemlich viele Variablen, dann ist es etwas problematisch immer wieder neue anzulegen. Auch die Mathematik kennt das Problem und benutzt dann statt der Variablen a, b, c, ... die Variablen a1, a2, a3, ...
Das gleiche Prinzip kann man auch in der Informatik nutzen. Hier heißen solche indizierten Variablen Arrays. Statt der Variable a, b, c, ... legt man sich hier die Variable a[1], a[2], a[3], ... an. Auch diese Variablen müssen einen bestimmten Typ besitzen. Möchte man sich zum Beispiel die Belegung von einem Schachbrett merken, so kann man sich ein Array vom Typ String anlegen, dass von 1 bis 64 indiziert.
 var i : integer;
 var schachbrett: array[1..64] of string; // Legt sich ein Array namens schachbrett vom Typ string an
begin // Das Array akzeptiert einen Index zwischen 1 und 64
  for i := 1 to 64 do // Gehe alle 64 Felder durch und ...
    schachbrett[i]:=''; // ... weise diesen einen leeren String zu
  schachbrett[1]:='Turm'; // Weise dem ersten Feld den Wert 'Turm' zu
  schachbrett[2]:='Springer'; // usw ...
  schachbrett[3]:='Läufer';
  schachbrett[4]:='Dame';
  // ...
end;
Das obige Bespiel beschreibt ein sogenanntes eindimensionales Array. Manchmal möchte man aber auch Daten 2-dimensional ablegen (also in einer Art Tabelle). Dann kann man sich auch ein 2-dimensionales Array erstellen. Gerade beim Schach würde sich ein 2-dimensionales Array anbieten, da auch die Felder auf dem Schachbrett in mehrere Zeilen und Spalten unterteilt sind. Folgendes Beispeil verdeutlicht die Idee und die dazugehörige Syntax.
Delphi-Quellcode:
var i1,i2 : integer;
 var schachbrett: array[1..8,1..8] of string;
begin
  for i1 := 1 to 8 do
    for i2 := 1 to 8 do
      schachbrett[i1,i2]:='';
  schachbrett[1,1]:='Turm';
  schachbrett[2,1]:='Springer';
  schachbrett[3,1]:='Läufer';
  schachbrett[4,1]:='Dame';
end;

Wie man sieht hat jetzt das Array zwei Indizies. Sie rechen jeweils von 1 bis 8. So ergeben sich ebenfalls 64 Felder. Der große Unterschied ist, dass man sich do die Lage der Felder besser vorstellen kann und so besser und übersichtlicher programmieren kann. Selbstverständlich kann man auch Arrays mit noch mehr Dimensionen anlegen. Dies kommt aber in der gängigen Programmierpraxis eher selten vor.

Weitere Beispiele für Arrays sind:

Delphi-Quellcode:
VierGewinntFeld: array[1..7,1..6] of char; // entweder ' ' für leer oder 'g' für gelb, 'r' für rot
Namensliste: array[1..1000] of string; // hier kann man zum Beispiel eine Liste aller Schüler der Schule
                                           // oder Klasse anlegen. Man sollte sich dann aber noch eine Variable
                                           // NamenslisteCount vom Typ integer anlegen, in der man ablegt, wie
                                           // viele Einträge das Array derzeit besitzt. So kann man auch zur
                                           // Laufzeit weitere Einträge hinzufügen, so lange man nicht über
                                           // 1000 Einträge kommt.
UserListe: Array[1...9999] of TUser; // Eine Liste von Usern. Hier gibt es etwas besonderes, TUser ist
                                           // ein eigener Datentyp, den man vorher über das Schlüsselword
                                           // record angelegt hat.
Aufgaben:

Notiere dir wie immer die wichtige Inhalte in deinem Hefter. Insbesondere die fettgedruckten Wörter sind wichtig.
Finde mindestens drei weitere Beispiele für sinnvolle Arrays
Erstelle ein Programm, wo man in einem Textfeld beliebig viele Namen nacheinander eingeben kann. Die Namen werden nach dem Drücken vom Speichern-Button auf ein Array gelegt. Mit Drücken auf den Ausgabe-Button werden alle bisher eingegebenen Namen Nacheinander in einer Messagebox ausgegeben. Gebe das Programm ab

Da steht von euren Sachen noch gar nichts drin xD
Geht das nicht i-wie leichter?
Ich bin grad überfordert, sry...

Geändert von mkinzler ( 6. Nov 2010 um 18:04 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt und aufgespalten
  Mit Zitat antworten Zitat