Читаем Delphi полностью

 f1, f2: file of Byte; //Работа с первым и вторым файлом

 сор: Byte; //Для побайтового копирования

 sizez: LongInt; //Хранит размер файла

begin

 {$I-} //Отключаем директиву, которая отслеживает ошибки

 //ввода/вывода

 try //Начало блока обработки исключений

  //Связываем файловую переменную f1 с первым файлом

  AssignFile(f1, from.Text);

  //Связываем файловую переменную f2 со вторым файлом

  AssignFile(f2, where.Text);

  Reset(f1);  //Открываем первый файл на чтение

  sizez:= Trunc(FileSize(f1)); //Определяем размер файла

  //Отображаем размер файла для пользователя

  Label4.Caption:= IntToStr(sizez div 1024) + 'Кб';

  {Создаем второй файл или перезаписываем его, если он уже существует}

  Rewrite(f2);

  while not Eof(f1) do

  begin //Пока не достигнут конец первого файла

   //Считываем один байт из первого файла

   BlockRead(fl, cop, 1);

   //Записываем один байт во второй файл

   BlockWrite(f2, cop, 1);

  end;

  CloseFile(f1); //Закрываем первый файл

  CloseFile(f2); //Закрываем второй файл

 finally;

 end;//Конец блока обработки исключений

 if IOResult<> 0 //Если возникла ошибка ввода-вывода

 then MessageDlg('Ошибка при копировании файла!', mtError, [mbOk],0) //сообщение об ошибке

 else begin

  {Если ошибок не было, то выводим окно об успешном окончании копирования}

  ShowMessage('Успешно скопировано!');

 end;

end;

⇘ Различные конструкции языка Object Pascal (комментарии, операторы ветвления, обработка исключений и др.) рассматриваются в приложении Г.

Эта процедура будет использоваться при копировании и переносе файлов. Сначала мы открываем файлы, которые выбрал пользователь, а затем проверяем, не было ли ошибок при их открытии. Если ошибок не было, то отображаем пользователю размер исходного файла и начинаем считывать байты из первого файла, записывая их во второй. Если копирование завершено и ошибок при этом не произошло, то отображаем сообщение об успешном окончании копирования.

Процедура doit вызывается при нажатии кнопки Копировать:

procedure TForm1.Button1Click{Sender: TObject);

begin

 doit;

end;

По нажатию кнопки Вырезать должно происходить обычное копирование с последующим удалением скопированного файла:

procedure TForm1.Button5Click(Sender: TObject);

begin

 doit;//копируем

 DeleteFile(from.Text); //удаляем исходный файл

end;

Теперь создадим процедуры выбора и сохранения файла с помощью стандартных диалоговых окон. Для выбора первого (исходного) файла следует создать следующий обработчик события OnClick (кнопке Button2 соответствует поле from):

procedure TForm1.Button2Click(Sender: TObject);

begin

 if Open1.Execute

 then from.Text:= Open1.FileName

 else ShowMessage('Файл не был открыт');

end;

При нажатии кнопки Обзор открывается диалоговое окно выбора файла (Open1.Execute). Если в этом окне пользователь нажал кнопку Отмена (Open1.Execute = False), то сообщаем ему об этом и не выполняем никаких действий. Если пользователь выбрал файл, то копируем путь к нему в соответствующее поле ввода.

Создадим аналогичный обработчик события для выбора пути назначения при копировании первого файла (кнопке Button3 соответствует поле where):

procedure TForm1.Button3Click(Sender : TObject);

begin

 if Save1.Execute

 then where.Text:= Save1.FileName

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных