Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 9
1

Возвращение значения функции

15.01.2016, 20:00. Показов 1376. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, есть функция для поиска ключей в реестре, но то ли я не так проверяю что она возвращает, то ли я не знаю что. Выполнение условия при котором функция должна возвращать значение - выполняется.

Вот функция:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
bool TForm1::GetKeys(HKEY root, String Path, String key)
{
    TStringList *secs = new TStringList;
    TStringList *keys = new TStringList;
    TRegistry *registr = new TRegistry();
    registr->Access = KEY_READ | KEY_WOW64_64KEY;
    registr->RootKey= root;
    registr->OpenKey(Path + "\\", false);
    registr->GetKeyNames(secs);
    registr->GetValueNames(keys);
    if (keys->Count > 0) {
        for (int ff=0; ff < keys->Count; ff++) {
            if (keys->Strings [ff].Pos(key) > 0 ) {
                ShowMessage("hell"); // это сообщение появляется
                return true;
            }
 
            }}
        for (int f = 0; f < secs->Count; f++) {
            GetKeys(root, Path + "" + secs->Strings[f], key);
        }
    registr->CloseKey();
}

Вот как вызываю, "Hi" не появляется(

C++
1
2
3
4
5
6
String path = "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist";
HKEY root = HKEY_LOCAL_MACHINE;
if (!FileExists(GetCurrentDir()+"\\Temp\\ntuser.dat")) root =  HKEY_CURRENT_USER;
if (GetKeys(root , path, "Puebzr") == true) {
    ShowMessage("hi");
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2016, 20:00
Ответы с готовыми решениями:

Возвращение указателя из функции
Доброе время суток. Как привести указатель к типу Bitmap? Есть вот такая функция: void*...

Возможно ли возвращение функцией двух значений? Именно возвращение, не ссылка или указатель
Нужна функция в которую забиваешь два числа и сначала она возвращает минимальное, после...

Возвращение значения из функции
Есть следующий код: public MainPage() { InitializeComponent(); ...

Возвращение значения из функции
Добрый день. Вообщем, проблема такова: есть такой исходник (ниже), в нем находятся 3 функции (main,...

4
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
15.01.2016, 22:15 2
Ну, на первый взгляд return true, которое в цикле, просто прервет цикл, но сама функция bool не возвращает. При компиляции предупреждающих сообщений не возникает?
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 9
15.01.2016, 22:23  [ТС] 3
nick42, Нет, при компиляции все чисто.
0
Модератор
9629 / 6233 / 2426
Регистрация: 21.01.2014
Сообщений: 26,589
Записей в блоге: 3
15.01.2016, 22:40 4
Лучший ответ Сообщение было отмечено A1exZ как решение

Решение

так попробуй...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool TForm1::GetKeys(HKEY root, String Path, String key)
{
    static bool b = false;
    TStringList *secs = new TStringList;
    ...
    if (keys->Count > 0)
      for (int ff=0; ff < keys->Count; ff++)
         if (keys->Strings [ff].Pos(key) > 0 )
             {
                ShowMessage("hell"); // это сообщение появляется
                b = true;
                break;
             }
      for (int f = 0; f < secs->Count; f++)
            GetKeys(root, Path + "" + secs->Strings[f], key);
    registr->CloseKey();
    return b;
}
1
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 9
15.01.2016, 23:11  [ТС] 5
D1973, аааа, спасибо, работает))))
0
15.01.2016, 23:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2016, 23:11
Помогаю со студенческими работами здесь

Возвращение из функции значения
Всем добрый день! Я дилетант в С++, поэтому не могу получить из функции значение: char...

Возвращение значения из функции
У меня есть 3 задания. Я их сделала. Но нужно что то возвращать. И я не знаю как return сделать....

Возвращение значения функции
Я создала структуру и конструктор. Нужно создать функцию типа этой структуры add_one_minute,...

Возвращение значения функции
Как сделать отдельно функцию, чтобы она возвращала в основную функцию значение sum? Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru