Wie denn sonst? Mit Records? Wir leben doch schon lange im Zeitalter der Objekt-orientierten Programmierung.
Die Größe begrenzen will ich eigentlich nicht. Wo hast du denn Probleme im Code? Ich seh grade ganz oben fehlt was:
Delphi-Quellcode:
type
TCd = class(TObject)
interpreter : string;
albumTitle : string;
genre : string;
songTitles : TStringList;
private
procedure setValues(interpreter, albumTitle, genre : string);
procedure addTitle(songTitles : TStringList);
end;
Auch wenn die prozeduren nicht relevant sind...Wenn ihr das braucht, hier der Code zum "erstellen" einer CD:
Delphi-Quellcode:
//Button "CD hinzufuegen"
procedure TForm1.Button1Click(Sender: TObject);
begin
cd := TCd.create; //erstelle pro CD neues Objekt
cd.setValues(edit1.text, edit2.text, edit3.text); //Interpret, etc. eintragen
cdList.add(cd); //CD in Liste hinzufügen
with stringGrid1 do
begin
//CD in StringGrid einfügen
cells[0, rowCount - 1] := intToStr(rowCount - 1);
cells[1, rowCount - 1] := cd.interpreter;
cells[2, rowCount - 1] := cd.albumTitle;
cells[3, rowCount - 1] := cd.genre;
rowCount := rowCount + 1; //StringGrid um neue Zeile erweitern
end;
//Markierung aufheben
stringGrid1.selection := TGridRect(Rect(-1, -1, -1, -1));
end;