Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.08;
Скачать: CL | DM;

Вниз

Копирование файла и ProgressBar   Найти похожие ветки 

 
ProfiUgl ©   (2002-06-26 08:37) [0]

Доброго дня суток мастера!
Есть накой пример в справке для Делфи:

procedure FileCopy(const FromFile, ToFile: string);

var
FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Char;
begin

AssignFile(FromF, FromFile);
Reset(FromF, 1); { Размер записи = 1 }
AssignFile(ToF, ToFile); { Открываем выходной файл }
Rewrite(ToF, 1); { Размер записи = 1 }
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;
Вопрос: Можно ли в этот кусок кода "вставить" ProgressBar
Спасибо.


 
Song ©   (2002-06-26 08:44) [1]

Если говорить про Ваш пример то в цикл нужно вставить приращение TGauge

А вообще это делается лечге через ShFileOperation() - здесь програссбар уже есть и через CopyFileEx() там его можно легко иммиторовать тоже.


 
ProfiUgl ©   (2002-06-26 08:52) [2]

>Song
Цитата: Если говорить про Ваш пример то в цикл нужно вставить приращение TGauge
А как насчет Gauge1.MaxValue ?


 
Song ©   (2002-06-26 08:59) [3]

Действительно, а что с ним? :-)
Приравняйте его на размер файла.

Не мучайтесь фигнёй, сделайте через ShFileOperation() - пять строк


 
ProfiUgl ©   (2002-06-26 09:20) [4]

>Song
Ну конечно с "Цитата: Приравняйте его на размер файла." Ты загнул!
Цитата: сделайте через ShFileOperation() - пять строк
Будь добр дай мне эти пять строк.
Спасибо


 
Song ©   (2002-06-26 09:54) [5]

Почему загнул? Аргументируй. Так оно и должно быть.
Насчёт пяти строк, поискать не в лом?


 
S. Babijchuk   (2002-06-26 10:57) [6]

Помогите решить такую задачу. Необходимо восстановить в моем приложении компонент TMainMenu, который находится на одной из форм в другом приложении. Я получил ресурс этой формы из exe-файла, сохранил его в потоке, установил позицию в потоке, соответствующую началу описания компонента TMainMenu и попытался использовать функции потока AStream.ReadComponent(AMenu) и AStream.ReadComponentRes(AMenu). В обоих случаях одна и таже ошибка "Invalid stream format.", но по разным причинам. В первом случае не совпадают сигнатуры, а во втором случае - неправильный заголовок, что и понятно. Пробовал добавить сигнатуру преред описанием TMainMenu - процесс начинается, но идет неправильно. Неправильно читаются свойства объекта. Вопрос: как можно восстановить объект типа TMainMenu в этом случае?


 
sergling ©   (2002-06-26 21:09) [7]

я когда-то пытался сделать прогрессбар в копирование, так при копировании файла на дискету система сначала пишет все в буфер видимо, прогресс срабатывает моментально, при закрытии файла, начинается реальное копирование на минуту времени. Прогресс бар оказывается ни к чему. Как избежать этого, не применяя периодического закрытия файла?


 
Cobalt ©   (2002-06-26 21:21) [8]

>sergling © (26.06.02 21:09)
Создавайте файл с параметром "писать без буфера" (см. OpenFile или CreateFile(Ex))



Страницы: 1 вся ветка

Текущий архив: 2002.07.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
4-23847
Sergey_001
2002-05-11 07:16
2002.07.08
Хэндл окна.


3-23467
sniknik
2002-06-14 12:33
2002.07.08
Helycon работа с BCD


1-23581
Quad
2002-06-17 20:05
2002.07.08
Замучался я с QReport ом... ПОМОГИТЕ!!!


14-23764
Layroot
2002-06-05 20:28
2002.07.08
Научите работать пожалуйста с компонентом vclzip!!!


1-23543
antonioxxx
2002-06-26 16:13
2002.07.08
Как избавиться от Synchronize?