работа с ComboBox

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

работа с ComboBox

Сообщение NewUser » 11.05.2007 12:01:42

как решить следующую задачу:

в БД таблица отделы с полями
id -номер
name - наименование

1. есть форма сотрудники в которой выпадающий список ComboBox
должен заполниться наименованиями отделов

2. по нажатии на кнопку сохранить
в БД в таблицу сотрудники значение id отдела должно записаться в поле sotr_otdel

как это реализовать?
NewUser
новенький
 
Сообщения: 97
Зарегистрирован: 08.05.2007 13:28:40

Сообщение shade » 11.05.2007 12:47:32

Купи книжку по Dephi, прочти и подобные вопросы возникать не будут

или посмотри тут:
http://www.programmersclub.ru/book
http://www.programmersclub.ru/help
С данным вопросом можно попробовать начать с этого http://www.programmersclub.ru/bookdb
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение debi12345 » 11.05.2007 13:11:48

Использовать компонент TLookupComboBox.

В Лазарусе таковой отсутствует ( и врядли появится ввиду сложности реализации ), но похожий есть в RxLIB и JVCL.

Вручную кодировать не рекомендую - зачем прививать дурные привычки ?
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение shade » 11.05.2007 13:22:10

debi12345 писал(а):Вручную кодировать не рекомендую - зачем прививать дурные привычки ?

Кодить мышкой не менее дурная привычка
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Attid » 11.05.2007 14:05:05

:D
Кодить мышкой не менее дурная привычка

подерживаю =)

NewUser
если учишься снуля попробуй MSEide.
там с БД проще начинать.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: работа с ComboBox

Сообщение VirtUX » 26.02.2010 15:24:51

Как отключить автоматическое добавление в список по нажатию Enter?
SVN: 23755
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: работа с ComboBox

Сообщение dunin » 12.03.2010 11:11:39

VirtUX писал(а):Как отключить автоматическое добавление в список по нажатию Enter?

Встречный вопрос: как ВКЛЮЧИТЬ автоматическое добавление в список по нажатию Enter? Я серьезно.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: работа с ComboBox

Сообщение VirtUX » 12.03.2010 14:40:07

В последних ревизиях Lazarus уже отключено автоматическое добавление по моей просьбе.
Автоматическое добавление
Код: Выделить всё
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 13 then ComboBox1.Items.Append(ComboBox1.Text);
end;
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: работа с ComboBox

Сообщение dunin » 12.03.2010 14:53:03

VirtUX писал(а):В последних ревизиях Lazarus уже отключено автоматическое добавление по моей просьбе.
Автоматическое добавление
Код: Выделить всё
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 13 then ComboBox1.Items.Append(ComboBox1.Text);
end;

Ну йомайо... так-то и дурак добавит. Думал какой-то специальный флаг есть...
Спасибо. :?
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: работа с ComboBox

Сообщение VirtUX » 12.03.2010 18:52:05

Вот именно, что флага не было, а автодобавление, по умолчанию, работало. Короче баг был, который уже поправили.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: работа с ComboBox

Сообщение modbus » 18.07.2012 13:16:45

Подскажите, как сделать так, чтобы при нажатии на комбобокс в выпадающем меню был список доступных(существующих) в системе последовательных портов?
modbus
незнакомец
 
Сообщения: 8
Зарегистрирован: 27.06.2012 16:58:10

Re: работа с ComboBox

Сообщение Mr.Smart » 18.07.2012 13:41:40

Чтением ветки реестра HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM.
А вообще вы темой случаем не ошиблись?
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: работа с ComboBox

Сообщение modbus » 18.07.2012 14:19:25

Подскажите правильную тему :) Потому что как прочитать реестр, отсортировать полученный список и засунуть в комбобокс я тоже не знаю. Изучал когда-то Паскаль еще под досом, ковыряюсь вот.
modbus
незнакомец
 
Сообщения: 8
Зарегистрирован: 27.06.2012 16:58:10

Re: работа с ComboBox

Сообщение Mr.Smart » 18.07.2012 14:31:16

кусок кода
Код: Выделить всё
procedure TMySerialPorts.BuildList;
var
reg: TRegistry;
l: TStringList;
p: TMySerialPort;
j: Integer;
begin
  Clear;
  reg:=TRegistry.Create(KEY_READ);
  l:=TStringList.Create;
  try
   reg.RootKey:=HKEY_LOCAL_MACHINE;
   if reg.OpenKeyReadOnly('\HARDWARE\DEVICEMAP\SERIALCOMM') then
    begin
     reg.GetValueNames(l);
     for j:=0 to l.Count-1 do
      begin
       p:=TMySerialPort.Create;
       p.fDev:=ExtractFileName(l[j]);
       p.fName:=reg.ReadString(l[j]);
       fList.Add(p);
      end;
    end;
  finally
   reg.CloseKey;
   reg.Free;
   l.Free;
  end;
  Sort;
  BuildModemList;
end;
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: работа с ComboBox

Сообщение modbus » 19.07.2012 08:25:53

Работает... только под х64 некоторые порты выводит просто как COM, без номера.
modbus
незнакомец
 
Сообщения: 8
Зарегистрирован: 27.06.2012 16:58:10

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 233

Рейтинг@Mail.ru