AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Array-Eigenschaften in eigenen Komponenten? Wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Array-Eigenschaften in eigenen Komponenten? Wie?

Ein Thema von mjenke · begonnen am 21. Okt 2003 · letzter Beitrag vom 22. Okt 2003
Antwort Antwort
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.124 Beiträge
 
Delphi 11 Alexandria
 
#1

Re: Array-Eigenschaften in eigenen Komponenten? Wie?

  Alt 21. Okt 2003, 13:59
Moin Matthias,

vereinfach könnte das so aussehen:

Delphi-Quellcode:
  TsvListe = class (TListBox)
  private
    function getColWidths(Index: Integer): INTEGER;
    procedure setColWidths(Index: Integer; const Value: INTEGER);
  protected
      FColWidths: array of integer;
// ...
  public
// ...
      property ColWidths[Index: Integer]: INTEGER read getColWidths write setColWidths;
  end;
implementation

{$R *.DFM}

{ TsvListe }

function TsvListe.getColWidths(Index: Integer): INTEGER;
begin
  Result := FColWidths[Index];
end;

procedure TsvListe.setColWidths(Index: Integer; const Value: INTEGER);
begin
  FColWidths[Index] := Value;
end;
Interne Felder würde ich allerdings auch immer unter private legen.

Ob Du nun ein statisches oder dynamisches array verwendest hängt davon ab, was Du brauchst.
Bei einem dynamischen array musst Du halt selber die Grösse verwalten, am Besten auch einen Index, der auf das nächste zu nutzende Element zeigt.
Ein dynamisches array sollte möglichst so gross initialisiert werden, wie man es braucht, und nur falls man sich doch verschätzt hat muss man es vergrössern. Deshalb ein Index, da man in diesem Falle nicht mit high(array) arbeiten kann.
Beim Vergrössern werden die Inhalte von dynamischen arrays i.d.R. in den neuen Speicherbereich umkopiert, und das gilt es zu vermeiden.

Wenn Du mindestens eine Pro Version hast kannst Du übrigens einfach mit dem Cursor in die Propertyzeile gehen, und STRG-SHIFT-C drücken, damit die Klasse automatisch vervollständigt wird.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 01:39 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