Каковы основные отличия между программированием для Windows XP и для Vista?

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

Подход 2: -

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

public class TestPopularElements {
    public static int getPopularElement(int[] a) {
        int count = 1, tempCount;
        int popular = a[0];
        int temp = 0;
        for (int i = 0; i < (a.length - 1); i++) {
            temp = a[i];
            tempCount = 0;
            for (int j = i+1; j < a.length; j++) {
                if (temp == a[j])
                    tempCount++;
            }
            if (tempCount > count) {
                popular = temp;
                count = tempCount;
            }
        }
        return popular;
    }

    public static void main(String[] args) {
        int a[] = new int[] {1,2,3,4,5,6,2,7,7,7};

        System.out.println("count is " +getPopularElement(a));
    }

}
11
задан J0e3gan 13 December 2014 в 07:58
поделиться

4 ответа

Пользовательский интерфейс

Рассмотрение Пользовательских Инструкций по Опыту Windows Vista, Вы видите, что они изменили много элементов UI, о которых необходимо знать. Некоторые главные вещи принять во внимание:

64-разрядный

Vista имеет 64-разрядный выпуск, и хотя XP сделал также, Ваши пользователи, более вероятно, будут использовать Vista 64, чем XP 64. Теперь необходимо иметь дело с:

КОНТРОЛЬ УЧЁТНЫХ ЗАПИСЕЙ

Управление учетными записями пользователей значительно влияет на полномочия по умолчанию, которые Ваше приложение имеет при взаимодействии с ОС.

Новые API

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

Установщики

Поскольку установки могут только использовать общее время выполнения, которое они устанавливают после того, как транзакция завершилась, пользовательские действия перестанет работать, если Ваше пользовательское действие dll требует времени выполнения Visual C++ выше VS 20:05 CRT (non-SP1).

20
ответ дан 3 December 2019 в 03:54
поделиться

Безусловно самая болезненная часть перемещения приложения от XP до Vista (с моей точки зрения) имеет дело с многочисленными сервисами и материалом IPv6, который использует порты, которые были ранее свободны, и контакт с Беспроводной Настройкой-> Собственный компонент переход WiFi.

Материал контроля учётных записей является в основном спорным вопросом; существует очень мало разработчик приложений, должен сделать.

0
ответ дан 3 December 2019 в 03:54
поделиться

Может быть, но это - сознательный выбор, который Вы делаете как разработчик. Можно использовать новый материал Vista, как контроль учётных записей и CommandLinks и Аэро и т.д. Но Вы не имеете к (даже контроль учётных записей может быть запрограммирован вокруг - просто не делают ничего, чему нужны административные привилегии). Если Вы принимаете решение проигнорировать весь материал Vista, то нет абсолютно никакого различия между двумя.

Если Вы действительно хотите включать тот материал в свое приложение, это имеет значение. Но я сказал бы не огромный. И если Вы абстрагируете далеко различия (например, запишите свою собственную функцию, которая показывает TaskDialog для Vista, но какой dumbs вниз вход Вы даете ей в MesssageBox на XP), то затем Вы будете только писать против своего собственного кода, и различия почти на ничто не будут походить.

Кроме того, много нового материала Vista (например, контроль учётных записей или Аэро) является материалом, о котором Вы волнуетесь однажды при создании первой части функциональности, которая использует его, получите его работа и затем никогда не думайте о снова при разработке приложения.

1
ответ дан 3 December 2019 в 03:54
поделиться

Никогда не предполагайте, что у Вашего пользователя есть доступ к определенным ключевым областям диска (т.е. программные файлы, каталог окон и т.д.). Вместо этого учетная запись пользователя по умолчанию только сможет записать в маленький раздел их данных приложения. Кроме того, они не смогут записать в глобальные области реестра - только текущий пользовательский раздел.

Можно, конечно, поднять их полномочия, но это сам по себе - задача.

Обычно программирование для Vista совпадает с XP, это - просто новые ограничения учетной записи, которых необходимо опасаться.

Взгляните на эту страницу относительно создания Вашего приложения "знающий контроль учётных записей"

http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx

5
ответ дан 3 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: