работа с ComboBox
Модератор: Модераторы
работа с ComboBox
как решить следующую задачу:
в БД таблица отделы с полями
id -номер
name - наименование
1. есть форма сотрудники в которой выпадающий список ComboBox
должен заполниться наименованиями отделов
2. по нажатии на кнопку сохранить
в БД в таблицу сотрудники значение id отдела должно записаться в поле sotr_otdel
как это реализовать?
в БД таблица отделы с полями
id -номер
name - наименование
1. есть форма сотрудники в которой выпадающий список ComboBox
должен заполниться наименованиями отделов
2. по нажатии на кнопку сохранить
в БД в таблицу сотрудники значение id отдела должно записаться в поле sotr_otdel
как это реализовать?
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
Купи книжку по Dephi, прочти и подобные вопросы возникать не будут
или посмотри тут:
http://www.programmersclub.ru/book
http://www.programmersclub.ru/help
С данным вопросом можно попробовать начать с этого http://www.programmersclub.ru/bookdb
или посмотри тут:
http://www.programmersclub.ru/book
http://www.programmersclub.ru/help
С данным вопросом можно попробовать начать с этого http://www.programmersclub.ru/bookdb
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
Как отключить автоматическое добавление в список по нажатию Enter?
SVN: 23755
SVN: 23755
В последних ревизиях 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
- Откуда: Тољя††и
- Контактная информация:
VirtUX писал(а):В последних ревизиях Lazarus уже отключено автоматическое добавление по моей просьбе.
Автоматическое добавлениеКод: Выделить всё
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then ComboBox1.Items.Append(ComboBox1.Text);
end;
Ну йомайо... так-то и дурак добавит. Думал какой-то специальный флаг есть...
Спасибо.
Вот именно, что флага не было, а автодобавление, по умолчанию, работало. Короче баг был, который уже поправили.
Подскажите, как сделать так, чтобы при нажатии на комбобокс в выпадающем меню был список доступных(существующих) в системе последовательных портов?
Чтением ветки реестра HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM.
А вообще вы темой случаем не ошиблись?
А вообще вы темой случаем не ошиблись?
Подскажите правильную тему
Потому что как прочитать реестр, отсортировать полученный список и засунуть в комбобокс я тоже не знаю. Изучал когда-то Паскаль еще под досом, ковыряюсь вот.
кусок кода
Код: Выделить всё
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;Работает... только под х64 некоторые порты выводит просто как COM, без номера.
