![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| h2o |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: 1 Всего: 1 |
Смысл: в переменную REGTempBase я заношу имена и пути из реестра. После проверки IF (FileExists (exeFilePath)) и IF (FileExists (cfgFilePath)) если всё правда, то тогда берём нужную строку из переменной REGTempBase (эта строка в реестре выглядит как"имя:прога, значение:c:\proga\"), и заносим её в переменную TempBase. А дальше из переменной TempBase я все данные заношу в ListBox1. Я это делаю для того, чтобы, если в реестре есть имена и пути... а одно из условий не выполняется, чтобы у меня переменная TempBase содержала тока те значения, которые прошли проверки, и я дальше смогу работать с переменной. ведь списки TempBase и в REGTempBase получаются разные!!! Но у меня что-то никак не получается такое сотворить? замучался... Вопрос: как правильно осуществить описанную мной запись... исправив 2 строки:
З.Ы. если эти 2 строки заменить 1й то всё работает, но мне нужно как я описал, тоесть с TempBase:
надеюсь понятно обьеснил... жду помосчи! очень срочно нужно!!! люди..... хелп!!! Это сообщение отредактировал(а) h2o - 21.10.2005, 12:59 --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
||||||
|
|||||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Добавь в локальные переменные
и измени так:
Надеюсь я тебя правильно понял -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А может просто после цикла выполнить
ListBox1.Items.AddStrings(TempBase); -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| h2o |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: 1 Всего: 1 |
Romikgy
это всё равно что
да ещё и выделение памяти под 1 переменную, да ещё и лишние такты проца.... экономим память.... я сам вообще поди не правильно делаю! если у меня используется REG.GetValueNames(REGTempBase); , тоесть я всё заношу в REGTempBase. а потом использую TempBase.Add(REG.ReadString(REGTempBase.Strings[i])); это ведь не правильно??? зачем тут REG.ReadString(REGTempBase.Strings[i]), точнее REG.ReadString??? это неправильно? Добавлено @ 12:35 зачем то опять REG.ReadString ведь можно по другому??? Добавлено @ 12:39
а чё, так будет работать? Это сообщение отредактировал(а) h2o - 21.10.2005, 12:37 --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
||||
|
|||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Я думал , что понял оказывается , что нет
Что тебе нужно ? Что именно не работает? Я из твоих вопросов не понял
Дык и не пользовался бы VCL раз экономишь такты проца И знаешь чем мой вариант лучше, тем что нет чтения типа
Потому как если у тебя было выполненно правильно условие только для первого случая, а потом 3 записи совпадений небыло , то при совпадении в четвертой строке !!! у тебя будет пытатся считать из 4 строки данные , которых в помине нет! ведь было только одно совпадение!!! -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
| h2o |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: 1 Всего: 1 |
я и сам намудрил...
Повторюсь, и попытаюсь обьяснить точнее REG.GetValueNames(REGTempBase); -этим я записываю в REGTempBase содержимое реестра. В реестре по пути HKEY_CURRENT_USER\Software\MySoft\Proga\Names\ находится ________________________________________________ |имя | тип | значение | ________________________________________________| |(по умолчанию) | REG_SZ | значение не присвоено | | C:\games\HL2\ | REG_SZ | Half-Life 2 | | C:\games\D3\ | REG_SZ | Doom3 | | C:\games\q3\ | REG_SZ | Quake3 | | C:\games\DS2\ | REG_SZ | Dungeon Siege 2 | ________________________________________________ Дак вот, в переменную REGTempBase я записываю всё это (к примеру - "Half-Life 2 - C:\games\HL2\ ") Потом, проверяю условия... и емли всё правда, то ListBox1.Items.Add(REG.ReadString(REGTempBase.Strings[i]));- этим я беру из REGTempBase "значение" = "Half-Life 2 " а вот в TempBase мне надо записать все данные!!! тоесть он должен соответствовать REGTempBase , но его содержимое уже будет зависеть от условий!!! TempBase должен содержать как "значение" так и "имя " тоесть если содержимое REGTempBase = ________________________________________________ |имя | тип | значение | ________________________________________________| |(по умолчанию) | REG_SZ | значение не присвоено | | C:\games\HL2\ | REG_SZ | Half-Life 2 | | C:\games\D3\ | REG_SZ | Doom3 | | C:\games\q3\ | REG_SZ | Quake3 | | C:\games\DS2\ | REG_SZ | Dungeon Siege 2 | ________________________________________________ и условие не выполняется на Half-Life 2 и Quake3, то содержимое TempBase должно быть = ________________________________________________ |имя | тип | значение | ________________________________________________| |(по умолчанию) | REG_SZ | значение не присвоено | | C:\games\D3\ | REG_SZ | Doom3 | | C:\games\DS2\ | REG_SZ | Dungeon Siege 2 | ________________________________________________ а содержимое ListBox1: _______________ Doom3 | Dungeon Siege 2 | _______________| Тоесть: вопрос в следующем - как мне это сделать? с ListBox1.Items.Add(REG.ReadString(REGTempBase.Strings[i])) - всё правильно! так надо а вот что с TempBase? приведу код ещё раз!
--------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Если на в TempBase и ключ и значение , то
Терь так как ты хотел? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
| h2o |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: 1 Всего: 1 |
чё то не работает! значит не то!
--------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
| h2o |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: 1 Всего: 1 |
проще вопрос:
как из одного TStrings записать определённые данные в другой TStrings??? мне надо чтобы
надо TempBase2=TempBase3 тока без некоторых данных! как в примере выше когда без Half-Life 2 и Quake3 Добавлено @ 15:49 СТОП! Ничего не понимаю! все заработало!
не понимаю! я потом обращаюсь и работаю с TempBase как с TStrings. я предполагал, что для правильной работы ему нужны все данные, а не только имена! всё просто до тупости! Romikgy спасибо! всё заработало как надо! с TempBase.Add(REGTempBase.Strings[i]+" "+REG.ReadString(REGTempBase.Strings[i])); - не работает! да вообще, как этот TStrings хранит в себе данные, в каком виде? как хоть это вывести куда-нибудь чтоб посмотреть? --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
||||
|
|||||
![]()
|
| Правила форума "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. |