Главная страница
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.012 c
3-23471
Alex3000
2002-06-13 14:42
2002.07.08
Ошибка закрытия таблицы


3-23448
YUry
2002-06-14 13:36
2002.07.08
Подключение и работа с удаленным


6-23721
Иван
2002-04-27 19:28
2002.07.08
сетевой компьютер на локальной машине


8-23691
hair_fly
2002-02-28 15:40
2002.07.08
Быстрый вывод Bitmap на экран


14-23761
SHREK2002
2002-06-02 02:14
2002.07.08
Мужики, нужен перехват вызовов всяких API функций