Как определить многоязычное ролевое имя PrincipalPermission?

Проще всего использовать std :: stringstream для такого рода вещей. Я добавил его в рассматриваемый цикл:

#include <sstream>

и:

while (!pq[pqi].empty())
    {
        // get the current node w/ the highest priority
        // from the list of open nodes
        n0 = new node(pq[pqi].top().getxPos(), pq[pqi].top().getyPos(),
            pq[pqi].top().getLevel(), pq[pqi].top().getPriority());

        x = n0->getxPos(); y = n0->getyPos();

        pq[pqi].pop(); // remove the node from the open list
        open_nodes_map[x][y] = 0;
        // mark it on the closed nodes map
        closed_nodes_map[x][y] = 1;

        // quit searching when the goal state is reached
        //if((*n0).estimate(xFinish, yFinish) == 0)
        if (x == xFinish && y == yFinish)
        {
            // generate the path from finish to start
            // by following the directions
            std::stringstream sstr;

            string path = "";
            while (!(x == xStart && y == yStart))
            {
                j = dir_map[x][y];
                c = '0' + (j + dir / 2) % dir;
                sstr << (j + dir / 2) % dir << ",";
                path = c + path;
                x += dx[j];
                y += dy[j];
            }

            // garbage collection
            delete n0;
            // empty the leftover nodes
            while (!pq[pqi].empty()) pq[pqi].pop();
            path = sstr.str();
            return path;
        }

Обратите внимание, что я просто назначил значение sstr для вашего path в конце петля. Я не вижу, какие цифры вы ищете, но это нечто другое.

6
задан Franz P. 4 May 2009 в 14:13
поделиться

5 ответов

Еще одна попытка: взгляните на http://msdn.microsoft.com/en-us/library/system.security.principal.windowsbuiltinrole.aspx . ... и перейти к образцу. Там вы можете использовать члены перечисления BuiltIn, чтобы получить правильно написанное имя группы (через API) ... тогда оно должно быть независимым от языка.

HTH, Томас

2
ответ дан 17 December 2019 в 02:33
поделиться

Хммм, я бы не использовал имя группы непосредственно в своем коде (жестко закодировано). Попробуйте абстрагироваться от такой роли, как «HelloWorldAdmin», и настройте роль в app.config. Этот должен быть сопоставлен с группой пользователей. Это позволит вашим пользователям / администраторам выбрать группу и сопоставить ее с ролью (например, в случае, если администраторы приложения не являются администраторами AD). Взгляните на http://msdn.microsoft.com/en-us/library/ms998314.aspx . НТН.

0
ответ дан 17 December 2019 в 02:33
поделиться

Вы абсолютно уверены, что в немецкоязычной системе «BUILTIN \ Administrators» не будет работать? Я бы даже подумал, что эти основные имена групп должны быть действительными. Да, в ваших инструментах администратора будет отображаться «Vordefiniert \ ADministratoren» - но я бы удивился, если бы атрибут PrincipalPermission зависел от языка.

MArc

0
ответ дан 17 December 2019 в 02:33
поделиться

Вы можете использовать императивную версию и динамически преобразовывать нейтральную по отношению к языку форму (например, SID) в локализованную форму (может быть через SecurityIdentifier.Translate).

Хорошо известные SID перечислены в КБ 243330.

1
ответ дан 17 December 2019 в 02:33
поделиться

Использование try / except - лучший способ проверить существование переменной. Но почти наверняка есть лучший способ сделать то, что вы делаете, чем установка / тестирование глобальных переменных.

Например, если вы хотите инициализировать переменную уровня модуля при первом вызове какой-либо функции, вы

3
ответ дан 17 December 2019 в 02:33
поделиться
Другие вопросы по тегам:

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