Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Копирование файла большого размера / 9 сообщений из 9, страница 1 из 1
04.10.2005, 15:20
    #33304022
leokolus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
Всем привет,

Поогите с задачей - код на кнопку, копировать файл с одного места в другое, при этом появляется прогрессбар который показывает сколько скопированно (перемещение полоски), по окончании выходит сообщение - файл скопирован если всё ок или сообщение об ошибке. Предпологается файл большого размера от 70 до 200мб. Эта операция будет происходить на разных машинах с разной производительностью, поэтому желательно связать прогрессбар со скоростью машины, чтобы юзер видел как продвигается копирование.
...
Рейтинг: 0 / 0
04.10.2005, 16:39
    #33304272
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
Windows 95/NT Shell Programming Service
of_FileCopy(...)
Copy file system objects with an animated progress dialog.

Зорин А.
"I love deadlines. I like the whooshing sound they make as they fly by."
-- Douglas Adams
...
Рейтинг: 0 / 0
04.10.2005, 16:53
    #33304325
leokolus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
как это сделать не используя PFC
...
Рейтинг: 0 / 0
04.10.2005, 17:15
    #33304408
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
leokolus wrote:

> как это сделать не используя PFC

Взять PFC и выдрать руками то, что тебе нужно (не думаю, что это будет
сложно).
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
04.10.2005, 17:49
    #33304531
PaulJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
А загляни сюда:
http://www.wideopenwest.com/~rsizer/powerbuilder/source/shell.htm

For long running operations, the standard copy animation is used.

Сам не пробовал, но похоже это то что надо ...
...
Рейтинг: 0 / 0
04.10.2005, 17:53
    #33304548
leokolus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
Dim2000

Уважаемый если б было несложно уже выдрал бы, плиз опишите на примере как это сделать, я эту ссылку что давали уже смотрел но никак не могу понять как задекларировать и как потом использовать, надо ли дополнительные библиотеки грузить в свой проект и какие и где их брать

да ещё надо учесть то что исходный файл не должен быть большим не более 500 кв а я слышал что PFC сильно увеличивает размер файла.
...
Рейтинг: 0 / 0
05.10.2005, 07:10
    #33305115
Guest_2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
Судя по вопросу, у Вас не PB9.

Копировать можно например так:
Открыть два файла в stream! режиме - один на чтение, а другой на запись. И соответственно в цикле из одного читаем, а в другой пишем.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 String	ls_fileNameSrc = "c:\xxx\yyy\1CV7.MD"
 String	ls_fileNameDst = "c:\xxx\1CV7.MD"
 Blob		l_data
 Integer	li_hndSrc, li_hndDst
 Integer	li_dataLen

if fileExists(ls_fileNameSrc) = true then
	//open Files
	li_hndSrc = fileOpen(ls_fileNameSrc, streamMode!, Read!, Shared!)
	li_hndDst = fileOpen(ls_fileNameDst, streamMode!, Write!,LockReadWrite!, append!)
	// 1 -st Read
	li_dataLen = fileRead(li_hndSrc, l_data)
	do while li_dataLen >  0  
		fileWrite(li_hndDst, l_data)   //Write		
		li_dataLen = fileRead(li_hndSrc, l_data)  //Read
		st_1.text = String(long(st_1.text)+ li_dataLen) //Здесь оторажем объем записанных данных
	loop
end if	

Только работать это будет не быстро.
...
Рейтинг: 0 / 0
05.10.2005, 10:17
    #33305410
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
leokolus wrote:

> Уважаемый если б было несложно уже выдрал бы, плиз опишите на примере
> как это сделать, я эту ссылку что давали уже смотрел но никак не могу
> понять как задекларировать и как потом использовать, надо ли
> дополнительные библиотеки грузить в свой проект и какие и где их брать

В-первых, мне есть чем заняться в свободное время ;). Во-вторых, PaulJB
дал ссылку на объект, не завязанный на PFC, с помощью которого
копирование файла с прогрессбаром и летающими варезами занимает 5 строк:

--------------------------------------------------------------
String sSourceFiles[], sDestDir
nvo_shell32 oShell

sSourceFiles[1] = 'c:\MyCoolFile.txt'
sDestDir = 'c:\Backup'
oShell.of_FileOperationCopy(sSourceFiles[], sDestDir)
--------------------------------------------------------------

> да ещё надо учесть то что исходный файл не должен быть большим не более
> 500 кв а я слышал что PFC сильно увеличивает размер файла.

Мне всё равно, сколько занимает файл. Всё равно хардов меньше 40 Г
практически нет в продаже .
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
05.10.2005, 12:27
    #33305985
leokolus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование файла большого размера
Всем приогромное спасибо, всё получилось
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Копирование файла большого размера / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]