Автор: MmM , 13 июня 2006
Нужно чуть-чуть поправить плугин к миранде - UINBackup называется ... исходники есть на сайте миранды .... если имеются желающие попробовать - напишу, что хочу.
Может еще кому пригодится.
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

savely

19 лет 8 месяцев назад

Типа умею, хотя не родной язык. Кидай ссылки, посмотрим.

MmM

19 лет 8 месяцев назад

Вот исходник.

Проблем собственно две:

1. В этом плугине, когда происходит импорт контактов из .CLB юзеру выводится окошко о том, сколько контактов всего и сколько успешно импортировано. Дак вот, пока юзер не нажмет OK, файл остается открытым. А отдельные бухи очень не любят нажимать на лишние кнопки. Треба пофиксить.

2. Очень хочется добавить такую функциональность - не тупое копирование недостающих контактов, а чтобы контакты, которые удалены/перенесены по группам/переименованы, правильно обрабатывались.

savely

19 лет 8 месяцев назад

Гляну завтра.
Проблема N1 - думаю, решается парой строчек.
Проблема N2 - не знаю пока.

MmM

19 лет 8 месяцев назад

Ну я собственно так и предполагал.... :)

savely

19 лет 8 месяцев назад

Еще, если можно - ссылку на исходники миранды (или что там у нее - SDK типа) в удобном виде типа архива - нужны *.h-файлы оттуда.

Root

19 лет 8 месяцев назад

savely_s
боюсь, придется поставить SVN.

http://sourceforge.net/projects/miranda

либо есть сурцы на старую версию 0.3.3.1:
http://prdownloads.sourceforge.net/miranda-icq/miranda-im-v0.3.3.1-src.zip
PS: в последнем файле SDK у меня есть ;)

MmM

19 лет 8 месяцев назад

http://sourceforge.net/project/showfiles.php?group_id=94142 там 4.0.1 есть ... так вернее.

Добавлено спустя 2 часа 51 минуту 7 секунд:

По поводу пункта 2 могу предложить два варианта возможной реализации:

1. Смотрим CLB и локальный контакт лист.
Находим в CLB первую группу пользователей. Если такая группа есть локально, удаляем содержимое, импортируем всех пользователей группы из CLB. Если такой группы нет, создаем и импортируем содержимое.
Ищем следующую группу в CLB итд ...
Данное правило не распространяется на корневую группу.

2. Я тупо создаю еще один файл со списком групп, которые нужно удалить вместе с пользователями, а потом импортировать заново ...
Данное правило не распространяется на корневую группу.

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

BTW ... если начнет получаться - нада договориться о способах оплаты.

Добавлено спустя 9 минут 10 секунд:

Нашел кусок по п1

[code:1]if (i == 1)
wsprintf(trStr, Translate("%d contact imported\nThere are %d contacts in the database"), i, CallService(MS_DB_CONTACT_GETCOUNT, 0, 0));
else
wsprintf(trStr, Translate("%d contacts imported\nThere are %d contacts in the database"), i, CallService(MS_DB_CONTACT_GETCOUNT, 0, 0));

if (!(startup && i == 0)) //Don't show a message if autoimport and no contacts imported
MessageBox(NULL, trStr, Translate("Done"),MB_OK);

CloseHandle(inFile); //We are done with the file[/code:1]
Явно закрывают файл только после нажатия Done

savely

19 лет 8 месяцев назад

Да, я его (кусок) уже заметил. В принципе там переменные startup и i влияют. Я пока не смотрел откуда они.
Тебе просто закрывать файл ДО окошка или вообще выбросить окошко?

Вообще серьезно заниматься этим буду в выходные.

MmM

19 лет 8 месяцев назад

Лучше закрыть файл до окошка.

Добавлено спустя 5 часов 51 минуту 4 секунды:

Первый вопрос снят ... я первый раз работал в С под Windows ... успешно.

savely

19 лет 8 месяцев назад

Поздравляю :wink: Надо же когда-то начинать. :mrgreen: