![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 20
|
![]()
Здраствуйте! Такая проблема возникла, созданный ini файл, загружаю в фому и беру с него данные для Edit, RadioButton, CheckBox, listbox и т.д., всё работает нормально кроме listbox-а. Проблема в том что при загрузки в listbox он автоматически увеличивается на 2 еденицу, т.е например в ini файле значение для listbox-а равно 4, а при загрузке показывает 6, и при сохранение сохраняет 5.
procedure TForm4.FormCreate(Sender: TObject); var F: TIniFile; begin F := TIniFile.Create(ExtractFilePath(Par amStr(0)) + 'File.ini'); {...} ListBox1.ItemIndex:= F.ReadInteger('tools', 'index5', 0); {...} procedure TForm4.Button3Click(Sender: TObject); var F: TIniFile; begin F := TIniFile.Create(ExtractFilePath(Par amStr(0)) + 'File.ini'); {...} ListBox1.Selected[ListBox1.TopIndex]:=true; F.WriteInteger('tools', 'index5', ListBox1.ItemIndex ); {...} Надеюсь смог корректно и правильно обьяснить суть. Заранее спасибо |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
![]()
Может потому, что ListBox1.ItemIndex начинается с нуля, а не с единицы?
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 20
|
![]()
но тогда же я думаю он увеличивался на одну еденицу а не на две.
|
![]() |
![]() |
![]() |
#4 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
зачем сохранять itemindex ??? это просто выделенный в данный момент Item , Вам надо , по все видимости, сохранять все Items . Вот и сохраняйте. учтите, что они нумеруются с 0 и последний имеет индекс items.count - 1
А у Вас что ? непонятно зачем установка selected ,и сохранение itemindex, да и index5 - фиксированное название для строки, возможно , это вводит Вас в залуждение. скорее всего лучше написать так: Код:
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 20
|
![]()
нет, мне не все Items сохранять надо, при редактирование в Delphi для ListBox в свойсве Items прописанны 50 сточек с номерацией от 1-го до 50. ListBox сжат по размеру под одну строчку и поэтому при создание там отображается одна строчка, по умолчанию "1" - т.е. первый Item. По любому без ini они все загружаются, а ini нужен для того что бы записывать в него выбранный по счёту Item например прокрутил на 13 Item показалось число "13", при нажатие на кнопку в ini файл записывается 13, и при следующей загрузки формы надо что бы в ListBox сразу показывалась 13-я строчка
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Listbox | sxcine | Общие вопросы Delphi | 3 | 20.08.2010 07:30 |
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) | blackstersl | Общие вопросы Delphi | 11 | 09.06.2010 13:23 |
Из listbox в БД | Alexeyss | БД в Delphi | 3 | 29.01.2010 11:31 |
из ListBox в БД | Spectre | БД в Delphi | 5 | 31.12.2007 13:58 |