Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2012, 10:50   #1
Xoma37
 
Регистрация: 10.09.2012
Сообщений: 5
Вопрос Программа для копирования файла из одного места в другое с просчётом размера исходного файла (Delphi)

Программа для копирования файла из одного места в другое с просчётом размера исходного файла.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    where: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    from: TEdit;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit3: TEdit;
    Open1: TOpenDialog;
    Save1: TSaveDialog;
    Label4: TLabel;
    Panel1: TPanel;
    Edit4: TEdit;
    Edit5: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Button3: TButton;
    Label9: TLabel;
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

    procedure doit;

  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
procedure doit;
var
*f1, f2: file;* //Работа с первым и вторым файлом
*cop: 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(f1, 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;

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
if Save1.Execute
*then where.Text:= Save1.FileName
*else ShowMessage('Вы не выбрали место длясохранения файла!');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
*doit;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if Open1.Execute
*then from.Text:= Open1.FileName
*else ShowMessage('Файл не был открыт');
end;

end.
Заранее спс за помощь.

Последний раз редактировалось Stilet; 10.09.2012 в 19:58.
Xoma37 вне форума Ответить с цитированием
Старый 10.09.2012, 15:16   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Не похоже, что вы его писали. Код написан кем-то, и специально "не допущен" к компиляции, с целью научить вас хотя бы понять его, и самостоятельно найти ошибки.

В самом коде ошибок нет и он работает нормально.

Найдите и устраните причины, по которым компилятор не кушает код.
Человек_Борща вне форума Ответить с цитированием
Старый 10.09.2012, 19:58   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не удивительно.
Символ звездочек не дает компилятору спокойно проглотить код
Звездочки то поубирай.

И конечно же (как я мог забыть) тебе придется пересобирать весь проект, все контролы, подключать к ним нужные обработчики
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.09.2012, 17:57   #4
Xoma37
 
Регистрация: 10.09.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Не похоже, что вы его писали. Код написан кем-то, и специально "не допущен" к компиляции, с целью научить вас хотя бы понять его, и самостоятельно найти ошибки.

В самом коде ошибок нет и он работает нормально.

Найдите и устраните причины, по которым компилятор не кушает код.
Да Вы правы частично код списан частично исправлен мной. Спасибо за подсказку, но мне бы желательно поконкретней, почему "Не кушает"?
Xoma37 вне форума Ответить с цитированием
Старый 11.09.2012, 17:58   #5
Xoma37
 
Регистрация: 10.09.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не удивительно.
Символ звездочек не дает компилятору спокойно проглотить код
Звездочки то поубирай.

И конечно же (как я мог забыть) тебе придется пересобирать весь проект, все контролы, подключать к ним нужные обработчики
Спс за помощь. Буду мучатся дальше.
Xoma37 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт для копирования и переименовывания файла linka.smith Помощь студентам 4 01.08.2012 00:27
Настройка ленты для одного единственного файла в Excel 2010 ymnuhj Microsoft Office Excel 3 20.04.2012 10:32
проблема при копировании одного столбца из одного файла в другой файл tanunya Помощь студентам 0 24.02.2012 21:30
сравнение размера файла в интернете с размером файла на компьютере Excellion Общие вопросы Delphi 19 09.01.2011 17:33
[Delphi] Замена одного слова на другое... ZhooZhik Помощь студентам 5 09.01.2008 23:31