Последняя версия DataExpress 3 beta от 7 декабря 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Добавление текста по нажатию кнопки.

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Добавление текста по нажатию кнопки.

Сообщение SirWolf » Чт июн 22, 2017 8:30 am

Screen49.jpg
Screen49.jpg (59.54 КБ) 1745 просмотров

При нажатии кнопки зуба, добавляется текст в поле зуб, по крестику поле очищается.

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

procedure pastezub (Sender: TObject);
  begin
  if sender = zubButton18 then
  dxEdit1.seltext := '18 '
  else if sender = zubButton17 then
  dxEdit1.seltext := '17 '
  else if sender = zubButton16 then
  dxEdit1.seltext := '16 '
  else if sender = zubButton15 then
  dxEdit1.seltext := '15 '
  else if sender = zubButton14 then
  dxEdit1.seltext := '14 '
  else if sender = zubButton13 then
  dxEdit1.seltext := '13 '
  else if sender = zubButton12 then
  dxEdit1.seltext := '12 '
  else if sender = zubButton11 then
  dxEdit1.seltext := '11 '
  else if sender = zubButton28 then
  dxEdit1.seltext := '28 '
  else if sender = zubButton27 then
  dxEdit1.seltext := '27 '
  else if sender = zubButton26 then
  dxEdit1.seltext := '26 '
  else if sender = zubButton25 then
  dxEdit1.seltext := '25 '
  else if sender = zubButton24 then
  dxEdit1.seltext := '24 '
  else if sender = zubButton23 then
  dxEdit1.seltext := '23 '
  else if sender = zubButton22 then
  dxEdit1.seltext := '22 '
  else if sender = zubButton21 then
  dxEdit1.seltext := '21 '
  else if sender = zubButton38 then
  dxEdit1.seltext := '38 '
  else if sender = zubButton37 then
  dxEdit1.seltext := '37 '
  else if sender = zubButton36 then
  dxEdit1.seltext := '36 '
  else if sender = zubButton35 then
  dxEdit1.seltext := '35 '
  else if sender = zubButton34 then
  dxEdit1.seltext := '34 '
  else if sender = zubButton33 then
  dxEdit1.seltext := '33 '
  else if sender = zubButton32 then
  dxEdit1.seltext := '32 '
  else if sender = zubButton31 then
  dxEdit1.seltext := '31 '
  else if sender = zubButton48 then
  dxEdit1.seltext := '48 '
  else if sender = zubButton47 then
  dxEdit1.seltext := '47 '
  else if sender = zubButton46 then
  dxEdit1.seltext := '46 '
  else if sender = zubButton45 then
  dxEdit1.seltext := '45 '
  else if sender = zubButton44 then
  dxEdit1.seltext := '44 '
  else if sender = zubButton43 then
  dxEdit1.seltext := '43 '
  else if sender = zubButton42 then
  dxEdit1.seltext := '42 '
  else if sender = zubButton41 then
  dxEdit1.seltext := '41 '
  else if sender = zubButtonDel then
  dxEdit1.clear;
  self.post;
  self.edit;
  end;               


Вопрос, если мы вводим с клавиатуры в поле зуб, то все работает стабильно - это поле используются в шопинге, если со скрипта то в шопинг передается пустота, пока не добавил self.post; self.edit; в конце скрипта. С сохранением поля все передается нормально. Это так и должно быть? Или мой косяк?

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Добавление текста по нажатию кнопки.

Сообщение YurAnt » Чт июн 22, 2017 8:41 am

Попробуйте ...Self['Зуб']:=...
Непонятно зачем Self.edit.
А вообще вместо кучи if-ов можно было сделать более короткую процедуру. (copy из name или caption sender-a).
Изображение

neitri
Мастер скриптов
Сообщения: 539
Зарегистрирован: Пн фев 13, 2017 5:42 pm

Re: Добавление текста по нажатию кнопки.

Сообщение neitri » Чт июн 22, 2017 8:47 am

По моему неправильно обращаетесь к полям. Есть поле [Зуб], значение поля отображается в dxEdit. Но изменение свойства Text не меняет значение поля.
dxEdit1.seltext := '13 '
поменяйте на
Self['Зуб']:=Self['Зуб']+'13 '
Помогли Тебе. Помоги проекту.
Реквизиты помощи Вы можете найти в окне "О программе"

Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Re: Добавление текста по нажатию кнопки.

Сообщение SirWolf » Чт июн 22, 2017 8:57 am

Хотел сделать что бы копировало из имени кнопки, но знаний не хватает.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Добавление текста по нажатию кнопки.

Сообщение YurAnt » Чт июн 22, 2017 9:07 am

SirWolf писал(а):Хотел сделать что бы копировало из имени кнопки, но знаний не хватает.

Ну, батенька, даже не знаю... Вот:
https://www.google.ru/search?newwindow= ... 60&bih=511
Аналогично ищем copy.
Изображение

Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Re: Добавление текста по нажатию кнопки.

Сообщение SirWolf » Чт июн 22, 2017 2:25 pm

Такс метод Self['Зуб']:=Self['Зуб']+'13 ' работает с костылями, если поле изначально пустое, то нифига не добавляет, допустим по умолчанию можно выставить пробел. Потом при стирании всего содержимого поля посредством кнопки, при нажатии добавления еще раз, вылетает все что было прошлый раз написано.
Буду копать в сторону других методов.

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

Re: Добавление текста по нажатию кнопки.

Сообщение admin » Чт июн 22, 2017 2:32 pm

А если так?

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

Self['Зуб'] := Self.AsS['Зуб'] + '13';

Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Re: Добавление текста по нажатию кнопки.

Сообщение SirWolf » Чт июн 22, 2017 2:36 pm

Так заработало.
Но при выполнении dxEdit1.clear; - все стирает и при попытке повторно нажимать кнопки для ввода возвращает все стертые данные и к ним добавляет.

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

Re: Добавление текста по нажатию кнопки.

Сообщение admin » Чт июн 22, 2017 3:02 pm

Clear - стирает только в компоненте, а в поле остается. Стирайте так: Self['Зуб'] := Null;

Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Re: Добавление текста по нажатию кнопки.

Сообщение SirWolf » Чт июн 22, 2017 3:10 pm

Спасибо.