Урок Delphi 7 |
|
Уроки Delphi
1. Первая программа
2. Использование компонентов
3. События Delphi
4. Типы данных Delphi
5. Создание своих типов данных
6. Выражения и операторы
7. Работа с файлами в Delphi
8. Дополнительные формы
9. Подпрограммы в Delphi
10. Исключительные ситуации
11. Обзор компонентов
12. Работа со строками
13. Создание интерфейса
14. Графика в Delphi
15. Многопоточность в Delphi
16. Динамическое создание
компонентов Поиск по сайту Это важно:
Метод Application.ProcessMessages;
Это полезно:
Параметр Sender в обработчиках событий;
MirDivanov.ru - Огромный выбор диванов в Москве, барный угловой диван. Дешёвые цены! советы шины херсон r14 отзывы |
Передо мной никогда не стояла задача определения размера файла Delphi. Но после того как где-то увидел вопрос: "как определить размер файла", мне тоже стало интересно.
procedure TForm1.ButtonClick(Sender: TObject);type TSize = Record Bait: byte;end;var F: File of TSize; Size: Integer;beginSize:=0;with OpenDialog1 do if Execute then begin AssignFile(F, FileName); Reset(F); while (not EOF(F)) do begin Size:=Size+1; seek(F, Size); end;Form1.Caption:=IntToStr(Size); // Выводим информацию о размере в заголовок ФормыCloseFile(F); end;end;Программа была написана за пять минут, что называется, "на коленке". Она работает, и для файлов размером до нескольких мегабайт время ожидания результата невелико, несколько секунд. Для больших файлов ожидание затягивается, и программа выглядит "зависшей". Можно изменить программу так, чтобы она считала килобайты (заменить seek(F, Size) на seek(F, Size*1024)). Скорость работы возрастёт в 1024 раза, и уже будет приемлемой.Это была ещё одна демонстрация приёмов работы с файлами. А на самом деле всё гораздо проще! Размер файла возвращается встроенной функцией FileSize. А файл достаточно описать как имеющий тип byte: procedure TForm1.ButtonClick(Sender: TObject);var F: File of byte; Size: Integer;beginwith OpenDialog1 do if Execute then begin AssignFile(F, FileName); Reset(F); Size:=Filesize(F); Form1.Caption:=IntToStr(Size); // Выводим информацию о размере в заголовок Формы CloseFile(F); end;end;Есть альтернативный способ работы с файлами Delphi, в котором файл рассматривается как объект. Там также есть встроенные способы определения размера файла. Также приведу процедуру целиком: procedure TForm1.ButtonClick(Sender: TObject);var F: TFileStream;beginwith OpenDialog1 do if Execute then begin F:=TFileStream.Create(Filename, fmOpenRead); Caption:=IntToStr(F.Size); F.Free; end;end;Эта процедура выглядит компактнее, работает быстрее, но и требует дополнительной подготовки. Предыдущий урок
В начало урока
Следующий урокУслуги гувернантки, домработница киев (044)228-86-04. Интернет-магазин электрооборудования |
Просто сногсшибательное вечернее платье - почувствуйте себя королевой. |