|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
Подскажите, как организовать прогресс-бар для команды "copy file". Я пытался сделать следующее: создается форма код инициализации : ADIR(arrr,'D:\Install\oracle\oracle_1_3.7z') thisform.olecontrol1.min=1 thisform.olecontrol1.max=arrr[1,2] на нее вешаются: прогресс бар, таймер enabled=.f. interval=50 user procedure: ADIR(arrr,'D:\oracle_1_3.7z') thisform.olecontrol1.value=arrr[1,2] кнопка user procedure: thisform.timer1.enabled=.t. COPY FILE D:\Install\oracle\oracle_1_3.7z TO d:\ В итоге файл копируется в течении нескольких десятков секунд, а прогресс бар остаеться пустым. И заполняется по максимуму только по завершению копирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 11:16 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
faustgreen, Copy File не даст вам отследить состояние копирования - это отдельная команда. Непонятно - зачем все эти танцы с таймером? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 11:31 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
AmKad, Вопрос вот в чем: Есть приложение, при каждом старте которого осуществляется проверка наличия обновлений на другом компьютере в сети(проверяются даты у пользователя и в сети, и если они отличаются, производится копирование новых файлов с удалением старых). Процесс копирования давольно долгий, поэтому нужно создать прогреес бар. Как это лучше сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 11:45 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
faustgreen, Прогресс-бар на копирование одного файла командой copy file не повесишь. Если файлов несколько то можно увеличивать value прогрессбара на 1 после каждого скопированного файла. Может быть не стоит заморачиваться и достаточно просто вывести сообщение мол ждите, идет копирование, по окончании копирования выдавать мессагу. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 11:55 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
Пробовал копировать файл через TotalComander, а в это время в ComandWindows FoxPro вбивал код ADIR(arrr,'D:\oracle_1_3.7z') MESSAGEBOX(arrr[2]) все работает - отображается текущий размер файла. Может как нибудь это можно использовать(отследить где-нибудь это дело в винде или скопировать файлы ее функциями) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 12:03 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
AmKad, Все так и был организованно, но попросили переделать. Мол, чтобы было видно, что приложение не повисло. =( ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 12:08 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
faustgreenAmKad, Все так и был организованно, но попросили переделать. Мол, чтобы было видно, что приложение не повисло. =( Надуманная проблема. Соберите ADIR'ом список копируемых файлов и выполняйте для каждого из них отдельный COPY FILE в цикле, наращивая при этом текущее значение прогрессбара. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 12:15 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
reware, Не совсем понял Ваше предложение. Прогресбар нужен не для индикации копирования файлов, а для отображения хода копирования оделного файла.(т.е.Скопировано 50% такого то файла). Ну или, если их несколько, прогресс бар строиться по сумме размеров всех файлов.(т.е. скопированно столькото процентов от общего объема) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 12:30 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
faustgreen, ну тады пользуйтесь fopen(),fread(),fwrite() и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 13:46 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
faustgreenreware, Не совсем понял Ваше предложение. Прогресбар нужен не для индикации копирования файлов, а для отображения хода копирования оделного файла.(т.е.Скопировано 50% такого то файла). Ну или, если их несколько, прогресс бар строиться по сумме размеров всех файлов.(т.е. скопированно столькото процентов от общего объема) Никак. Фокс приложение однопоточное. Когда мы даем команду на копирование файла, поток занимается собственно копированием. Есть простое решение - в другом потоке (ActiveX) запустить авишку с изображением перемещающегося файла, как это сделано в самой ОС windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 13:51 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
tanglir, спасибо. Вроде бы нашел похожее решения. Буду разбираться. если кому вдруг понадобится: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 14:25 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
как вариант (идея от Piva http://foxclub.ru ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 14:53 |
|
progres bar при копировании файлов
|
|||
---|---|---|---|
#18+
1270.0.1как вариант (идея от Piva http://foxclub.ru ) Вот это больше похоже на правду, нежели жутковатое многотонное копирование от автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2010, 15:18 |
|
|
start [/forum/topic.php?fid=41&msg=36513427&tid=1585514]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 368ms |
total: | 493ms |
0 / 0 |