Показать сообщение отдельно
  #22  
Старый 11.08.2019, 12:42
DenSarych DenSarych вне форума
Прохожий
 
Регистрация: 02.08.2018
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Каких значений? Что даст добавление значений?
В вашем случае, скорее всего, ничего не даст. Вы спрашиваете "как сделать", но, не описываете ни "зачем это нужно", ни "общей задумки", ни "общего подхода". А поскольку вы стоите программу на основе "советов из интернета" (каждый из которых по-своему правильный, но в общем-то несовместим с любым другим), то в результате и получите "лоскутное одеяло", набор кусков кода, а не цельную, работоспособную программу.

Вы опишите "что вы хотите получить в конечном итоге". Может - "форму ввода значений", или "пару форм раздельного отображения и редактирования данных", или "небольшую программку учёта, работающую с БД"?

Цитата:
Каких значений?
Как раз как связать и не понятно. Как связать id записи в таблице со строкой в комбобокс?
Добавление значений (id, Name), т.е. "id записи в таблице и строки" в ComboBox:
Код:
procedure TfvMain.btnAddClick(Sender: TObject);
  var i, n :integer;
begin
    //заполним ComboBox значениями
  ComboBox1.Items.Clear;
  with Query1 do
  begin
    Open;
    for i := 1 to RecordCount do
    begin
      ComboBox1.Items.AddObject(
        FieldByName('Name').AsString,
        TObject(FieldByName('Id').AsInteger)
        );
      Next;
      end;
    Close;
    ComboBox1.Text := '';
    end;
end;
Изменение значений в ComboBox:
Код:
procedure TfvMain.btnDelClick(Sender: TObject);
  procedure ComboBox1_DelId ( cId :integer);
    var i :integer;
  begin
    with ComboBox1.Items do
    for i := 0 to Count -1 do
      if Integer(Objects[i]) = cId
        then begin
          Delete(i);
          Break;
          end;
  end;
begin
  //Изменим значения ComboBox
  // 1 вариант (рекомендуемый):
    // Очистить ComboBox1.Items: ComboBox1.Items.Clear;
    // Загрузить все данные из Query
  // 2 вариант (удаление единственного значения по id):
  ComboBox1_DelId(StrToInt(edValueId.Text));
end;
Получение значений id из ComboBox:
Код:
procedure TfvMain.ComboBox1Change(Sender: TObject);
begin
    //Посмотрим, какие значения Name и Id находятся в ComboBox1
  with (Sender as TComboBox) do
  begin
    ShowMessage('Name = '+Items.Strings[ItemIndex] +', Id = ' +
      IntToStr(Integer(Items.Objects[ItemIndex])))
    end;
end;
Ответить с цитированием