Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.155 pregleda

Najnovija ↓

Record kao Array 08.06.2014. u 13:25 · pre 150 meseci #1
Da li je moguce pristupiti elementima sloga kao da su elementi niza
primer
imam
Slog = record
el1:Integer;
el2:Integer;

......
eln:Integer;
end;

posto su svi elementi istog tipa, a treba svima da odradim istu stvar ,da li moze umesto da pristupam svakom elementu pojedinacno
da koristim sistem kao kod nizova.
Trazio sam ovo na internetu ali nisam uspeo da nadem pa mozda neko zna

Pozdrav
Re: Record kao Array 08.06.2014. u 13:35 · pre 150 meseci #2
Koliko znam, recordi nemaju RTTI, tako da to sto hoces nije moguce. Preporucio bih ti da umesto recorda koristis klase.
Re: Record kao Array 08.06.2014. u 13:54 · pre 150 meseci #3
Pretpostavljam da ti ovo ne odgovara:

Code:

  Slog = record
    el: array[1..n] of integer;
  end;


U tom slucaju, pokusaj ovako nesto:

Code:

type
  TSlog = record
    el1: integer;
    ...
    eln: integer;
  end;

  TRecElemArray = array[1..n] of integer;
  PRecElemArray = ^TRecElemArray;

procedure ReadRecordAsArray(var Slog: TSlog);
var
  RecElemArr: PRecElemArray;
  i: integer;
begin
  RecElemArr := @Slog[1]; // ili @Slog, probati; pre ce biti ono prvo

  i := RecElemArr^[4]; // sad citamo slog kao array
end;


Sve zavisi kakav je alignment record-a (podesava se u compiler options); ako je podesen na 4 bytes, ovo bi trebalo da radi.

Pozz
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme