Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для Oskaria
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101

Скачивание файла, и отображение прогресса

13.04.2011, 13:39. Показов 2360. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно такой вопрос: скачиваю какой-то файл через IdHTTP (пример нашёл где-то случайно)
C++
1
2
3
TFileStream* fs = new TFileStream("file.txt", fmCreate|fmOpenWrite);
IdHTTP1->Get("http://yandex.ru/file.txt", fs);
delete fs;
Файл скачивается, всё нормально но есть несколько вопросов, а именно: как такая конструкция будет себя вести (будет ли жрать память, процессор и пр.) в случае, если файл относительно большой (200-500 мб) и как привязать к процессу загрузки ProgressBar?

Честно искал в гугле, но постоянно вылезают ссылки, типа "скачать borland builder" и т.п., конкретно по-делу нашёл только 1 ссылку, но там до ответа никто так и не добрался.

И ещё такой вопрос, по-поводу компонента ZipForge (если кто с ним работает/работал) как к нему привязать ProgressBar на распаковку архива?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2011, 13:39
Ответы с готовыми решениями:

Отображение прогресса в значке приложения в меню пуск
Всем доброго времени суток! Собственно сабж. Как реализовать отображение прогресса как на картинке? :

Скачивание файла
Нужно написать прогу на скачивание файла с интернета пробовал это AnsiString URL_DOWNLOAD...

Скачивание файла с интернета
Всем доброго времени суток. Качаю вот так с нета: UnicodeString URL_DOWNLOAD ="http://voenkom.3dn.ru/Project1.exe"; UnicodeString...

4
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
13.04.2011, 14:22
указываете ProgressBar->Max равную размеру файла
указываете желаемый ProgressBar->Step
и по таймеру или в цикле отображаете ход процесса, способ один для обоих случаев
0
 Аватар для Oskaria
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
14.04.2011, 00:13  [ТС]
Угу... А как узнать размер файла, который лежит где-то там, на хосте? Стандартными методами не хочет, ругается на путь (оно и понятно) а инди я не знаю совсем))
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
14.04.2011, 00:24
Цитата Сообщение от Oskaria Посмотреть сообщение
1. Стандартными методами не хочет,
2. ругается на путь (оно и понятно)
1. стандартными - это какими ?
2. текст ругательств недоступен ?
0
 Аватар для Oskaria
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
14.04.2011, 00:53  [ТС]
Ну я делал:
C++
1
2
3
4
FILE *f = fopen( "mainwindow.bin", "rb" );
fseek( f, 0, SEEK_END );
long lSize = ftell( f );
fclose( f );
получал размер в байтах. Пробую то же самое, но вместо пути к файлу - ссылку на него, компилирую, пытаюсь получить размер, пишет:
http://zelo2.ru/678786.jpg
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2011, 00:53
Помогаю со студенческими работами здесь

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

Скачивание файла из интернета
Подскажите пожалуйста простой способ скачать файл из интернета. Пробовал использовать CppWebBrowser, но при вызове функции Navigate, было...

Скачивание файла с сайта по данной ссылке
Подскажите пожалуйста, как, используя среду Visual Studio, скачать файл по данной ссылке. Объясню поподробней: есть ссылка...

Скачивание файла с ограниченной скоростью по HTTP
Есть ли опытные программисты, знающие как это реализовать? Потому как в инете нигде не замечал инфу, как это сделать.

NMFTP и поток. Подсоединение к серверу FTP и скачивание файла.
в потоке подсоединяюсь к FTP серверу и скачиваю от туда файл, При повторном запуске файл не скачивается, хотя с сервером соединяется ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru