Последняя версия DataExpress 3 beta от 22 мая 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Извлечение подстроки

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
porqes
Интересующийся
Сообщения: 168
Зарегистрирован: Пн сен 26, 2016 9:41 pm

Извлечение подстроки

Сообщение porqes » Сб янв 06, 2018 3:12 pm

Добрый день.
Пытаюсь излечь программно подстроку, содержащую символы после "№".
Выдает впереди полученной подстроки "?"
В чем может быть дело?
Вложения
извлечение подстроки.zip
(49.29 КБ) 8 скачиваний

Аватара пользователя
admin
Разработчик
Сообщения: 3475
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Извлечение подстроки

Сообщение admin » Сб янв 06, 2018 4:49 pm

Потому что текст в кодировке UTF8, символы которого могут быть больше одного байта. Используйте функции UTF8...

Аватара пользователя
porqes
Интересующийся
Сообщения: 168
Зарегистрирован: Пн сен 26, 2016 9:41 pm

Re: Извлечение подстроки

Сообщение porqes » Сб янв 06, 2018 6:02 pm

Спасибо, все понятно. С учетом http://forum.mydataexpress.ru/viewtopic.php?t=1593

Аватара пользователя
porqes
Интересующийся
Сообщения: 168
Зарегистрирован: Пн сен 26, 2016 9:41 pm

Re: Извлечение подстроки

Сообщение porqes » Сб янв 06, 2018 11:39 pm

Далее: Извлекаемая подстрока присваивается значению объекта. Значение-то присваивается, но не "привязывается" к объекту. Как это сделать и вытащить значения других полей данного объекта?
Вложения
извлечение подстроки.zip
(50.11 КБ) 9 скачиваний

jurist23rus
Эксперт
Сообщения: 2147
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: Извлечение подстроки

Сообщение jurist23rus » Вс янв 07, 2018 8:33 am

Поле "Объект" не хранит никаких значений, он хранит идентификатор (ID записи) связанной формы. Вы же пытаетесь объекту "навязать" какое-то значение - он вас не понимает.
porqes писал(а):Как это сделать и вытащить значения других полей данного объекта?

Не понимаю вопроса. Куда вытащить?
Destiny is a very convenient word for those who never take decisions.

Аватара пользователя
porqes
Интересующийся
Сообщения: 168
Зарегистрирован: Пн сен 26, 2016 9:41 pm

Re: Извлечение подстроки

Сообщение porqes » Вс янв 07, 2018 5:11 pm

Не знаю как установить KeyValue.
Пробовал так:

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

dxLookupComboBox1.ItemIndex := dxLookupComboBox1.Items.IndexOf(UTF8Copy(dxEdit1.Text, j, y+1-j))

Не находит...

jurist23rus
Эксперт
Сообщения: 2147
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: Извлечение подстроки

Сообщение jurist23rus » Вс янв 07, 2018 6:58 pm

Что вы мучаетесь!? Создайте форму на которую ссылается Объект и работайте с ней спокойно - там кода на три строки.

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

var
   Fm: TdxForm;
begin
   try
      Fm := TdxForm.Create ('Та самая форма на которую ссылается объект');
      Fm.Open;
      //делайте с данными что хотите
   finally
      Fm.free;
   end;
end;
Destiny is a very convenient word for those who never take decisions.

Аватара пользователя
admin
Разработчик
Сообщения: 3475
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Извлечение подстроки

Сообщение admin » Вс янв 07, 2018 8:03 pm

porqes писал(а):Не знаю как установить KeyValue.
Пробовал так:

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

dxLookupComboBox1.ItemIndex := dxLookupComboBox1.Items.IndexOf(UTF8Copy(dxEdit1.Text, j, y+1-j))

Не находит...

Работайте с полями формы, а не с компонентами. Присвоить ID объекту очень просто: Self['объект'] := ID. ID можно получить, используя TdxSQLQuery или EvalExpr и функции выражений, или взяв ID из другого объекта.

Аватара пользователя
porqes
Интересующийся
Сообщения: 168
Зарегистрирован: Пн сен 26, 2016 9:41 pm

Re: Извлечение подстроки

Сообщение porqes » Вс янв 07, 2018 11:40 pm

Спасибо, через запрос вроде получилось. Но опять же присваивал значение dxLookupComboBox1.keyvalue.
Вложения
извлечение подстроки.zip
(51.23 КБ) 10 скачиваний

Аватара пользователя
admin
Разработчик
Сообщения: 3475
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Извлечение подстроки

Сообщение admin » Пн янв 08, 2018 9:38 am

porqes писал(а):Спасибо, через запрос вроде получилось. Но опять же присваивал значение dxLookupComboBox1.keyvalue.

admin писал(а):Работайте с полями формы, а не с компонентами. Присвоить ID объекту очень просто: Self['объект'] := ID.


Вернуться в «Общие вопросы.»

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

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