На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> ComboBox не отображает список при загрузке формы.
    Имеется два ComboBox'a, в ComboBox2 загружается список их фаила в зависимости от того, что было выбрано в ComboBox1.
    По умолчанию в ComboBox1 стоит ItemIndex=0, но в ComboBox2 список пуст, приходится кликать на пункт №0 и только тогда появляется необходимый список. Как сделать, что б при создании формы уже подгружался список из фаила в ComboBox2, т.к. по идее ж уже стоит выбранная позиция в ComboBox1??

    ExpandedWrap disabled
      procedure TForm1.ComboBox1Change(Sender: TObject);
      begin
      case ComboBox1.ItemIndex of
          0:  begin //Первый пункт ComboBox1
              ComboBox2.Clear;
              Combobox2.Items.LoadFromFile('1.txt')
              end;
       
           1: begin //Второй пункт ComboBox1
              ComboBox2.Clear;
              Combobox2.Items.LoadFromFile('2.txt')
              end;
        end;
      end;
       
      procedure TForm1.ComboBox3Change(Sender: TObject);
      begin
      case ComboBox3.ItemIndex of
          0:  begin //Первый пункт ComboBox3
              ComboBox4.Clear;
              Combobox4.Items.LoadFromFile('1.txt')
              end;
       
           1: begin //Второй пункт ComboBox3
              ComboBox4.Clear;
              Combobox4.Items.LoadFromFile('2.txt')
              end;
        end;
      end;
       
      и т.д. (всего 10 связок таких с одинаковыми файлами для загрузки и списками для выбора из 2-х позиций)
    Сообщение отредактировано: vers0 -
      у тебя стоит загрузка в Combobox2 на методе ComboBox1Change, чтоб загружалось сразу при старте формы, то двойной клик по форме и там
      ExpandedWrap disabled
        ComboBox2.Clear;
                Combobox2.Items.LoadFromFile('1.txt')


      п.с если изменишь путь до файла в 0 пункте ComboBox1, то и при старте формы меняй
        Цитата xerasy @
        у тебя стоит загрузка в Combobox2 на методе ComboBox1Change, чтоб загружалось сразу при старте формы, то двойной клик по форме и там
        ExpandedWrap disabled
          ComboBox2.Clear;
                  Combobox2.Items.LoadFromFile('1.txt')


        п.с если изменишь путь до файла в 0 пункте ComboBox1, то и при старте формы меняй

        На форме 10 !! связок, если внести как ты говоришь на FormCreate, то будет меняться во всех ComboBox'ах, а мне нужно только в одной связке. Тем более, в твоем примере нет зависимости от ComboBox1.

        Хотя, может и прокатит...костыли как всегда ))
        Сообщение отредактировано: vers0 -
          Цитата
          На форме 10

          а, не доглядел

          Цитата
          если внести как ты говоришь на FormCreate, то будет меняться во всех ComboBox'ах

          эм, меняется только Combobox2, не ?
          ExpandedWrap disabled
            Combobox2.Items.LoadFromFile('1.txt')


          Цитата
          Тем более, в твоем примере нет зависимости от ComboBox1.

          я рассчитывал, что по умолчанию 0 индекс активен в ComboBox1

          Добавлено
          вообще, проще всего было бы для каждой связки выполнить первый (нулевой) пункт в FormShow , тобишь
          ExpandedWrap disabled
            Combobox2.Items.LoadFromFile('1.txt')
            Combobox4.Items.LoadFromFile('1.txt')
            ................


          У тебя идет условие, что, если активен 0 (первый) индекс (пункт), то выполнять такое-то условие, при создании формы по умолчанию стоит 0 индекс, если только ты программно его не меняешь.
          Сообщение отредактировано: xerasy -
            Задача пока плоховато поставлена. То имеется два комбобокса, то десять пар, и "будет меняться во всех ComboBox'ах,", то "нужно только в одной связке" - а зачем тогда про десяток говорится?
            Сообщение отредактировано: MBo -
              В комбобоксе по дефолту индекс -1, т.е. не выбрано ничего. Причем программное изменение индекса не запускает OnChange
              Я юзаю такой хелпер:
              ExpandedWrap disabled
                procedure ComboBoxSelItem(ComboBox: TComboBox; ItemIdx: Integer);
                begin
                  ComboBox.ItemIndex := ItemIdx;
                  if Assigned(ComboBox.OnChange) then
                    ComboBox.OnChange(ComboBox);
                end;
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0421 ]   [ 16 queries used ]   [ Generated: 19.04.24, 02:14 GMT ]