Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

Позиционирование на контрол.   Найти похожие ветки 

 
NiGGa ©   (2006-09-01 17:01) [0]

Доброго времени суток.

Пишем клиента к БД. Нужно решать сдежующую задачу: пользователь заполняет некий дилог(точнеее диалог с некоторым количеством поддиалогов), по окончанию редактирования(т.е. когда пользователь жмет кнопку "Принять" ил "Сохранить"), с сервера зовется процедура, которой передаются значения заполненных пользователем полей диалога. Следственно серверная процедурка может ругнуться(механизм этого ругательства еще не определ, т.к. по суи зависит от задачи в целом) к примеру что поле не заполнено, или заполнено неправильно. В таком случае диалог не закрывается, пользователю показывается соответствующее сообщение, и курсор перемещается на контрол, который соответствует ошибочному полю.

Собственно хотелось услышать фозможные механизмы реализации такого случая, т.е. что должна вернуть серверная процедура, и каким образом по этому ответу вычислить нужный контрол и дать ему фокус.

В данный момент, такой механизм у нас есть, т.е. он был еще до меня, но там серверная процедура в прямую возвращала имя контрола, потом FindComponent и SetFocus. Но механизм не устраивает, хотя бы потому, что серверная процедура не должна иметь даже малейшего представления об названиях контролов клиента, я так считаю.


 
novill ©   (2006-09-01 17:08) [1]

продецедура возвращает код ошибки, клиент его анализирует.

Вариантов реализации дуром. ) Хоть через case, хоть через раздачу имен контролам в соответствии с именами полей :)


 
StriderMan ©   (2006-09-01 17:22) [2]


> NiGGa ©   (01.09.06 17:01)

а в таблице поля наверное соответствуют контролам на форме?
и названия наверное похожие.

тогда мне кажется существующий механизм вполне нормальный.


 
Ketmar ©   (2006-09-01 17:41) [3]

через ORB.
нет, лучше выкладывать на какой-от сайт, а потом с него качать.
нет, ещё лучше использовать ICMP-пакеты.
у меня ещё много идей. надо?


 
Sam Stone ©   (2006-09-01 19:12) [4]

Возвращать номер "кривого" параметра.
А вообще, на мой взгляд, лучше всякие проверки на невведеное значение или введеное коряво реализовать прямо на форме и не давать нажать кнопку "ОК", пока что-то не так.


 
NiGGa ©   (2006-09-03 13:46) [5]

2 Ketmar
Что есть ORB?
Бредовые идеи оставте при себе, или выскажете здесь, когда ветку в "потрепатся" перенесут.

2 Sam Stone
У нас этика такая, что основной функционал лежит на Оракле, на клиента только отображение информации, и дергание процедур, ничего более.

2 novill
Оно то так хорошо, но автоматизации в таком решении почти нет, буквально в лоб, к тому же с маштабируемостью такого решения плохо.


 
NiGGa ©   (2006-09-03 13:48) [6]

2 StriderMan
По моему описанию ожет он и кажется нормальным, но я видел реализацию, более ужасных вещей я сам не писал даже когда программировал еще на Васике в школе.


 
Ketmar ©   (2006-09-03 13:59) [7]

> [5] NiGGa ©   (03.09.06 13:46)
ваши бредовые советы можете оставить там же. а я овечаю на вопрос. как задан -- такой и ответ. а что есть ORB -- гугль расскажет.


 
Юрий Зотов ©   (2006-09-03 18:57) [8]

> NiGGa ©   (01.09.06 17:01)

Если процедура вернет ИМЯ_ТАБЛИЦЫ.ИМЯ_ПОЛЯ, то вычислить связанный с эти полем контрол тоже несложно. Зато достигается основная (насколько я понял) задача - разделение слоя данных и слоя отображения.


 
NiGGa ©   (2006-09-05 14:39) [9]

[8]
Есть такой вариант. Но с ним тоже есть ряд трудностей, к примеру полей с таким ориджином может быть несколько.


 
Ega23 ©   (2006-09-05 14:48) [10]

Вообще-то проверки нехило делать ПЕРЕД регистрацией.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.044 c
2-1157121160
Beginer2
2006-09-01 18:32
2006.09.24
Представить байт в двоичном виде


15-1157204680
PSPF2003
2006-09-02 17:44
2006.09.24
Монитор


6-1146868280
KASioZ
2006-05-06 02:31
2006.09.24
Состояние сокета winsock


1-1155456219
Onliner_1
2006-08-13 12:03
2006.09.24
Работа с системными часами в D7


15-1157131916
Dbn
2006-09-01 21:31
2006.09.24
Проблема с компом, точнее с подключеним в интернет.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский