Что нового

SynFolders - программа для синхронизации папок

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Medic84
Записался в тестеры.
Вот замечания/предложения/критика :D

1. Если удалить из папки-источника что-то и произвести синхронизацию, то в папке-получателе это что-то не удаляется :smile:
2. Окно "Добавить задание" лезет поверх всех и перекрывает даже сам обзор папок
3. При выборе папки-получателя не хватает опции "создать папку" (FileSelectFolder с флагом 1)


Medic84 [?]
Требуется ли двусторонняя синхронизация?
Конечно требуется, можно в виде дополнительной отключаемой опции
 
Автор
Medic84

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
madmasles [?]
Исходника нет. А будет?
Будет, чуть позже.

Redline [?]
1. Если удалить из папки-источника что-то и произвести синхронизацию, то в папке-получателе это что-то не удаляется
smiley.gif

3. При выборе папки-получателя не хватает опции "создать папку" (FileSelectFolder с флагом 1)
Хорошо, спасибо. Исправлю.

2. Окно "Добавить задание" лезет поверх всех и перекрывает даже сам обзор папок
Сделано специально. Иначе это окно может уползти под главный GUI и его уже не достать.

P.S. Всем спасибо. Сделаю опционально для каждого задания :smile:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Medic84 [?]
Сделано специально. Иначе это окно может уползти под главный GUI и его уже не достать.
А почему бы его не сделать дочерним, также как и диалог выбора папки (см. параметр hWnd).
 
Автор
Medic84

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Обновил до версии 2.0.0.5 Скачать

Что изменилось:
Код:
- Автозапуск
- Заработало удаление папок, и разрешил проблему с пустыми папками
- Двусторонняя синхронизация
- Привел в коде порядок (что бы не стыдно было показывать  ;D)
- Присвоил дочерние окна к формам настроек и добавления задания
- При выборе папок, теперь есть опция "Создать папку"
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Отлично! :ok:
Маленькие поправки:
В строках 303 и 534
Код:
GUICtrlSetData($hExt,"")

надо бы вместо "ничего" вставить "*", иначе при создании нового задания фильтр будет пустой

Пункт "Показать окно" в трее имеет галку. Она там вообще нужна? Если нужна, то подправь:
Код:
Case $ShowWindow
			TrayItemSetState($ShowWindow, 1)
			GUISetState(@SW_SHOW, $hMainForm)
			GUISetState(@SW_RESTORE, $hMainForm)

и
Код:
If $nMsgGui[1] == $hMainForm Then
				GUISetState(@SW_MINIMIZE, $hMainForm)
				Sleep(700)
				GUISetState(@SW_HIDE, $hMainForm)
				TrayTip("Информация", "SynFolders было свернуто в трей", 4, 1)
				TrayItemSetState($ShowWindow, 4)

Если не нужна вообще, то только:
Код:
Case $ShowWindow
			TrayItemSetState($ShowWindow, 4)
			GUISetState(@SW_SHOW, $hMainForm)
			GUISetState(@SW_RESTORE, $hMainForm)


А TrayTip я бы убрал совсем или сделал отключаемым - раздражает :ninja: но это уже придирки
 
Автор
Medic84

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Все придирки исправил :smile: Версия осталась прежней ;)
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Medic84
Спасибо.Нужная вещь.
Раньше пользовался своей, более примитивной.
Буду пользовать.

Маленькое сервисное пожелание :
На кнопки повесить подсказки :IL_AutoIt_1:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
IMHO, программа очень полезная и в тоже время простая (все существующие аналоги более запутанные). Но, т.к. она довольно ответственная по своей сути, то хотелось бы видеть следующее:

  • Отдельная кнопка "Синхронизировать", т.к. "Пуск" и "Стоп" немного другое, и не все пользуются планировщиком.
  • Краткий отчет в отдельном окне после каждой ручной синхронизации (размеры папок Source и Destination, какие файлы не удалось скопировать, что лишнего в Destination и т.д.), что бы пользователь был спокоен, что ничего никуда не потерялось.
  • Возможность отключать сворачивание в трей при закрытии программы.
  • Т.к. процесс синхронизации может быть достаточно долгим, то было бы хорошо ввести какой-нибудь прогресс (можно даже в трее), а так же запускать процесс синхронизации в отдельном процессе или воспользоваться этой UDF во избежании зависания GUI.
  • При вызове диалога "Выбор папки", дочернее окно не блокируется...
  • Избавиться от icons.icl, иконки лучше хранить в .exe.
  • Почему не переведено "Source" и "Destination"?
  • Лог очень запутанный. При большом количестве файлов, понять что-либо будет очень сложно. Лучше сделать в каком-нибудь более читабельном формате (разделить задания пустыми строками, убрать абсолютные пути, избавиться от миллисекунд, дату ставить только на начало и конец процесса синхронизации и т.д.).
  • Возможность изменять размеры основного окна программы (хотя бы по высоте).
  • Возможность изменять порядок заданий в списке (кнопки "Выше" и "Ниже").
  • Добавить блокировку завершения сеанса Windows во время синхронизации как для XP, так и для Vista/7 (разные подходы).
  • Иконки для кнопок "+" и "-" немного разного стиля и размера.

Больше пока сказать ничего не могу, т.к. исходники скачать не получается...

А в целом, проект очень удачный и определенно заслуживает внимания и дальнейшего развития. На данный момент есть всего два серьезных недостатка: зависание GUI во время синхронизации и отсутствие блокировки завершения сеанса Windows. Второй недостаток я бы назвал критическим для такого рода программ. За GUI поставил бы 5+.



Добавлено:
Сообщение автоматически объединено:

Medic84

Если ты воспользуешься Copy.au3, то получишь следующие возможности:

  • Полное исключение подвисания GUI.
  • Получение подробного отчета о ходе копирования в реальном времени (решается проблема с отображением прогресса).
  • Возможность в любой момент поставить процесс синхронизации на паузу.
  • Возможность в любой момент отменить процесс синхронизации без мучительного ожидания окончания копирования текущего файла.
  • Процесс копирования файлов возлагается непосредственно на API.
  • Подробные системные коды ошибок, связанные с копированием файлов.
  • Возможность запуска нескольких заданий одновременно.
  • Работа как в 32-, так и в 64-битных системах.

:smile:
 
Автор
Medic84

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Я и не думал, что этот проект привлечет такое внимание.
Yashied, спасибо за подробную критику. Постараюсь все найти как сделать и исправить. :ok: :beer:
 

Danver

Новичок
Сообщения
26
Репутация
2
Немного доработал программу Medic84:
  • Добавлено: в окно Настроек пункт "Запускать свернутым"
  • Добавлено: пауза в 2 сек перед сканированием при запуске с OnStart=1
  • Исправлено: ошибка при запуске программы с OnStart=1 т. к. файл сохранения *.sfd подгружался позже чем начиналось сканирование
  • Исправлено: если в списке задач 2 задачи и более и самая первая содержит несуществующие пути, то все задачи после не выполняются
  • Изменено: иконка приложения на более яркую
  • Изменено: при открытии/сохранении пресета папка по умолчанию - папка скрипта
  • Изменено: при щелчке левой кнопкой мыши на иконке в трее открывается главное окно программы, при щечке правой кнопкой мыши открывается меню
  • Изменено: если указанные пути не существуют - окно с предупреждением не выскакивает, а просто если включено логирование, записывается пропуск задания в лог файл
  • Изменено: вместо окна "Проверка..." с альфа каналом, теперь при сканировании отображается аккуратная подсказка в трее

Medic84, спасибо за очень полезную программку;) :beer:

Предлагаю увеличить версию программы на один т. е. 2.0.0.6 и внести изменения в шапку;)
 

Danver

Новичок
Сообщения
26
Репутация
2
Внес еще одно изменение:
  • Добавлено: Пункт "Только копировать" при добавлении задания. Означает что при синхронизации из папки Source в папку Destination файлы и папки будут только копироваться!
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
OffTopic:
Danver, я надеюсь, что Medic84 знает о модификациях...
 
Автор
Medic84

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Я был бы очень благодарен, если бы Yashied взял эту программу под свою опеку. Увы, мне некогда ею заниматься...
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Интересно, что думает по этому поводу Yashied? Ведь проект действительно актуален - жалко будет если он перестанет развиваться...
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
К сожалению, у меня сейчас тоже нет свободного времени.

:(
 
Автор
Medic84

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Обратно взялся за проект... Переписываю гору кода и переделываю дизайн. Пока выглядит так:
 

Lance

Спокойствие и шиза
Сообщения
6
Репутация
0
данный проект мне очень понравился ... но расстроило большое кол-во багов и недочётов ((
надеюсь в будущем программа станет эталоном синхронизации ^_^
сам юзаю искаверканую мною версию и к сожалению сделать её нормальной нет времени...

мои пожелания автору...
1) возможность постоянной синхронизации или "на лету" (или хотябы возможность ставить менее 1 сек)
2) жрёт проца при проверках 2 раза в сек будь здоров... неплохо бы оптимизировать
3) лог лучше вести только затронутых файлов а то обьём лога поражает )))
4) попробовать сделать многопотоковую проверку для большого кол-ва файлов а то время синхронизации так сказать не быстрое(1-й поток чекает с 1-100 файл, 2-й за 101-200 файл... и т.д.)

прошу прощения если я что-то не то или не так сказал ... я идиот О_о
 
Верх