Odczytać index elementu tablicy ze wskaźnika

Odpowiedz Nowy wątek
2006-11-07 22:39
0

Witam
Czy jest możliwość odczytać indexu elementu tablicy ze wskaźnika, który na ten element wskazuje ?
tzn:

var
  xxx : array[1..8] of integer;
  tmp : array[1..8] of ^Integer;

begin
  tmp[1] := @xxx[6];
  showmessage('indexem elementu tablicy, na który wskazuje wskaźnik jest '); //6 
end;

Pozostało 580 znaków

2006-11-07 22:57
0
var
  xxx : array[1..8] of integer;
  tmp : array[1..8] of ^Integer;
begin
tmp[1] := @xxx[6];
ShowMessage('indexem elementu tablicy, na który wskazuje wskaźnik jest'+
    IntToStr(low(xxx)+(integer(tmp[1])-integer(@xxx)) div sizeof(integer))
); //6
end;

Jeśli od znanego wskaźnika odejmiesz początkowy adres tablicy, otrzymasz ilość bajtów od początku tablicy. Jeśli to podzielisz przez rozmiar elementów tablicy, otrzymasz ilość elementów od początku tablicy. Jeśli dodasz do tego indeks pierwszego elementy, otrzymasz numer wskazywanego elementu.


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

2006-11-07 23:53
0

Świetnie !!!
Dzięki Ci, sam nawet nie sądziłem, że jest to możliwe...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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