Форум: "Основная";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];
ВнизКопирование файла и 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c