![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Егор (к сожалению, не Летов) |
|
|||
|
Unregistered |
Как можно реализовать следующее?
В реестре нужно создать раздел HKEY_LOCAL_MACHINE\MyKey\00000 при добавлении следующей записи, нужно создать раздел HKEY_LOCAL_MACHINE\MyKey\00001 и так далее. То есть, если раздел 00000 сушествует - создать 00001, если и 00001 сушествует - создать 00002 и т.д и т.п. Идей у меня пока нет, топчусь на одном месте, как видите. Вот и решил спросить. Пример обязателен, хоть какой-нибудь. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Егор (к сожалению, не Летов) |
|
|||
|
Unregistered |
Спасибо. На этом форуме действительно профи помогают.
Агой (пока по чешски, или привет, точно уже не помню). |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Для этой цели использую GUI - всегда будет уникальной, хотя и неудобоваримой как Ваш ключ.
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Егор (к сожалению, не Летов) |
|
|||
|
Unregistered |
Не работает. Ошибочка вот такая:
Project Project1.exe raised exception class EConvertError with message "MPEG-4DC' Is nol a valid Inleger value". Process slopped. Use Slep or Run to conllnue. Вот код:
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Ну так я расчитывал что у тебя будут только папки "00000", "00001" и т.д., а у тебя там появилась "MPEG-4DC". Тебе надо или исключить их появление или обрабатывать эту ситуацию.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Егор (к сожалению, не Летов) |
|
|||
|
Unregistered |
Я не понимаю. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Собственно моя ошибка в том, что видимо нельзя давать готовый код - он будет просто вставлен и вопрошающий так и не поймёт что он делает
В данном случае надо исключить не числовые значения из массива UnikKey - т.е. там надо оставить значения "00000", "00001" и т.п. и исключить типа "MPEG- 4DC", кроме того, естественно я не предполагал что будет посторонний мусор, поэтому надо придумать как обработать ситуацию если попадётся например ключ "234" - сортируются то строки, не цифры, так что такие значения если найдены то должны быть тоже исключены. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Егор (к сожалению, не Летов) |
|
|||
|
Unregistered |
Объясни что делает следующий фрагмент кода (желательно по-подробнее):
Format('%.5d',[StrToInt(UnikKey[UnikKey.count-1])+1]) :baaa :baaa |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Функия Format позволяет вставлять в строку различные значения. Например
Format('Егор (%s %s) ',['который', 'не Летов']) вернёт строку: 'Егор (который не Летов)' т.е. вместо %s будут вставлены значения строк из массива в квадратных скобках Format('%d Попугаев',[38]) вернёт строку: '38 Попугаев' т.е. вместо %d будет вставлено число (не строка) из массива теперь в нашем случае: Format('%.5d', .... "%.5d" обозначает что мы вставляем число и что это число будет пятизначным, т.е. если мы вставим Format('%.5d', [1]) то получим строку "00001" "UnikKey.count-1" - номер последней строки в массиве (отсортированном по порядку) UnikKey[UnikKey.count-1] - последняя строка в массиве StrToInt - перевод строки в число (она как раз и генерит ошибку, когда попадается строка, которую нельзя конвертировать в целое число) StrToInt(UnikKey[UnikKey.count-1]) взять последнюю строку в массиве и конвертировать ее в число StrToInt(UnikKey[UnikKey.count-1])+1 - взять следуещее число Format('%.5d',[StrToInt(UnikKey[UnikKey.count-1])+1]) - следующее число конвертировать в 5тизначнное число в виде строки -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Егор (к сожалению, не Летов) |
|
|||
|
Unregistered |
Не выходит у меня без ошибки создать ключ. Может, кто поможет?
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Ok, значит задача состоит в том чтобы убрать из массива названий все что не являются цифрами, и сделать это надо здесь:
Reg.GetKeyNames(UnikKey); //сюда вставляет код который удаляет все ключи из UnikKey, которые не являются цифрами UnikKey.Sorted:=true; -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |