![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.01.2012
Сообщений: 15
|
![]()
procedure TForm1.ComboBox1Select(Sender: TObject);
var Ini:TIniFile; i:integer; const cConst1: array [0..5] of String = ('KTE_SERVER_','KTF_SERVER_','OS_SE RVER_','KTE_OPS_','KTF_OPS','OS_OPS '); begin Ini:=TiniFile.Create(extractfilepat h(paramstr(0))+'konfig.ini'); i:=0; if CheckBox1.Checked then i:=1; if CheckBox2.Checked then i:=2; if CheckBox3.Checked then i:=3; if CheckBox4.Checked then i:=4; if CheckBox5.Checked then i:=5; if CheckBox6.Checked then i:=6; if i=1 then Exit; if combobox1.ItemIndex=-0 then Exit; Listbox1.Items.Assign(GetFiles(Ini. ReadString(cConst1[i]+'in',''+IntToStr(combobox1.ItemInd ex),''))); Listbox2.Items.Assign(GetFiles(Ini. ReadString(cConst1[i]+'out',''+IntToStr(combobox1.ItemIn dex),''))); Ini.Free; end; Значит GetFiles функция поиска файлов, в роди все ок но при выборе в combobox1 к примеру 1 значения бьет ошибку и не ищет файлы... |
![]() |
![]() |
![]() |
#2 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
i должно быть от 0 до 5, соразмерно вашему константному массиву. Присваивайте значение i с нуля при проверке Checked.
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 07.02.2012 в 00:59. |
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 04.01.2012
Сообщений: 15
|
![]() Цитата:
Последний раз редактировалось sli-pro; 07.02.2012 в 18:17. |
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 04.01.2012
Сообщений: 15
|
![]()
а как сделать через TRadiobutton?
![]() |
![]() |
![]() |
![]() |
#7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Я бы сделал через TRadioGroup, в нем есть свойство Items - ответственное за набор радиобатонов, манипулировать количеством батонов очень легко, методами списка Items. Отмеченный батон легко узнаётся свойством ItemIndex, без всяких кейсов.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 04.01.2012
Сообщений: 15
|
![]()
ток правильно как сделать)?
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 04.01.2012
Сообщений: 15
|
![]()
procedure TForm1.ComboBox1Select(Sender: TObject);
begin case combobox1.ItemIndex of 0: begin if CheckBox1.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_in', '1', ''))); if CheckBox1.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_out', '2', ''))); if CheckBox2.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_in', '3', ''))); if CheckBox2.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_out', '4', ''))); if CheckBox3.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_os_in', '5', ''))); if CheckBox3.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_os_out', '6', ''))); end; 1: begin if CheckBox1.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_in', '1', ''))); if CheckBox1.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_out', '2', ''))); if CheckBox2.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_in', '3', ''))); if CheckBox2.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_out', '4', ''))); if CheckBox3.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_os_in', '5', ''))); if CheckBox3.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_os_out', '6', ''))); end; 2: begin if CheckBox1.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_in', '1', ''))); if CheckBox1.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_out', '2', ''))); if CheckBox2.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_in', '3', ''))); if CheckBox2.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_out', '4', ''))); if CheckBox3.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_os_in', '5', ''))); if CheckBox3.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_os_out', '6', ''))); end; 3: begin if CheckBox1.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_in', '1', ''))); if CheckBox1.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_kte_out', '2', ''))); if CheckBox2.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_in', '3', ''))); if CheckBox2.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_ktf_out', '4', ''))); if CheckBox3.Checked then Listbox1.Items.Assign(GetFiles(Ini. ReadString('konfig_os_in', '5', ''))); if CheckBox3.Checked then ListBox2.Items.Assign(GetFiles(Ini. ReadString('konfig_os_out', '6', ''))); end; И все таки не догоняю я как упорядочить эт, чтобы не писать эти безумные стоки? кода у меня 99 записей и писать 0: begin...99: begin и переписывать if CheckBox3.Checked then ListBox1.Items.Assign(GetFiles(Ini. ReadString('konfig_os_out', '6', ''))); оч много раз нереально... |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Начнем с того, что Listbox1.Items.Assign замещает старое содержимое Items на новое. Замещает, а не добавляет. Что будет в результате последовательности выполнения IF-в? В Items остнется результат последнего IF-а, в котором отработал THEN. Т.е., если CheckBox1.Checked и CheckBox3.Checked, то что мы увидим в Items?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |