[Pascal] wyzsza pamiec

0

cze all

mam problem ze zmiennymi dynamicznymi w pascalu... a zwlaszcza jak
wsadzic do wyzszej pamieci tablice np.:

const s:array[0..255,0..255] of byte;

?

czyzby tak:

const s:array[0..255,0..255] of ^byte;

a jezeli tak to jak pozniej sie odwolywac do tej tablicy?!

mysle ze mi ktos pomozesz bo sie mecze nad pewnym programem:(

nara&pozdrowienia

Nospe

0

O co chodzi ci z tą pamięcią górną?
Chcesz wrzucić do pamięci rozszerzonej (>640 KB) czy raczej chodzi o zniesienie ograniczenia 64KB dla danych statycznych?
Jeżeli to drugie, to nie możesz tego tak zrobić jak próbujesz. Nie możesz w ogóle użyć konwencjonalnych tablic (array). Wykorzystaj zmienne dynamiczne. Np:
type PTablica = ^TTablica
TTablica = record
Warosc: Byte;
Prawo, Dol: PTablica; {wskaźniki do sąsiednich komórek. Można to rozszerzyć także o Gora i Lewo}
end;

I dynamicznie tworzysz tablicę:
procedure UtworzTab(PierwElem: PTablica);
var
j, k: Byte;
OstWiersz, Kol: PTablica;
begin
OstWiersz := PierwElem;
for j := 0 to 255 do
begin
New(Wiersz);
Wiersz^.Prawo := nil;
OstWiersz^.Prawo := Wiersz;
OstWiersz := Wiersz;
for k := 0 to 255 do
begin
New(Kol);
Kol^.Dol := nil;
Wiersz^.Dol := Kol;
Wiersz := Kol;
end;
end;

Pisałem z pamięci. Gwarancji na działanie nie dam.

--
Jest jeszcze jeden błąd ... :)
--------Oficjalny kanał----------
Service for programmers w IRC:
Kanał: #4programmers
Serwer: warszawa.ircnet.pl
Sieć: POLNet
Port: 6667

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