детский вопрос (6.3 ABC)
Модератор: Дед Пахом
					Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
	При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
детский вопрос (6.3 ABC)
сто лет не писал ничего с интерфейсом, в общем, как сделать, что б в форме, если она вызывается для добавления записи, курсор стоял в определенном поле.
			
			
									
						- Admin
 - Администратор
 - Сообщения: 4022
 - Зарегистрирован: 05 Июль 2005, 15:59
 - Откуда: Хабаровск
 - Благодарил (а): 59 раз
 - Поблагодарили: 42 раза
 - Контактная информация:
 
Re: детский вопрос (6.3 ABC)
На открытие окна
			
			
									
						Код: Выделить всё
IF ThisWindow.Request = InsertRecord
  SELECT(?YouFieldName)
END
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
			
						- 
				lsgsoftware
 - Ветеран
 - Сообщения: 311
 - Зарегистрирован: 08 Июль 2005, 22:04
 
Re: детский вопрос (6.3 ABC)
Ну,вопрос не совсем уж и детский,если при заполнении формы вы хотите задать нужный
вам обход полей.В свое время на форуме этот вопрос вызвал бурную дискуссию,предлагалось черте что.А я знал ответ и ответил.Повторяю ответ:
-раскройте форму
-далее edit -> property editor
вы увидите все контролы формы и по умолчанию они будут обходиться сверху-вниз.
стрелочками "вверх-вниз" переместите поля в соответствии с нужным для вас порядком
обхода.Это бывает актуальным при добавлении новых полей и при рассогласовании
порядка обхода,который по умолчанию соответствует описанию полей в словаре.
В досе я это делал ручками,что очень напрягало,а в винде такой подарок.Успехов!
			
			
									
						вам обход полей.В свое время на форуме этот вопрос вызвал бурную дискуссию,предлагалось черте что.А я знал ответ и ответил.Повторяю ответ:
-раскройте форму
-далее edit -> property editor
вы увидите все контролы формы и по умолчанию они будут обходиться сверху-вниз.
стрелочками "вверх-вниз" переместите поля в соответствии с нужным для вас порядком
обхода.Это бывает актуальным при добавлении новых полей и при рассогласовании
порядка обхода,который по умолчанию соответствует описанию полей в словаре.
В досе я это делал ручками,что очень напрягало,а в винде такой подарок.Успехов!
- StillZero
 - Ветеран
 - Сообщения: 460
 - Зарегистрирован: 06 Июль 2005, 2:17
 - Откуда: Хабаровск
 - Благодарил (а): 1 раз
 - Поблагодарили: 1 раз
 - Контактная информация:
 
Re: детский вопрос (6.3 ABC)
Допустим, есть 5 этри полей один за одним. Удаляем в динаме 3-ий энтри контрол. На его место добавляем в динаме другой энтри контрол. При проходе через все энтри, тот который добавляли будет выбираться последним, а не 3-им. И по F12 нельзя указать порядок в таком случаезадать нужный вам обход полей
по аэродрому...
			
						- 
				vd-vuf
 - Бывалый
 - Сообщения: 61
 - Зарегистрирован: 12 Декабрь 2008, 12:09
 - Откуда: Верхний Уфалей
 - Контактная информация:
 
Re: детский вопрос (6.3 ABC)
если использовать CREATE (0, ...) то клаша создает новое поле с номером больше чем последнее поле.
а вы не пробовали сначала запомнить номер удаляемого поля, а новое создать с таким же номером?
к примеру:
savfield = ?myFiled
DESTROY(?myFiled)
CREATE (savfield, ...)
хотя канечно, в таком случае возможно проще юзать PROP:Use а не создавать новое поле.
			
			
									
						а вы не пробовали сначала запомнить номер удаляемого поля, а новое создать с таким же номером?
к примеру:
savfield = ?myFiled
DESTROY(?myFiled)
CREATE (savfield, ...)
хотя канечно, в таком случае возможно проще юзать PROP:Use а не создавать новое поле.
Re: детский вопрос (6.3 ABC)
Гм...а если через класс?
В INIT'e пишем следующее
if SELf.OriginalRequest=InsertRecord
SELF.FirstField=?MyLabel
.
И все вроде бы...
6.3 ABC
			
			
									
						В INIT'e пишем следующее
if SELf.OriginalRequest=InsertRecord
SELF.FirstField=?MyLabel
.
И все вроде бы...
6.3 ABC
Re: детский вопрос (6.3 ABC)
сорри, тема та же))
Простой browse-form. Как сделать, чтоб после удачного добавления записи вызывалась процедура(например, печати этой записи).
			
			
									
						Простой browse-form. Как сделать, чтоб после удачного добавления записи вызывалась процедура(например, печати этой записи).
- Admin
 - Администратор
 - Сообщения: 4022
 - Зарегистрирован: 05 Июль 2005, 15:59
 - Откуда: Хабаровск
 - Благодарил (а): 59 раз
 - Поблагодарили: 42 раза
 - Контактная информация:
 
Re: детский вопрос (6.3 ABC)
В Browse переключаемся в редактор Sourcealeksey писал(а):сорри, тема та же))
Простой browse-form. Как сделать, чтоб после удачного добавления записи вызывалась процедура(например, печати этой записи).
ищем процедуру которая вызывается
ищем следом за ней точку вставки
и пишем туда
Код: Выделить всё
IF GlobalResponse = RequestCompleted
  ! your code
END                                 
Код: Выделить всё
SR# = SELF.Request
...
тут идет вызов апдейт процедуры
...
IF GlobalResponse = RequestCompleted AND SR# = InsertRecord
  ! your code
END                                 
Код: Выделить всё
IF GlobalResponse = RequestCompleted AND SELF.Request = InsertRecord
  ! your code
END                                 
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
			
						