Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.12.2012, 20:12
juraman1 juraman1 вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 6
Репутация: 10
Восклицание Срочно! Работа с файлами

Ребята помогите в таком вопросе, это фрагмент кода моего приложения, он отвечает за поиск в вбраном каталоге (TreeView1) файлов и подсчета контрольных сумм. Внимание вопрос, после работы с этой кнопкой (procedure TRGZ.Button1Click(Sender: TObject) последующее событие выдает ошибку Acces violation, ошибка доступа к участку памяти и указывается адресс. Полагаю я не правильно обеспечил работу с файлами, буду благодарен любой подсказке.

Код:
procedure TRGZ.Button1Click(Sender: TObject);
var
 sR: TSearchRec;
 sPath: string;
 s:string;
 f:longint;
 h,cs:DWORD;
begin
Memo1.lines.add('___________________________________________');
//Определение пути каталога
sPath:= '';
  if TreeView1.Selected=nil then
    Memo1.Lines.Add('Ошика! Вы не выбрали каталог!')
  else begin                                             //begin
  while TreeView1.Selected <> nil do
  begin
    sPath:= TreeView1.Selected.Text +'\'+sPath;
    TreeView1.Selected:= TreeView1.Selected.Parent;
  end;
  Delete(sPath, length(sPath), 1);


//Подсчет контрольных сумм
  if FindFirst(sPath+'\*.*', faAnyFile - faDirectory - faVolumeID, sR) = 0 then
  begin
    Memo1.Lines.Add('Найдены файлы со следующими суммами:'); i:=0;
    repeat
      f:=fileopen(sR.Name,fmOpenRead);   sA[i]:=sPath+'\'+sR.Name;
      SetLength(s,sR.Size);
      FileRead(f,s[1],length(s));
      fileclose(f);
      CheckSumMappedFile(@s[1],length(s),@h,@cs); iB[i]:=cs;  //Главная функция- изучи ее
      Memo1.Lines.Add(sA[i]+': '+IntToStr(cs)+';');
      inc(i);
    until FindNext(sR) <> 0;
  FindClose(sR);
  end
  else Memo1.Lines.Add('Файлов не найдено!');
  end;    //end
Memo1.lines.add('___________________________________________');
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter