AGB  ·  Datenschutz  ·  Impressum  







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

Klassenchaos

Ein Thema von LWChris · begonnen am 29. Jul 2010 · letzter Beitrag vom 29. Jul 2010
 
Benutzerbild von LWChris
LWChris

Registriert seit: 27. Jul 2010
Ort: Erkelenz
22 Beiträge
 
Turbo Delphi für Win32
 
#1

Klassenchaos

  Alt 29. Jul 2010, 05:36
Hallo,

kann mir jemand auf die Schnelle sagen, wo hier der Fehler liegt?
Ich bekomme in TAlbum.GetSC immer vor dem Songs einen Fehler E2066 Operator oder Semikolon fehlt

Delphi-Quellcode:
function TAlbum.GetSC: Integer;
begin
  result:=Length(<HIER>Songs);
end;


Bei allen anderen Klassen klappt alles; wenn ich Length(Songs) durch ein schlichte 0 ersetze, klappt es auch.

Delphi-Quellcode:
unit U_Tools;

interface

uses
  SysUtils, Classes, Links;

// Parameters
type
  TAlbumType = (atAlbum, atDoubleAlbum, atCompilation, atSingle, atEP, atBoxSet,
               atDisneyST, atMovieST, atMusicalST, atTVSeriesST, atVideoGameST);

// Forward declarations
  TAlbum = class;
  TSong = class;

// Classes
  TArtist = class
    Links: TLinks;
    Name: String;
    Albums: Array of TAlbum;
    Songs: Array of TSong;
    function GetAC: Integer;
    function GetSC: Integer;
    procedure AddAlbum(Album: TAlbum);
    procedure AddSong(Song: TSong);
    property AlbumCount: Integer read GetAC;
    property SongCount: Integer read GetSC;
  end;

  TAlbum = class
    Links: TLinks;
    Title: String;
    Year: String;
    Artist: TArtist;
    Songs: Array of TSong;
    AlbumType: TAlbumType;
    Length: Integer;
    Genre: String;
    function GetSC: Integer;
    procedure AddSong(Song: TSong);
    property SongCount: Integer read GetSC;
  end;

  TSong = class
    Links: TLinks;
    Title: String;
    Artist: TArtist;
    Albums: Array of TAlbum;
    function GetAC: Integer;
    procedure AddAlbum(Album: TAlbum);
    property AlbumCount: Integer read GetAC;
  end;

function FLetterUC(Title: String): String;

implementation

function FLetterUC(Title: String): String;
var a: Integer; NextLetterUC: Boolean;
begin
  result:=''; NextLetterUC:=True;
  for a:=1 to Length(Title) do
    begin
      if NextLetterUC then
        result:=result+AnsiUpperCase(Title[a])
      else
        result:=result+Title[a];
      NextLetterUC:=((Title[a]=' ') or (Title[a]='('));
    end;
end;

// ARTIST //

function TArtist.GetAC: Integer;
begin
  result:=Length(Albums);
end;

function TArtist.GetSC: Integer;
begin
  result:=Length(Songs);
end;

procedure TArtist.AddAlbum(Album: TAlbum);
begin
  SetLength(Albums,AlbumCount+1);
  Albums[AlbumCount-1]:=Album;
end;

procedure TArtist.AddSong(Song: TSong);
begin
  SetLength(Songs,SongCount+1);
  Songs[SongCount-1]:=Song;
end;

// ALBUM //

function TAlbum.GetSC: Integer;
begin
  result:=Length(Songs);
end;

procedure TAlbum.AddSong(Song: TSong);
begin
  SetLength(Songs,SongCount+1);
  Songs[SongCount-1]:=Song;
end;

// SONG //

function TSong.GetAC: Integer;
begin
  result:=Length(Albums);
end;

procedure TSong.AddAlbum(Album: TAlbum);
begin
  SetLength(Albums,AlbumCount+1);
  Albums[AlbumCount-1]:=Album;
end;

end.
Ich bin vollkommen ratlos
Chris
Software: schnell, effektiv, günstig. Wähle zwei.
  Mit Zitat antworten Zitat
 


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 23:19 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