On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 1998
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.01.12 21:59. Заголовок: Как вызвать "Копирование файлов" в xHarboure ?


При длительных операциях иногда "полезнее" для пользователя (и для программы) показывать вместо бегунка - стандартное окно:


Т.е. если делаешь операции типа копирование из одной базы в другую. Без вывода на экран такая операция намного быстрей проходит. А чтоб юзер не скучал - хочу такое окно повесить.

Как перевести пример Филатова \MiniGUI\SAMPLES\Advanced\AVI_Animation под хХарбор ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 37 , стр: 1 2 All [только новые]







Пост N: 23
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 11.01.12 22:38. Заголовок: Под xHarbour работае..


Под xHarbour работает без проблем.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2252
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.01.12 22:46. Заголовок: Andrey пишет: Как п..


Andrey пишет:

 цитата:
Как перевести пример Филатова \MiniGUI\SAMPLES\Advanced\AVI_Animation под хХарбор ?



santy пишет:

 цитата:
Под xHarbour работает без проблем.



Однако

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1999
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.01.12 19:09. Заголовок: santy пишет: Под xH..


santy пишет:

 цитата:
Под xHarbour работает без проблем.



Покажи пожалуйста как ?
Может я непонятно написал вверху, т.е. нужно перевести пример под консоль xHarbour.

Типа как вызывается окно "выбора файла".
Пример тут.
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 668
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 12.01.12 19:16. Заголовок: Андрюха, напиши свою..


Андрюха, напиши свою функцию рисования прогрессбара. Там делов на 10 минут с тремя перекурами.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2000
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.01.12 20:29. Заголовок: PSP пишет: напиши с..


PSP пишет:

 цитата:
напиши свою функцию рисования прогрессбара. Там делов на 10 минут с тремя перекурами.


Как ? Никак не могу сообразить ....

Я копирую 6 баз (по 350 тыс.записей) из одной структуры в другую....
Прогресс бар пусть будет рисоваться по количеству баз.
А так "листочки" из папки в папку летают - красиво и как у всех... Красота для пользователя....
И меня не достают - почему медленно..
И программа (терминалка) как настоящая WINDOWS ...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 669
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 12.01.12 20:52. Заголовок: Andrey пишет: А так..


Andrey пишет:

 цитата:
А так "листочки" из папки в папку летают - красиво и как у всех... Красота для пользователя...


Листочки, конечно, красиво, но не информативно. Гораздо информативней вывести затраченное/оставшееся время (кол-во записей) и считать не по количеству баз, а по суммарному количеству записей.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2001
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.01.12 21:41. Заголовок: PSP пишет: и считат..


PSP пишет:

 цитата:
и считать не по количеству баз, а по суммарному количеству записей.


Это долго будет...
И в добавок по скорости удобней пользоваться APPEND FROM (cInputBase), без вывода прогрессбара...
Вот для этого и "листочки" нужны....
На глаз видно, когда из большой базы копируешь записи в другую.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 671
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 13.01.12 10:26. Заголовок: Andrey пишет: И в д..


Andrey пишет:

 цитата:
И в добавок по скорости удобней пользоваться APPEND FROM (cInputBase), без вывода прогрессбара...
Вот для этого и "листочки" нужны....


Что-то я плохо себе представляю, как ты собрался WinAPI-шный диалог прогресса копирования прикрутить к команде APPEND FROM...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2002
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.01.12 11:07. Заголовок: PSP пишет: Что-то я..


PSP пишет:

 цитата:
Что-то я плохо себе представляю, как ты собрался WinAPI-шный диалог прогресса копирования прикрутить к команде APPEND FROM...



// запуск "листочков"
WinAPICopyFILEopen( ' идет копирование баз ')

For nI :=1 to LEN(aBase)

WinAPICopyFILE( ' идет копирование базы '+STR(nI)) // туда просто сообщение передавать для информации

// тут открытие баз ....

APPEND FROM (cBaseInput) // - стандартная функция

NEXT
// убрать "листочки"
WinAPICopyFILEclose()

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 672
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 13.01.12 11:18. Заголовок: Andrey пишет: WinAP..


Andrey пишет:

 цитата:
WinAPICopyFILEopen
WinAPICopyFILE
WinAPICopyFILEclose


Это реальные функции или ты просто так написал?
Функция WinAPI, которая выводит этот диалог при копировании, называется SHFileOperation. В Висте заменена на IFileOperation.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 673
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 13.01.12 12:09. Заголовок: Если хочешь, посмотр..


Если хочешь, посмотри вот такой простой пример:

PROCEDURE   Main( ... ) 

LOCAL n

RDDSETDEFAULT( "DBFCDX" )

CLS

USE Base
n := BASE->( LastRec() )
COPY STRUCTURE TO Tmp
USE Tmp

APPEND FROM Base WHILE Show( n )

WAIT

RETURN NIL



FUNCTION Show( n )

LOCAL nRecNo := TMP->( RecNo() ) + 1 // единица добавляется потому,
//что функция вызывается ДО копирования записи

IF nRecNo % 1000 == 0 .or. nRecNo == n // каждую 1000-ую запись и последнюю
?? Str( nRecNo ) + Chr( 13 )
END // IF

RETURN .T.


В функции Show() можно считать оставшееся время. Пользователь будет знать, сколько еще ждать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2003
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.01.12 13:54. Заголовок: PSP пишет: Это реал..


PSP пишет:

 цитата:
Это реальные функции или ты просто так написал?


Это я просто для примера... А как они называются в WinApi я не знаю, и как их вызвать я тоже не представляю.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2004
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.01.12 13:55. Заголовок: PSP пишет: посмотри..


PSP пишет:

 цитата:
посмотри вот такой простой пример:



Пример хороший.
Как к нему "листочки" приделать ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 674
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 13.01.12 14:00. Заголовок: Andrey пишет: Как к..


Andrey пишет:

 цитата:
Как к нему "листочки" приделать ?


Никак, Андрюха, никак...
Я предложил тебе вариант "без листочков".
Для "с листочками" см.функцию WinAPI SHFileOperation. Но тогда будет без APPEND FROM.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 51
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 14.01.12 22:16. Заголовок: Андрей, посмотри так..


Андрей, посмотри такой вариант:
http://zalil.ru/32497414

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2005
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.01.12 07:35. Заголовок: Прикольный вариант. ..


Прикольный вариант.



Только ужасно не нравиться вызов внешних файлов.
Я стараюсь обходиться без дополнительных EXE-ников.
Тем более нашел вот это:
внимание, файл htmlayout dll скачать не предназначен для коммерческого пользования. используя его вы можете нарушать авторские права владельца ......

Так что такой вариант отпадает !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1068
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 15.01.12 11:20. Заголовок: PSP пишет: Никак, А..


PSP пишет:

 цитата:
Никак, Андрюха, никак...
Я предложил тебе вариант "без листочков".


Листочки давай !

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 52
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 15.01.12 14:04. Заголовок: Для Andrey 1.По пово..


Для Andrey
1.По поводу лицензии HTMLayout:
Скрытый текст

2.Вместо er32.exe есть c++ текст для посылки сообщений. Могу выложить.
3.Применение одельного exe для таких длителиных операций (как в данном случае) вполне применимо.
4.Можно поискать другие анимационные gif (с листочками).


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2006
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.01.12 15:22. Заголовок: Петр пишет: Листочк..


Петр пишет:

 цитата:
Листочки давай !



Да там же в папке \MiniGUI\SAMPLES\Advanced\AVI_Animation\161.avi




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2007
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.01.12 15:24. Заголовок: SergejKis пишет: Вм..


SergejKis пишет:

 цитата:
Вместо er32.exe есть c++ текст для посылки сообщений. Могу выложить.



Да я не Си-ник, перевести на Харбор не смогу.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 37 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 11
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет