AGB  ·  Datenschutz  ·  Impressum  







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

Eigenen Typ in Klasse

Ein Thema von zer00 · begonnen am 15. Jul 2006 · letzter Beitrag vom 9. Aug 2006
Antwort Antwort
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#1

Re: Eigenen Typ in Klasse

  Alt 22. Jul 2006, 10:25
Hallo zer00,

wenn du statt einer TList eine Delphi-Referenz durchsuchenTObjectList aus der Unit Contnrs verwendest, übernimmt diese die Freigabe der enthaltenen Elemente. Vielleicht wäre es noch besser, in der Unit 'Termin' eine abgeleitete Klasse zu definieren:

Delphi-Quellcode:
// uses Contnrs;

type
  TTerminListe = class (TObjectList)
  private
    function GetTermin (aIndex: Integer): TTermin;
  public
    function NeuerTermin (const aName, aNr: string): TTermin;
    property Termin [aIndex: Integer]: TTermin
      read GetTermin; Default;
  end;

function TTerminListe.GetTermin (aIndex: Integer): TTermin;
begin
  Result := TTermin(Items[aIndex]);
end;

function TTerminListe.NeuerTermin (const aName, aNr: string): TTermin;
begin
  Result := TTermin.Create(aName, aNr);
  Add(Result);
end;
Wenn du dieser Klasse weitere Methoden spendierst (z.B. LoescheTermin), dann kannst du die gesamte Verwaltung der Termine dort kapseln.
Die Verwendung in deinem Programm könnte etwas so aussehen:

Delphi-Quellcode:
var Liste : TTerminListe;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Edit1.Text := Liste[index].Name;
  Edit2.Text := Liste[index].nr;
end;
Noch eine Bemerkung zu den Prozeduren 'Button4Click' und 'Button5Click': du weißt hoffentlich, daß immer nur eine Anweisung von einem IF abhängt. Wenn alle drei Anweisungen nur im True-Fall ausgeführt werden sollen, dann mußt du sie mit BEGIN..END klammern:

Delphi-Quellcode:
if(index > 0) then
begin
  dec(index);
  Label2.Caption:= IntToStr(index);
  Self.Button2.Click;
end;
Du solltest den Controls auf deinem Formular übrigens aussagekräftigere Namen geben, dann muß man nicht raten, was die einzelnen Routinen bewirken.

Gruß Hawkeye
  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 15:35 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