Альтернатива KeyValue

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

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

Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Альтернатива KeyValue

Сообщение Pavidlo »

Может кто-нибудь знает, есть ли в Lazarus Альтернатива св-ву KeyValue
Gust
новенький
Сообщения: 14
Зарегистрирован: 04.03.2011 10:45:24

Сообщение Gust »

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

Сообщение VirtUX »

Альтернативу ищем в каком классе?
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

Альтернатива DBLookupComboBox1.keyValue
Аватара пользователя
leo_bsv
постоялец
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола
Контактная информация:

Сообщение leo_bsv »

... а чем собственно KeyValue плох?
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

да в том то и дело, что он не работает) При компиляции ругается именно на него. Вот мне и интересно есть ли какая альтернатива
Аватара пользователя
leo_bsv
постоялец
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола
Контактная информация:

Сообщение leo_bsv »

... у него тип variant, для использования нужно привести к нужному типу.
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

В смысле вот так чтоли?

Код: Выделить всё

VarToStr(DBLookupComboBox1.KeyValue);
Аватара пользователя
leo_bsv
постоялец
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола
Контактная информация:

Сообщение leo_bsv »

можно явно... например

Код: Выделить всё

String(DBLookupComboBox1.KeyValue)

а если знаешь из какого типа то можно и так:

Код: Выделить всё

IntToStr(DBLookupComboBox1.KeyValue)
DateToStr(DBLookupComboBox1.KeyValue)
...ToStr(DBLookupComboBox1.KeyValue)
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

Как ни крути, а ошибка все таже unit7.pas(60,30) Error: identifier idents no member "keyvalue"
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Приведите кусок кода, на который указывает ошибка.
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

Код: Выделить всё

Form1.SQLUser.SQL.Add('select * from user where id_user ='+VarToStr(Form1.DBLookupComboBox1.KeyValue)+';');     
Gust
новенький
Сообщения: 14
Зарегистрирован: 04.03.2011 10:45:24

Сообщение Gust »

А модуль DbCtrls смотрели? У меня такого свойства там нету... Компилер, вроде, говорит о том же.
Что-то типа DBLookupComboBox1.DataSource.DataSet.FieldByName(DBLookupComboBox1.KeyField).AsString; не подойдет?
Аватара пользователя
leo_bsv
постоялец
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола
Контактная информация:

Сообщение leo_bsv »

вот мой запрос из проги которую сейчас пишу, всё работает...

Код: Выделить всё

  s:='insert into orders values('+
     NumberE.Text+', null,'+
     String(ClientLCB.KeyValue)+',null,'+
     //IntToStr(SalesOutletLCB.KeyValue)+','+
     ClientNumberE.Text+','+
     DatePerfDE.Text+','+
     DateShipDE.Text+','+
     IntToStr(StatusCB.ItemIndex)+','+
     PackDataToQuery+
     PriceBar.Panels[1].Text+','+
     PriceBar.Panels[2].Text+');';


Добавлено спустя 4 минуты 48 секунд:
вот объявление класса из юнита dbctrls.pp 28579 2010-12-01 10:15:05Z

Код: Выделить всё

  { TDBLookupComboBox }

  TDBLookupComboBox = class(TCustomDBComboBox)
  private
 ...
  protected
...
  public
...
    property KeyValue: variant read GetKeyValue write SetKeyValue;   
...
Pavidlo
новенький
Сообщения: 41
Зарегистрирован: 16.02.2011 15:04:49

Сообщение Pavidlo »

Ну объявить то это свойство, я объявил. Оно появилось, но ошибка осталось. Видимо как-то не все прописал.. Можно поподробнее посмотреть ваш код объявления класса. Может там процедуры какие еще написать надо
Ответить