motofan logo
4 страниц V < 1 2 3 4 >        
> 

P2k Multimedia Edit, Редактор медиа содержимого

Vovan_mail
сообщение 23.5.2005, 13:03 Закрепленное сообщение!


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543

Рейтинг: 26



:D Народ мона начать тестить прогу. Да конечно хотелось бы видеть процесс копирования............ Но не волнуйтесь по окончании копирования прога предупредит Вас. Файл в 3м заливался порядка 9 минут.

Вот весь компот (Я не программер я тока учусь) + Sourse

Прикрепленное изображение

Сообщение отредактировал Krav - 15.2.2007, 11:53
Прикрепленный файл P2kMultiEdit.rar   ( 398.95 килобайт ) Кол-во скачиваний: 4324
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 1.6.2005, 13:42


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543

Рейтинг: 26



:( Народ так как глюков скока, кто нашёл. Нужно же веть для продолжения дел.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Волк
сообщение 15.6.2005, 1:14


Новичок
*

Группа: Пользователи
Сообщений: 10
Регистрация: 12.11.2004
Пользователь №: 20 673
Модель телефона: C380
Прошивка: 23r

Рейтинг: 3.5



Vovan_mail, Прикольная программа, классный интерфейс НО:
Я тоже решил написать программу для работы с файлами и столкнулся с проблемой - если скачивать файлы в телефон и использовать в роли буфера масив динамический то при скачивании большого кол-ва файлов выскакивает сообщение "Out of memory" - советую использовать статический массив - это даст кучу преимущств - можно будет показывать прогресс закачивания- скачивания, память будет исп . более рационально.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 15.6.2005, 12:36


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543

Рейтинг: 26



Цитата(Волк @ Среда, 15 Июня 2005, 1:14)
большого кол-ва файлов выскакивает сообщение "Out of memory"
*


:P Фишка такая всё прекрасно рулит попробуй так
Тобишь есть цыкл, а в конце то цикла надо буфер то очистить, таким образом
Например Buf:=nil; Иначе буфер то не без размерный.
А по поводу памяти я не согласен, так как в динамическом массиве выделяется столько памяти скока надо, не больше не меньше. Про индикацию. Файлы то ты разматываешь опять таки циклом.
begin
for i:=1 to CountFile do begin Количество файлов для скачивания
.........
....... тут обрабатываем это дело
........
.......
ProgressBar1.Position:=i; Присвоим позиции прогрессу номер скачиваемого файла
Lebel1.Caption:=FileSave; Тут имя скачиваемого файла.
Application.ProcessMessages(); Не зависим от выполнения задачи
Buf:=nil; Очищаем буфер
end;
Примерно таким образом, сам файл по байтам индицировать попробую покавырять функцию BlockRead, мона там что пришурупить можна
типа этого
function....... :integer;
begin
Result:=0;
for i:=1 to.......begin
Result:=i;
end;
Result:=0;
end;
короче смотреть надо. Кавырять родную Делфю. И не боятся.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
FatumNNM
сообщение 15.6.2005, 19:51


Интересующийся
**

Группа: Пользователи
Сообщений: 37
Регистрация: 6.5.2005
Пользователь №: 41 952
Модель телефона: Motorola L6 (Black)
Прошивка: R3443H1_G_0A.65.0BR

Рейтинг: 0



2 ALL Здравствуйте, у меня проблема с закачкой видео (иммено его), качаю фотки и MP3 -Всё ОК, а видео закачивается - но при открытии пишит, что файл повреждён.
Листинг:

Buffer: array [0..2048] of byte;
********************************
repeat
iBytesRead := FileRead(iFileHandle, Buffer, 2048);
File_Write(Buffer,2048);
until 2048<>iBytesRead;
File_Write(Buffer,iBytesRead);
file_close;fileclose(iFileHandle);


И ещё: КАК СДЕЛАТЬ, ЧТОБЫ РАБОТАЛ ПРОГРЕССБАР (Желательно листинг) ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G.off
сообщение 16.6.2005, 5:44


Меломан
******

Группа: Пользователи
Сообщений: 1 171
Регистрация: 21.9.2004
Пользователь №: 13 430
Модель телефона: спирали проводов

Рейтинг: 76.5



FatumNNM,
Размер буфера маловать(мп3 и картинки занимают мало, т.е. помещаются, видео больше), сделай побольше или динамический попробуй
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dimichxp
сообщение 16.6.2005, 8:00


Ветеран
*****

Группа: Разработчики
Сообщений: 639
Регистрация: 8.2.2005
Из: г. Иркутск
Пользователь №: 36 596
Модель телефона: zn5, e8
Прошивка: 00.28I, 02.07R
Победитель конкурса 2008

Рейтинг: 500



FatumNNM,

Код корявый.

Я бы зделал так:
Код

Const buffSize = 2048;
---
buffer: array [1..buffSize] of byte;
---
iBytesRead := 1;
While (iBytesRead<>0) do
Begin
       iBytesRead := FileRead(iFileHandle, Buffer, buffSize);
       File_Write(Buffer,iBytesRead);
End


Делфи нет, телефона нет, проверить не начем но я думаю работать будет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 16.6.2005, 8:14


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543

Рейтинг: 26



Цитата(dimichxp @ Среда, 15 Июня 2005, 15:01)
Интересно сказано
*


:) Работает только в динамическом массиве, как и Length(buf,255);
У меня сейчас нет компа выхожу из интернет клуба, делфей тоже нет, покавырять не где, дело труба. Динамический массив работает чётко, только проблема с индикацией процесса, тут надо искать решение в в *.pas ах самой делфи.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dimichxp
сообщение 16.6.2005, 8:28


Ветеран
*****

Группа: Разработчики
Сообщений: 639
Регистрация: 8.2.2005
Из: г. Иркутск
Пользователь №: 36 596
Модель телефона: zn5, e8
Прошивка: 00.28I, 02.07R
Победитель конкурса 2008

Рейтинг: 500



Vovan_mail,

А какие именно проблемы с индикацией процесса?

PS с динамичискими буферами поосторожнее, вдруг памяти не хватит.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 16.6.2005, 8:44


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543

Рейтинг: 26



Цитата(dimichxp @ Четверг, 16 Июня 2005, 8:28)
А какие именно проблемы с индикацией процесса?

PS с динамичискими буферами поосторожнее, вдруг памяти не хватит.
*


Вот пример кода чуть урезал, но суть оставил
procedure TOne.LoadLabClick(Sender: TObject);
var
Buf: array of Byte;
SizeF:integer;
f:File of byte;
SavePach,OpenFile,Name:String;
begin
File_Delete(SavePach);
AssignFile(f,OpenFile);
Reset(f);
SizeF:=FileSize(f);
SetLength(Buf,SizeF+1);
BlockRead(f,Buf[0],SizeF);
File_Create(SavePach,4);
File_Write(Buf,SizeF-1);
CloseFile(f);
File_Close;
buf:=nil;
end;
Вот так работает вроде как чётко, но куда тут прогресс впереть?
И в этом случае переполнения памяти не будет, мы чётко освобождаем буфер в конце процедуры.
Конечно если не взять файл соизмеримый с размером Винта.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 16.6.2005, 9:10


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543

Рейтинг: 26



:) dimichxp,
:P Дима Кэмп вроде тогда сам должен использовать файл подкачки, если уж не хватает физической памяти. Правда я такой программер, но если смотреть реально на вещи должно быть так.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

4 страниц V < 1 2 3 4 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 23:48

Форум живёт: