Obter array
Tem o seguinte código:
type TTileMap = Record
Map:array[1..28,1..5]of integer;
end;
------------------------------------
Map:TTileMap;
MapFile:file of TTileMap;
------------------------------------
AssignFile(MapFile,´arquivo.vid´);
Reset(MapFile);
Read(MapFile,Map);
Queria saber como eu faço pra ler esse arquivo e pegar apenas um valor da array, como por exemplo map.map[1,4]. Porque minha preocupação é que o ´arquivo.vid´ fique muito grande e torne o programa lento quando ele pegar a array de uma só vez.
type TTileMap = Record
Map:array[1..28,1..5]of integer;
end;
------------------------------------
Map:TTileMap;
MapFile:file of TTileMap;
------------------------------------
AssignFile(MapFile,´arquivo.vid´);
Reset(MapFile);
Read(MapFile,Map);
Queria saber como eu faço pra ler esse arquivo e pegar apenas um valor da array, como por exemplo map.map[1,4]. Porque minha preocupação é que o ´arquivo.vid´ fique muito grande e torne o programa lento quando ele pegar a array de uma só vez.
Astrogobild
Curtidas 0
Respostas
Aristodemo
06/09/2003
Voce pode usar FilePos para tentar aproximar do array.
Mas considere a possibilidade de carregar todo o arquivo para a memória... não fica pesado e vai economizar dor de cabeça pra vc...
Tenho um sistema que desenvolvi aqui que grava toda a informação de um array em arquivo e este não passa dos 200Kbytes para 3000 registros!
TInfoMatricula = record
Nome: string[40];
Curso: integer;
Serie: integer;
Periodo: integer;
Matricula: string[10];
ES: boolean;
end;
Espero ter ajudado.
Abraços...
Mas considere a possibilidade de carregar todo o arquivo para a memória... não fica pesado e vai economizar dor de cabeça pra vc...
Tenho um sistema que desenvolvi aqui que grava toda a informação de um array em arquivo e este não passa dos 200Kbytes para 3000 registros!
TInfoMatricula = record
Nome: string[40];
Curso: integer;
Serie: integer;
Periodo: integer;
Matricula: string[10];
ES: boolean;
end;
Espero ter ajudado.
Abraços...
GOSTEI 0