детский вопрос (6.3 ABC)

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
aleksey
Новичок
Сообщения: 8
Зарегистрирован: 09 Ноябрь 2005, 15:36

детский вопрос (6.3 ABC)

Сообщение aleksey »

сто лет не писал ничего с интерфейсом, в общем, как сделать, что б в форме, если она вызывается для добавления записи, курсор стоял в определенном поле.
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: детский вопрос (6.3 ABC)

Сообщение Admin »

На открытие окна

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

IF ThisWindow.Request = InsertRecord
  SELECT(?YouFieldName)
END
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Re: детский вопрос (6.3 ABC)

Сообщение lsgsoftware »

Ну,вопрос не совсем уж и детский,если при заполнении формы вы хотите задать нужный
вам обход полей.В свое время на форуме этот вопрос вызвал бурную дискуссию,предлагалось черте что.А я знал ответ и ответил.Повторяю ответ:
-раскройте форму
-далее edit -> property editor
вы увидите все контролы формы и по умолчанию они будут обходиться сверху-вниз.
стрелочками "вверх-вниз" переместите поля в соответствии с нужным для вас порядком
обхода.Это бывает актуальным при добавлении новых полей и при рассогласовании
порядка обхода,который по умолчанию соответствует описанию полей в словаре.
В досе я это делал ручками,что очень напрягало,а в винде такой подарок.Успехов!
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Re: детский вопрос (6.3 ABC)

Сообщение StillZero »

задать нужный вам обход полей
Допустим, есть 5 этри полей один за одним. Удаляем в динаме 3-ий энтри контрол. На его место добавляем в динаме другой энтри контрол. При проходе через все энтри, тот который добавляли будет выбираться последним, а не 3-им. И по F12 нельзя указать порядок в таком случае :)
по аэродрому...
vd-vuf
Бывалый
Сообщения: 61
Зарегистрирован: 12 Декабрь 2008, 12:09
Откуда: Верхний Уфалей
Контактная информация:

Re: детский вопрос (6.3 ABC)

Сообщение vd-vuf »

если использовать CREATE (0, ...) то клаша создает новое поле с номером больше чем последнее поле.
а вы не пробовали сначала запомнить номер удаляемого поля, а новое создать с таким же номером?
к примеру:
savfield = ?myFiled
DESTROY(?myFiled)
CREATE (savfield, ...)
хотя канечно, в таком случае возможно проще юзать PROP:Use а не создавать новое поле.
Apron63
Новичок
Сообщения: 14
Зарегистрирован: 21 Октябрь 2007, 16:42
Откуда: Самара

Re: детский вопрос (6.3 ABC)

Сообщение Apron63 »

Гм...а если через класс?
В INIT'e пишем следующее
if SELf.OriginalRequest=InsertRecord
SELF.FirstField=?MyLabel
.
И все вроде бы...
6.3 ABC
aleksey
Новичок
Сообщения: 8
Зарегистрирован: 09 Ноябрь 2005, 15:36

Re: детский вопрос (6.3 ABC)

Сообщение aleksey »

сорри, тема та же))
Простой browse-form. Как сделать, чтоб после удачного добавления записи вызывалась процедура(например, печати этой записи).
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: детский вопрос (6.3 ABC)

Сообщение Admin »

aleksey писал(а):сорри, тема та же))
Простой browse-form. Как сделать, чтоб после удачного добавления записи вызывалась процедура(например, печати этой записи).
В Browse переключаемся в редактор Source
ищем процедуру которая вызывается
ищем следом за ней точку вставки
и пишем туда

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

IF GlobalResponse = RequestCompleted
  ! your code
END                                 
Если нужно только при добавлении, то выше нужно сохранить SELF.Request и потом анализировать по типу

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

SR# = SELF.Request
...
тут идет вызов апдейт процедуры
...
IF GlobalResponse = RequestCompleted AND SR# = InsertRecord
  ! your code
END                                 
хотя не помню... может быть SELF.Request не очищается пойдет просто вариант

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

IF GlobalResponse = RequestCompleted AND SELF.Request = InsertRecord
  ! your code
END                                 
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ответить