| Автор | Сообщение |
|
|
| постоянный участник
|
Пост N: 4730
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.02.16 14:36. Заголовок: Копирование файлов ....
Использую стандартную функцию hb_FCopy( cFileInp, cFileOut ) Всё классно, только дата и время нового файла создаётся текущим. Как исправить дату и время файла по своему желанию (хочу как в Far'е). Какие функции есть ?
|
 |

|
|
Ответов - 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
|
 |

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

|
|
|
| постоянный участник
|
Пост N: 4733
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.02.16 15:21. Заголовок: Haz пишет: с доисто..
Haz пишет: | цитата: | | с доисторических времен клиппера еще есть ( не считая того что еще в харбуре наворотили) |
| До сих пор не пользовался ВООБЩЕ этим, НИКОГДА. Просто не было необходимости. Из-за этого и спросил. А что в харборе наворотили ? По хелпу смотрел (xHarbour Language Reference Guide.chm) , нового вроде нет.
|
 |

|
|
|
| |
Пост N: 803
Зарегистрирован: 20.02.11
|
|
Отправлено: 20.02.16 15:28. Заголовок: Andrey пишет: По хе..
Andrey пишет: а ты в исходники смотри ))) HB_FUNC( HB_FSETDATETIME )
|
 |

|
|
|
| постоянный участник
|
Пост N: 4735
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.02.16 15:46. Заголовок: Haz пишет: а ты в и..
Haz пишет: | цитата: | а ты в исходники смотри ))) |
| Понял, спасибо !
|
 |

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

|
|
|
| постоянный участник
|
Пост N: 4736
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.02.16 16:49. Заголовок: Dima пишет: Твой по..
Dima пишет: | цитата: | | Твой пост 1889 от 21.09.2011 :) |
| Улыбнуло... Блин, что то вообще памяти не стало...
|
 |

|
|
|
| |
Пост N: 117
Зарегистрирован: 24.04.13
|
|
Отправлено: 27.05.16 15:59. Заголовок: При использовании CO..
При использовании COPY FILE , filecopy() или hb_fcopy() не воспринимаются имена папок с кириллицей. Еще есть какие варианты копирования файлов ?
|
 |

|
|
|
| |
Пост N: 188
Зарегистрирован: 19.05.05
|
|
Отправлено: 27.05.16 16:37. Заголовок: Посмотрите вниматель..
Посмотрите внимательно: возможно в программе вы набрали имя в cp 866, а папка создана в CP 1251, или наоборот. Попробуйте HB_OemToAnsi (<имя>), HB_AnsiToOem (<имя>), Только что попробовал, все скопировалось. Harbour 3.2.0
|
 |

|
|
|
| |
Пост N: 121
Зарегистрирован: 24.04.13
|
|
Отправлено: 06.07.16 14:55. Заголовок: nick_mi, так и есть...
nick_mi, так и есть. Не сообразил сразу про кодировку. Когда визуально видишь текст в другой кодировке в виде "кракозябр", сразу соображаешь куда копать. В ситуации с копированием команда срабатывает, но результата нет, файл просто не копируется, т.к. нет такого имени папки.
|
 |

|
|
|
| |
Пост N: 399
Зарегистрирован: 03.12.08
|
|
Отправлено: 30.09.25 15:48. Заголовок: Подскажите самую быс..
Подскажите самую быструю функцию для копирования файла (ZIP-архив большой размер) . И , желательно , с возможностью использовать индикатор процесса ( проценты или бегущую линию) чтоб пользователь понимал как долго ещё ждать .
|
 |

|
|
|
|
|
| moderator
|
Пост N: 2505
Зарегистрирован: 11.02.10
|
|
Отправлено: 30.09.25 16:17. Заголовок: Softlog86 пишет: бы..
Softlog86 пишет: | цитата: | | быструю функцию для копирования файла |
| | цитата: | lSuccess := HMG_FILECOPY( cSource, cDestination, nBuffer, bBlock ) |
| 
|
 |

|
|
|
| постоянный участник
|
Пост N: 8109
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.11.25 14:21. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: | цитата: | | lSuccess := HMG_FILECOPY( cSource, cDestination, nBuffer, bBlock ) |
| Какой размер буфера можно поставить, чтобы быстро копировалось ? 300 Мб - медленно идёт... 
|
 |

|
|
|
| |
Пост N: 8199
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.11.25 20:00. Заголовок: Andrey пишет: Какой..
Andrey пишет: | цитата: | | Какой размер буфера можно поставить, чтобы быстро копировалось ? |
| Спроси ИИ, он даёт развернутый ответ
|
 |

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

|
|
|
| постоянный участник
|
Пост 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
|
 |

|
|
|
| |
Пост 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 |
| полагаю тут от размера самого файла зависит и при других размерах копируемого файла результаты будут иными, думается размер буфера надо подбирать на лету в зависимости от размера файла.
|
 |

|
|
|
| постоянный участник
|
Пост N: 4859
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.11.25 11:55. Заголовок: Dima пишет размер бу..
Dima пишет | цитата: | | размер буфера надо подбирать на лету в зависимости от размера файла. |
| Вопросик. Цель индикации, кино показывать (%) или быстро писать ? Если быстро писать, то и индикация не нужна (делай в потоках или в фоне), следи за ошибками и все в лог\протокол выводи Если кино, считай значение 1% в байтах (или 5%) величину буфера для шага показа и вперед ...
|
 |

|
|
|
| постоянный участник
|
Пост N: 8112
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.11.25 13:25. Заголовок: SergKis пишет: Вопр..
SergKis пишет: | цитата: | | Вопросик. Цель индикации, кино показывать (%) или быстро писать ? |
| Чтобы юзер понял, что прога работает и ждет. Без кина ему будет непонятно что происходит... Да и привыкли все к индикации, вот 1С делает бэкап баз с красивым системным бегунком. Там вообще больше 1 Гбайт выходит архив.
|
 |

|
|
|
| |
Пост N: 8201
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.11.25 19:28. Заголовок: SergKis пишет: Цель..
SergKis пишет: | цитата: | | Цель индикации, кино показывать (%) или быстро писать |
| индикацию можно показывать тоже по разному варианты 1. Как в ADS в AdsRegCallback, то есть через какие то временные промежутки а не на каждом цикле 2. Бегунок можно обновлять при каждом цикле и будет "кино" или через какое то кол-во циклов, скажем кратное 10 или 5 (заюзать для контроля можно операцию %) , тоже можно подобрать в зависимости от размера файла или кол-ва записей в базе если делаем индексацию с бегунком
|
 |

|
|
|
| постоянный участник
|
Пост N: 4860
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.11.25 19:45. Заголовок: Dima пишет варианты ..
Dima пишет Вопрос был не про варианты, а про необходимость показа "бегунков", т.к. Андрей, по мне, немного сваливает в кучу 1.бэкап\создание архива и 2.копирование, полученного, куда то (на разные устройства). И если 1-ое делать с бегунком "Чтобы юзер понял, что прога работает и ждет.", то 2-ое, можно делать без индикации, т.е. пользователь может продолжать работать, а копирование выполнится в фоне\потоке с протоколом. Андрей сначала вел разговор про копирование файла и буферизацию и плавно смешал с бэкап
|
 |

|
|
|
|
|
| |
Пост N: 8202
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.11.25 20:15. Заголовок: SergKis пишет: Андр..
SergKis пишет: | цитата: | | Андрей, по мне, немного сваливает в кучу |
| ты прав !
|
 |

|
|
|
| постоянный участник
|
Пост N: 8114
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.11.25 08:46. Заголовок: SergKis пишет: свал..
SergKis пишет: | цитата: | | сваливает в кучу 1.бэкап\создание архива и 2.копирование, полученного, куда то (на разные устройства). И если 1-ое делать с бегунком "Чтобы юзер понял, что прога работает и ждет.", то 2-ое, можно делать без индикации, т.е. пользователь может продолжать работать, а копирование выполнится в фоне\потоке с протоколом |
| Да нет никакой кучи - это одна операция у всех. Возьмём 1С, делается архив и копируется на выбранный юзером диск, не давно смотрел как это делается. И юзер сидит ждёт пока это копирование не закончиться - и нет допуска в программу, от слова совсем. Архивы под 1Гб, индикатор нужен. У меня поменьше пока - самый большой у юзера 400 Мб (с 2007-2025гг.) Я хочу уменьшить время ожидания при копировании дублей архивов, из-за этого и пробую разные варианты. Лучший вариант будет - запуск проги (самой себя) с параметрами откуда и куда. Можно это делать и в скрытом варианте.
|
 |

|
|
|
| |
Пост N: 2021
Зарегистрирован: 20.02.11
|
|
Отправлено: 20.11.25 18:53. Заголовок: Andrey пишет: Лучши..
Andrey пишет: Лучший вариант запустить RoboCopy скрытым процессом после подготовки архава, отключив вывод на экран. И не мучить пользователя ожиданием, тем более там есть режим докачивания при обрыве сети и проверка записи
|
 |

|
|
|
| постоянный участник
|
Пост N: 8115
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.11.25 08:11. Заголовок: Haz пишет: Лучший в..
Haz пишет: | цитата: | | Лучший вариант запустить RoboCopy скрытым процессом после подготовки архава |
| Согласен с этим и рассматривал этот вариант, но слишком юзеров дофига, на каждый комп замучаешься заходить и настраивать RoboCopy, да ещё антивирусники вечно запрещают запуски "подозрительных" программ, устал от этого. Придётся потом заходить и проверять работает ли RoboCopy, или нет. Пускай юзер ждёт - копирование 400 Мб 2-3 минуты идёт, тем более Сергей классную идею предложил, я уже сделал: запуск программы самой себя в командной строке имена файлов - в любом режиме: скрытым или показывать. Отправка на сайт всё равно время забирает, приходиться тоже окно с бегунком выводить юзеру.
|
 |

|
|
|
| |
Пост N: 8203
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.11.25 09:17. Заголовок: Andrey пишет: Согла..
Andrey пишет: | цитата: | | Согласен с этим и рассматривал этот вариант, но слишком юзеров дофига, на каждый комп замучаешься заходить и настраивать RoboCopy, |
| а нафига ходить к ним ? сам процесс копирования у тебя же в проге будет ,что то типа hb_processrun("Robocopy................., там и лови что он возвращает
|
 |

|
|
|
| постоянный участник
|
Пост N: 8116
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.11.25 09:30. Заголовок: А установку Robocopy..
А установку Robocopy на каждый комп кто будет делать ? Юзера не смогут, придётся мне заходить к ним.
|
 |

|
|
|
| постоянный участник
|
Пост N: 8117
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.11.25 09:33. Заголовок: Вопрос по HMG_FILECO..
Вопрос по HMG_FILECOPY() - как узнать какая ошибка возникла при копировании ? Бывают проблемы при копировании на флешку, вроде работает, вроде нет. Или сетевой диск пропал при копировании... 
|
 |

|
|
|
| |
Пост N: 8204
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.11.25 09:33. Заголовок: Andrey пишет: А уст..
Andrey пишет: | цитата: | | А установку Robocopy на каждый комп кто будет делать ? |
| это системная утилита и живёт в винде по умолчанию так же как COPY , XCOPY
|
 |

|
|
|
| |
Пост N: 2022
Зарегистрирован: 20.02.11
|
|
Отправлено: 21.11.25 11:38. Заголовок: Andrey пишет: запус..
Andrey пишет: | цитата: | | запуск программы самой себя в командной строке имена файлов |
| Я тебе даже больше скажу, из параметров можно запускать ЛЮБУЮ функцию твоей программы по ее имени, отключив все лишние окна и экраный вывод. Это избавляет от написания внешних утилит, обеспечивает выполнение длительных операций в фоне прозрачно для пользователей и облегчает обслуживание т.к. и программа и сервис в одном коде.
|
 |

|
|
|
| постоянный участник
|
Пост N: 8118
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.11.25 14:00. Заголовок: Это да, но я такое н..
Это да, но я такое не практиковал, хватало одного основного ехе-ника.
|
 |

|
|
|
|
|
| постоянный участник
|
Пост N: 8121
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.11.25 15:01. Заголовок: 4 примера копировани..
|
 |

|
|
Ответов - 32
, стр:
1
2
All
[только новые]
|
|