Tablica obiektów klas

2011-11-23 14:49
0

Witam, mam problem z utworzeniem tablicy obiektów klas. Z pojedynczą klasą wszystko działa, bo robione według wytycznych z tej strony:

type
  TMojaKlasa = class
  imie : string;
  nazwisko : string;
  end;

var
  Klasa : TMojaKlasa; 
begin
  Klasa := TMojaKlasa.Create; 
end;

Gorzej gdy chcę zrobić tablicę (array of TMojaKlasa;) bo nie wiem jak powinien wyglądać jej konstruktor. Z góry dziękuje za pomoc.

Pozostało 580 znaków

2011-11-23 14:57
0

Gorzej gdy chcę zrobić tablicę (array of TMojaKlasa;) bo nie wiem jak powinien wyglądać jej konstruktor.
nijak, tablicy dynamicznej się nie konstruuje, tylko ustala jej wielkość:

var tablica:array of TMojaKlasa;
...
setlength(tablica,100);

teraz masz tablicę wyzerowaną, tj. każdy element od 0 do 99 ma wartość nil.

tablica[0] := TMojaKlasa.Create;

ale lepsza będzie klasa TObjectList, bo pozwala na automatyczne zniszczenie wszystkich elementów.

edytowany 1x, ostatnio: Azarien, 2011-11-23 14:59

Pozostało 580 znaków

2011-11-23 15:00
0

Dziękuje bardzo, teraz to się wydaje takie oczywist :D Jeszcze raz dziękuje.

Pozostało 580 znaków

2011-11-23 20:59
0

a nie lepiej?

for I := Low(Tablica) to High(Tablica)
  Tablica[I] := TMojaKlasa.Create;

Pozostało 580 znaków

2011-11-23 21:18
LulHax
0

a nie lepiej?

A nie lepiej?

for I := 0 to length(tablica)-1 do Tablica[I] := TMojaKlasa.Create;
low i high czy 0 i length-1 da dokładnie to samo. pierwsze jest bardziej w duchu Pascala, drugie wzięte z C. - Azarien 2011-11-24 01:22

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0