Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26163
Рейтинг: 2127
#31: 2007-06-12 23:54:39 ЛС | профиль | цитата
Вячеслав,
сначала ключи перебрать надо вот так
Add(MainForm,559374,56,161)
{
Left=20
Top=105
}
Add(Registry,10964054,308,189)
{
Point(doEnumKeys)
Point(onEnumKey)
link(onEnumKey,16039513:doAdd,[])
}
Add(Button,2436954,252,203)
{
Left=15
Top=25
link(onClick,10964054:doEnumKeys,[])
}
Add(ListBox,16039513,371,196)
{
Left=80
Top=10
Width=305
Height=240
IdxIcons=[]
Icons=[]
}
карма: 22

0
Ответов: 1305
Рейтинг: 29
#32: 2007-06-13 19:32:08 ЛС | профиль | цитата
Да, а потом проделать то же самое с каждым найденным ключом, а потом с каждым найденным подключом каждого ключа - и т.д., и т.п. Легких путей здесь нету
карма: 0

0
Ответов: 3655
Рейтинг: 69
#33: 2007-06-13 20:02:27 ЛС | профиль | цитата
v258 писал(а):
Да, а потом проделать то же самое с каждым найденным ключом, а потом с каждым найденным подключом каждого ключа - и т.д., и т.п.

Добрый дядя их там тысячи.

nesco писал(а):
сначала ключи перебрать надо вот так

Спасибо .
Но блокнот того не стоит.
карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#34: 2007-06-13 20:08:13 ЛС | профиль | цитата
Вячеслав писал(а):
Но блокнот того не стоит

А что, только в один блокнот дело уперлось? А завтра опять понадобится какой-либо ключ найти, и что?
карма: 22

0
Ответов: 9906
Рейтинг: 351
#35: 2007-06-13 20:08:13 ЛС | профиль | цитата
v258 писал(а):
Да, а потом проделать то же самое с каждым найденным ключом, а потом с каждым найденным подключом каждого ключа

Dilma еще не довел до ума решение рекурсивных задач
карма: 9

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#36: 2007-06-13 20:10:30 ЛС | профиль | цитата
Galkov писал(а):
Dilma еще не довел до ума решение рекурсивных задач

Это лучший вариант, но ты же сам говорил, что гланды можно удалять откуда угодно... А ведь есть методы и через ж...
карма: 22

0
Ответов: 2059
Рейтинг: 28
#37: 2007-06-13 20:28:52 ЛС | профиль | цитата
Galkov писал(а):
Dilma еще не довел до ума решение рекурсивных задач

а что For уже не помогает? Задаешь максимально возможную виличину и всё
карма: 1

0
Ответов: 9906
Рейтинг: 351
#38: 2007-06-13 20:35:07 ЛС | профиль | цитата
Эдик писал(а):
а что For уже не помогает?

По-еврейски: а что такое рекурсия
карма: 9

0
Ответов: 3655
Рейтинг: 69
#39: 2007-06-13 20:53:59 ЛС | профиль | цитата
nesco писал(а):
А завтра опять понадобится какой-либо ключ найти, и что?

Regedit - запроссто ищет.
Но сделать попробую.
(Хм.. может на делфи проще)

[size=-2]------ Добавлено в 20:53
В программировании рекурсия — вызов функции или процедуры из неё же самой (обычно с другими значениями входных параметров), непосредственно или через другие функции (например, функция А вызывает функцию B, а функция B — функцию A). Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.

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


карма: 0

0
Ответов: 2059
Рейтинг: 28
#40: 2007-06-13 20:54:51 ЛС | профиль | цитата
Galkov писал(а):
По-еврейски: а что такое рекурсия

Это когда происходит постоянный самовызов какой нибудь процедуры. Короче что то типо такого.
10 Print "HiAsm";
20 Goto 10;
30 ...
карма: 1

0
Ответов: 9906
Рейтинг: 351
#41: 2007-06-13 21:04:24 ЛС | профиль | цитата
Вячеслав писал(а):
(Хм.. может на делфи проще)

Если умеешь делать - то проще на том, чем чаще пользуешься
Если ждешь пока туда "кучу точек наставят" - не поможет, и не только "делфи"
ИМХО

[size=-2]------ Добавлено в 21:04
"самовызов" и Goto - совершенно разные вещи.
Эдик писал(а):
Короче что то типо такого

Абсолютно не "типо"
карма: 9

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#42: 2007-06-13 21:07:10 ЛС | профиль | цитата
Galkov писал(а):
Если ждешь пока туда "кучу точек наставят"

А не поможет. Ставь, или не ставь точки, но без рекурсии (или эмулятора рекурсии на компонентах) -- никуда.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#43: 2007-06-13 21:07:38 ЛС | профиль | цитата
Galkov писал(а):
Если ждешь пока туда "кучу точек наставят" - не поможет, и не только "делфи"

Не типа написать IC ,или стырить из дельфей готовенькое(чтоб у нас работало).
карма: 0

0
Ответов: 1305
Рейтинг: 29
#44: 2007-06-13 22:39:10 ЛС | профиль | цитата
Вячеслав писал(а):
Спасибо .
Но блокнот того не стоит.

Вячеслав, а зачем такие сложности для единичной задачи? Тут самый оптимальный вариант такой
v258 писал(а):
Определи, какие ключи и параметры нужно менять (не думаю, что они разные на разных компах), создай их список и с этим списком работай

Найти их можно тем же RegEdit'ом
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#45: 2007-06-14 11:30:05 ЛС | профиль | цитата
Galkov писал(а):
Dilma еще не довел до ума решение рекурсивных задач

Вот так вот красиво и без каких либо ошибок можно вычислить факториал числа методом рекурсии в пакете WEB:
code_1552.txt

точно так же можно бы было решить задачу не задумываясь в пакете Delphi 2, если б такой существовал, даже еще проще
Add(CallFunc,8412154,350,392)
{
Args=1
Name="regkeys"
link(Arg1,1972642:Var3,[(356,373)])
}
Add(Function,5495278,126,392)
{
Args=1
Name="regkeys"
link(onPrint,5292285:doWork1,[])
}
Add(StrCat,7951014,294,392)
{
link(onStrCat,8412154:doPrint,[])
link(Str1,1972642:Var2,[])
}
Add(ArrayEnum,1078693,238,392)
{
link(onEnum,7951014:doStrCat,[])
link(Array,15554936:Var2,[])
}
Add(GetDataEx,15554936,231,364)
{
Angle=3
link(Data,15867821:Var3,[])
}
Add(MultiElement,5292285,182,392)
{
link(onEvent1,1078693:doEnum,[])
link(Data1,15867821:Var2,[])
}
BEGIN_SDK
Add(EditMulti,15304158,6,6)
{
EventCount=1
WorkCount=1
DataCount=1
}
END_SDK
Add(GetDataEx,15867821,175,364)
{
Angle=3
link(Data,5495278:Arg1,[(169,373)(169,434)(132,434)])
}
Add(GetDataEx,1972642,287,364)
{
Angle=3
link(Data,15554936:Var3,[])
}

тут MultiElement - это контейнер, которому в качестве входных данных приходит имя очередного ключа. Т.е. сюда вставляются наши действия, производимые для каждого найденного ключа.
ArrayEnum - это эмулятор элемента, который умеет выдавать список ключей для одной указанной ветки реестра.
Вот и вся задача.
карма: 27
0
файлы: 1code_1552.txt [902B] [333]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)