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




Пост N: 4730
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 14:36. Заголовок: Копирование файлов ....


Использую стандартную функцию hb_FCopy( cFileInp, cFileOut )

Всё классно, только дата и время нового файла создаётся текущим.
Как исправить дату и время файла по своему желанию (хочу как в Far'е).
Какие функции есть ?

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


администратор




Пост N: 801
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 14:41. Заголовок: Andrey пишет: Какие..


Andrey пишет:

 цитата:
Какие функции есть



с доисторических времен клиппера еще есть ( не считая того что еще в харбуре наворотили)
 
SETFDATI()
Sets the date and time of a file
------------------------------------------------------------------------------
Syntax

SETFDATI(<cFile>, [<dFileDate>], [<cFileTime>]) --> lAmended

Arguments

<cFile> Designates for which file the date and/or time is changed.
Drive and path designations are possible, wildcards are not.

<dFileDate> Designates the date for the file. The default is the
system date.

<cFileTime> Designates the time for the file. The default is the
system time.

Returns



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




Пост N: 5484
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.02.16 15:17. Заголовок: была тема http://cli..

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




Пост N: 4733
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 15:21. Заголовок: Haz пишет: с доисто..


Haz пишет:

 цитата:
с доисторических времен клиппера еще есть ( не считая того что еще в харбуре наворотили)


До сих пор не пользовался ВООБЩЕ этим, НИКОГДА.
Просто не было необходимости.
Из-за этого и спросил.

А что в харборе наворотили ?
По хелпу смотрел (xHarbour Language Reference Guide.chm) , нового вроде нет.

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




Пост N: 803
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.02.16 15:28. Заголовок: Andrey пишет: По хе..


Andrey пишет:

 цитата:
По хелпу смотрел


а ты в исходники смотри )))

HB_FUNC( HB_FSETDATETIME )



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




Пост N: 4735
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 15:46. Заголовок: Haz пишет: а ты в и..


Haz пишет:

 цитата:
а ты в исходники смотри )))


Понял, спасибо !

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




Пост N: 5485
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.02.16 16:44. Заголовок: Andrey пишет: До си..


Andrey пишет:

 цитата:
До сих пор не пользовался ВООБЩЕ этим, НИКОГДА.


Твой пост 1889 от 21.09.2011 :)
http://clipper.borda.ru/?1-4-0-00000676-000-0-0-1316876106

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




Пост N: 4736
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.16 16:49. Заголовок: Dima пишет: Твой по..


Dima пишет:

 цитата:
Твой пост 1889 от 21.09.2011 :)


Улыбнуло... Блин, что то вообще памяти не стало...

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



Пост N: 117
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 27.05.16 15:59. Заголовок: При использовании CO..


При использовании COPY FILE , filecopy() или hb_fcopy() не воспринимаются имена папок с кириллицей.
Еще есть какие варианты копирования файлов ?

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



Пост N: 188
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 27.05.16 16:37. Заголовок: Посмотрите вниматель..


Посмотрите внимательно: возможно в программе вы набрали имя
в cp 866, а папка создана в CP 1251, или наоборот.

Попробуйте HB_OemToAnsi (<имя>), HB_AnsiToOem (<имя>),

Только что попробовал, все скопировалось.

Harbour 3.2.0

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



Пост N: 121
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 06.07.16 14:55. Заголовок: nick_mi, так и есть...


nick_mi, так и есть. Не сообразил сразу про кодировку.
Когда визуально видишь текст в другой кодировке в виде "кракозябр", сразу
соображаешь куда копать. В ситуации с копированием команда срабатывает, но
результата нет, файл просто не копируется, т.к. нет такого имени папки.

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



Пост N: 399
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 30.09.25 15:48. Заголовок: Подскажите самую быс..


Подскажите самую быструю функцию для копирования файла (ZIP-архив большой размер) .
И , желательно , с возможностью использовать индикатор процесса ( проценты или бегущую линию) чтоб пользователь понимал как долго ещё ждать .

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




Пост N: 2505
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.09.25 16:17. Заголовок: Softlog86 пишет: бы..


Softlog86 пишет:

 цитата:
быструю функцию для копирования файла



 цитата:
lSuccess := HMG_FILECOPY( cSource, cDestination, nBuffer, bBlock )



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




Пост N: 8109
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.11.25 14:21. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
lSuccess := HMG_FILECOPY( cSource, cDestination, nBuffer, bBlock )



Какой размер буфера можно поставить, чтобы быстро копировалось ?
300 Мб - медленно идёт...

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




Пост N: 8199
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.11.25 20:00. Заголовок: Andrey пишет: Какой..


Andrey пишет:

 цитата:
Какой размер буфера можно поставить, чтобы быстро копировалось ?


Спроси ИИ, он даёт развернутый ответ

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




Пост N: 8110
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.11.25 20:43. Заголовок: Спасибо ! :sm36:..


Спасибо !

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




Пост N: 8111
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.11.25 10:31. Заголовок: Сделал тесты, вот ре..


Сделал тесты HMG_FILECOPY(), вот результат:
Буфер на 1024 * 64 Copy file size: 518 296 444 byte Время 00:02:04.232
Буфер на 1024 * 1024 Copy file size: 518 296 444 byte Время 00:00:10.51

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




Пост N: 8200
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.11.25 11:05. Заголовок: Andrey пишет: Буфер..


Andrey пишет:

 цитата:
Буфер на 1024 * 64 Copy file size: 518 296 444 byte Время 00:02:04.232
Буфер на 1024 * 1024 Copy file size: 518 296 444 byte Время 00:00:10.51


полагаю тут от размера самого файла зависит и при других размерах копируемого
файла результаты будут иными, думается размер буфера надо подбирать на лету
в зависимости от размера файла.

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




Пост N: 4859
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.11.25 11:55. Заголовок: Dima пишет размер бу..


Dima пишет
 цитата:
размер буфера надо подбирать на лету в зависимости от размера файла.



Вопросик. Цель индикации, кино показывать (%) или быстро писать ?
Если быстро писать, то и индикация не нужна (делай в потоках или в фоне), следи за ошибками и все в лог\протокол выводи
Если кино, считай значение 1% в байтах (или 5%) величину буфера для шага показа и вперед ...

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




Пост N: 8112
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.11.25 13:25. Заголовок: SergKis пишет: Вопр..


SergKis пишет:

 цитата:
Вопросик. Цель индикации, кино показывать (%) или быстро писать ?


Чтобы юзер понял, что прога работает и ждет.
Без кина ему будет непонятно что происходит...
Да и привыкли все к индикации, вот 1С делает бэкап баз с красивым системным бегунком.
Там вообще больше 1 Гбайт выходит архив.

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




Пост N: 8201
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.11.25 19:28. Заголовок: SergKis пишет: Цель..


SergKis пишет:

 цитата:
Цель индикации, кино показывать (%) или быстро писать


индикацию можно показывать тоже по разному
варианты
1. Как в ADS в AdsRegCallback, то есть через какие то временные промежутки а не на каждом цикле
2. Бегунок можно обновлять при каждом цикле и будет "кино" или через какое то кол-во циклов, скажем
кратное 10 или 5 (заюзать для контроля можно операцию %) , тоже можно подобрать в зависимости от размера файла или кол-ва записей в базе
если делаем индексацию с бегунком

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




Пост N: 4860
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.11.25 19:45. Заголовок: Dima пишет варианты ..


Dima пишет
 цитата:
варианты


Вопрос был не про варианты, а про необходимость показа "бегунков", т.к. Андрей, по мне, немного сваливает в кучу 1.бэкап\создание архива и 2.копирование, полученного, куда то (на разные устройства). И если 1-ое делать с бегунком "Чтобы юзер понял, что прога работает и ждет.", то 2-ое, можно делать без индикации, т.е. пользователь может продолжать работать, а копирование выполнится в фоне\потоке с протоколом. Андрей сначала вел разговор про копирование файла и буферизацию и плавно смешал с бэкап

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




Пост N: 8202
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.11.25 20:15. Заголовок: SergKis пишет: Андр..


SergKis пишет:

 цитата:
Андрей, по мне, немного сваливает в кучу


ты прав !

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




Пост N: 8114
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.11.25 08:46. Заголовок: SergKis пишет: свал..


SergKis пишет:

 цитата:
сваливает в кучу 1.бэкап\создание архива и 2.копирование, полученного, куда то (на разные устройства). И если 1-ое делать с бегунком "Чтобы юзер понял, что прога работает и ждет.", то 2-ое, можно делать без индикации, т.е. пользователь может продолжать работать, а копирование выполнится в фоне\потоке с протоколом



Да нет никакой кучи - это одна операция у всех.
Возьмём 1С, делается архив и копируется на выбранный юзером диск, не давно смотрел как это делается.
И юзер сидит ждёт пока это копирование не закончиться - и нет допуска в программу, от слова совсем.
Архивы под 1Гб, индикатор нужен.
У меня поменьше пока - самый большой у юзера 400 Мб (с 2007-2025гг.)
Я хочу уменьшить время ожидания при копировании дублей архивов, из-за этого и пробую разные варианты.
Лучший вариант будет - запуск проги (самой себя) с параметрами откуда и куда.
Можно это делать и в скрытом варианте.

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




Пост N: 2021
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.11.25 18:53. Заголовок: Andrey пишет: Лучши..


Andrey пишет:

 цитата:
Лучший вариант


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

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




Пост N: 8115
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.11.25 08:11. Заголовок: Haz пишет: Лучший в..


Haz пишет:

 цитата:
Лучший вариант запустить RoboCopy скрытым процессом после подготовки архава


Согласен с этим и рассматривал этот вариант, но слишком юзеров дофига, на каждый комп замучаешься заходить и настраивать RoboCopy, да ещё антивирусники вечно запрещают запуски "подозрительных" программ, устал от этого. Придётся потом заходить и проверять работает ли RoboCopy, или нет.

Пускай юзер ждёт - копирование 400 Мб 2-3 минуты идёт, тем более Сергей классную идею предложил, я уже сделал: запуск программы самой себя в командной строке имена файлов - в любом режиме: скрытым или показывать.
Отправка на сайт всё равно время забирает, приходиться тоже окно с бегунком выводить юзеру.

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




Пост N: 8203
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.11.25 09:17. Заголовок: Andrey пишет: Согла..


Andrey пишет:

 цитата:
Согласен с этим и рассматривал этот вариант, но слишком юзеров дофига, на каждый комп замучаешься заходить и настраивать RoboCopy,


а нафига ходить к ним ?
сам процесс копирования у тебя же в проге будет ,что то типа
hb_processrun("Robocopy................., там и лови что он возвращает

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




Пост N: 8116
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.11.25 09:30. Заголовок: А установку Robocopy..


А установку Robocopy на каждый комп кто будет делать ?
Юзера не смогут, придётся мне заходить к ним.

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




Пост N: 8117
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.11.25 09:33. Заголовок: Вопрос по HMG_FILECO..


Вопрос по HMG_FILECOPY() - как узнать какая ошибка возникла при копировании ?
Бывают проблемы при копировании на флешку, вроде работает, вроде нет.
Или сетевой диск пропал при копировании...

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




Пост N: 8204
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.11.25 09:33. Заголовок: Andrey пишет: А уст..


Andrey пишет:

 цитата:
А установку Robocopy на каждый комп кто будет делать ?


это системная утилита и живёт в винде по умолчанию
так же как COPY , XCOPY

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




Пост N: 2022
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.11.25 11:38. Заголовок: Andrey пишет: запус..


Andrey пишет:

 цитата:
запуск программы самой себя в командной строке имена файлов


Я тебе даже больше скажу, из параметров можно запускать ЛЮБУЮ функцию твоей программы по ее имени, отключив все лишние окна и экраный вывод. Это избавляет от написания внешних утилит, обеспечивает выполнение длительных операций в фоне прозрачно для пользователей и облегчает обслуживание т.к. и программа и сервис в одном коде.

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




Пост N: 8118
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.11.25 14:00. Заголовок: Это да, но я такое н..


Это да, но я такое не практиковал, хватало одного основного ехе-ника.

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




Пост N: 8121
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.11.25 15:01. Заголовок: 4 примера копировани..


4 примера копирования файла через функцию HMG_FILECOPY()
Скачивать отсюда - https://abonent4.ru/static/minigui/
Далее найти файл - File_Copy2(4.5).7z

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

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