![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBComboBox? [D7, dBase, FoxPro]
ГАГН © (2004-03-11 08:59:00)В DBComboBox есть такое свойство как Items. У меня в него добавлено несколько итемов. А как сделать автоматическое добавление нового итема.
Т. е., запускаю программу, пишу новое значение и это значение, конечно если оно новое, добавляется в свойство Items.
Пожалуйста помогите!
Fuelfire (2004-03-11 13:07:00) [1]> ГАГН
> значения которые были введены стираются
Для чего ты используешь DBComboBox?
Значения нужно заносить в определенное поле определенной таблицы, а потом при загрузке приложения считывать данные в DBComboBox.. Если же нужно показывать в выпадающем списке значение поля конкретной записи - используй DBLookupComboBox.. И тогда ничего не сотрётся :-)
DenK_vrtz (2004-03-11 12:55:00) [2]>ГАГН (11.03.04 12:50) [14]
>Как можно их сохранить?
куда-нить записать
ГАГН (2004-03-11 12:50:00) [3]Все получилось, но при выходе из программы, а потом при повторном ее запуске значения которые были введены стираются.
Как можно их сохранить?
Fuelfire (2004-03-11 11:20:00) [4]> Vlad ©
Да, бесспорно этот вариант решения лучше..
Не проснулся еще, когда постил :-))
Vlad (2004-03-11 10:46:00) [5]
> Fuelfire (11.03.04 10:34) [11]
Думаю так все таки проще будет :-)
if DbComboBox.Items.IndexOf(...)>-1 then
ShowMessage('Такое значение уже есть!')
else
DbComboBox.Items.Add(...)
P.S. в [9] я ошибся, не IndexOfName, а IndexOf, конечно
Fuelfire (2004-03-11 10:34:00) [6]Если я правильно понял вопрос - попробуй вот так:
procedure TForm1.Button1Click(Sender: TObject);
var i,fl: integer;
begin
for i:=0 to (DbComboBox.Items.Count-1) do begin
if (AnsiUpperCase(DbComboBox.Items[i]) = AnsiUpperCase([Поле, куда вводишь значение].Text))= True then
begin
fl:=1;
Break;
end;
end;
if fl<>1 then DbComboBox.Items.Add([Поле, куда вводишь значение].Text)
else
ShowMessage('Такое значение уже есть!') ;
end;
Только код не проверял.. Строки, конечно, можно и по другому сравнивать...
Соловьев (2004-03-11 10:23:00) [7]надо юзать MRUList - там это уже реализовано
Vlad (2004-03-11 10:22:00) [8]IndexOfName(строка)
SAMOVAR (2004-03-11 10:17:00) [9]А как сделать проверку на то, что новая это запись или старая?
ЫЗШКШЕ (2004-03-11 09:39:00) [10]Ентер
ГАГН (2004-03-11 09:34:00) [11]А что такое key=#13?
Лысый (2004-03-11 09:24:00) [12]Должно, попробуй.
ГАГН (2004-03-11 09:18:00) [13]Лысый, а если тоже самое сделать для onChange, то это получится?
ГАГН (2004-03-11 09:16:00) [14]И в том и другом! Не понимаю я этот компонент!
Наталия (2004-03-11 09:06:00) [15]А в чём проблема? В проверке существующего значения или в добавлении?
Лысый (2004-03-11 09:05:00) [16]Сделай обработчик DBComboBox KeyPress или KeyDown и
загони в него
if key=#13 then
DBComboBox.Items.Add(DBComboBox.Text);
После набора значения по нажатию Enter будет добавляться
твое значение.