Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массив записей, или мне срочно нужно выспаться :D 
:(
    Опции темы
Albinos_x
Дата 24.12.2005, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Доброго времени суток!

Суть проблемы. Использую массив записей, как делал это и раньше, и не раз:
Код

type
  TFileRecC = File of Byte;

type
  TRecTabFile = record
     rtNameSize : byte;       
     rtFileName : string;    
     rtFileSize : string[10];  
     rtFile : string;       
     end;

type
  TRecTab = array of TRecTabFile;

...

procedure FileRecCAdd(FileName,PachFileName, Z :String; var TypeFile:TRecTab);
var
    index:integer;
begin
index:=length(TypeFile)+1;
SetLength(TypeFile,index);
TypeFile[index].rtNameSize:=Length(PachFileName);
TypeFile[index].rtFileName:=PachFileName;
TypeFile[index].rtFile:=FileName;
TypeFile[index].rtFileSize:=Z;
end;

procedure RecTabAddFull(dir:string; var TypeFile:TRecTab);
var Filename:TStringList;
    PachName:TStringList;
    Z:TStringList;
    i,con:word;
begin
Filename:=TStringList.Create;
PachName:=TStringList.Create;
Z:=TStringList.Create;
Filename.Clear;
PachName.Clear;
Z.Clear;
ScanDir(Dir, Dir, Filename, PachName,Z);
con:=Filename.Count;
if con>0 then
   begin
   for i:=0 to (con-1) do
      begin
      FileRecCAdd(Filename.Strings[i],PachName.Strings[i],Z.Strings[i],TypeFile);
      end;
   end;
Filename.Free;
PachName.Free;
end;

...


но процедура
Код

procedure FileRecCAdd(FileName,PachFileName, Z :String; var TypeFile:TRecTab);
var
    index:integer;
begin
index:=length(TypeFile)+1;
SetLength(TypeFile,index);
TypeFile[index].rtNameSize:=Length(PachFileName);
TypeFile[index].rtFileName:=PachFileName;
TypeFile[index].rtFile:=FileName;
TypeFile[index].rtFileSize:=Z;
end;

выполняется только один раз, а на второй раз, на строчке:
Код

SetLength(TypeFile,index);

вылетает дебаггер...
сначала в коде была TypeFile[index].rtFile - типа TFileRecC (файловая переменная), думал что из-за этого, но и замена на строку с именем файла ничего не дало...

Заранее всем Спасибо!!!


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 24.12.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



всё проблема решена... простите, что отвлёк... действительно нужно выспаться, простейшая невнимательность:
Код

procedure FileRecCAdd(FileName,PachFileName, Z :String; var TypeFile:TRecTab);    
var    
    index:integer;    
begin    
index:=length(TypeFile)+1;    
SetLength(TypeFile,index);    
TypeFile[index-1].rtNameSize:=Length(PachFileName);    
TypeFile[index-1].rtFileName:=PachFileName;    
TypeFile[index-1].rtFile:=FileName;    
TypeFile[index-1].rtFileSize:=Z;    
end;

хотя всё равно не понятно почему один раз выполнялось... хотя не должно было...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.