Вход на сайт
Infragistics PropertyBrowser control
04.05.06 14:58
Последний раз изменено 05.05.06 13:07 (игoрь)
привет
кто то работал с компонентом Infragistics PropertyBrowser control ?
я использую здесь List-Objekt .
va.vt = VT_I2;
va.iVal=1;
List.Append("Test", va);
как я могу потом получить string "Test" назад
работаю visual Studio C++ 6
кто то работал с компонентом Infragistics PropertyBrowser control ?
я использую здесь List-Objekt .
va.vt = VT_I2;
va.iVal=1;
List.Append("Test", va);
как я могу потом получить string "Test" назад
работаю visual Studio C++ 6
стойте там и слушайте сюда, именно отсюда будет проистекать
NEW 05.05.06 09:59
Не знаю как в MFC, но в .NET тебе *дают* заготовки для часто встречающихся задач. Тебе остается собрать нужные заготовки, связать между собой и настроить.
С каждым новым выпуском .NET этих заготовок все больше и больше.
Но ключевое слово во всем этом *настроить* :-)
Конечно, что-то надо дописывать самому. На кой хрен ты тогда нужен? 8-)) Тогда б посадили вместо тебя школьника, который умеет мышкой перетягивать елементы из тулбар в формы ;-)) В .NET 2.0 уже есть такие приколы, как написание Data-Driven Web Applications без единой строчки кода (написанного тобой). Но это только для простеньких задач катит.
Если речь идет о controls, то есть книги по этой теме: как самому расширять/писать controls.
С каждым новым выпуском .NET этих заготовок все больше и больше.
Но ключевое слово во всем этом *настроить* :-)
Конечно, что-то надо дописывать самому. На кой хрен ты тогда нужен? 8-)) Тогда б посадили вместо тебя школьника, который умеет мышкой перетягивать елементы из тулбар в формы ;-)) В .NET 2.0 уже есть такие приколы, как написание Data-Driven Web Applications без единой строчки кода (написанного тобой). Но это только для простеньких задач катит.
Если речь идет о controls, то есть книги по этой теме: как самому расширять/писать controls.
With a gun barrel between your teeth,
you only speak in vowels.
you only speak in vowels.
NEW 05.05.06 12:49
в ответ Tomasson 05.05.06 11:57
Ok.
Берем <asp:TextBox>присваиваем значение свойству Text. Результат - текст отображается на экране. Вид отображения управляются другими свойствами.
Теперь берем <asp:ChechBox> и так же присваиваем значение свойству Text. Что имеем? Почему? Мне, как программисту, без разницы, как именно будет отображен присвоенный текст - текстом или в виде чекбокса - эти детали могут/должны управляться другими свойствами чекбокса, но присвоенное значение, как и в <asp:Text>, должно управлять именно отображаемым значением. Нету. И так - почти во всем. Доработать либу, особенно при выпуске _нового_ продукта, было совсем не сложно, но мелкософт есть мелкософт...
Берем <asp:TextBox>присваиваем значение свойству Text. Результат - текст отображается на экране. Вид отображения управляются другими свойствами.
Теперь берем <asp:ChechBox> и так же присваиваем значение свойству Text. Что имеем? Почему? Мне, как программисту, без разницы, как именно будет отображен присвоенный текст - текстом или в виде чекбокса - эти детали могут/должны управляться другими свойствами чекбокса, но присвоенное значение, как и в <asp:Text>, должно управлять именно отображаемым значением. Нету. И так - почти во всем. Доработать либу, особенно при выпуске _нового_ продукта, было совсем не сложно, но мелкософт есть мелкософт...
NEW 05.05.06 13:41
в ответ Murr 05.05.06 12:49
я что-то не могу понять, что тебя не устраивает.
Если ты присваиваешь какое-то значение для myTextBox.Text и для myCheckBox.Text, то оба отображаются на екране. В первом случае внутри TextBox, во втором - рядом с CheckBox. Что еще должно произойти?:-)
Если ты присваиваешь какое-то значение для myTextBox.Text и для myCheckBox.Text, то оба отображаются на екране. В первом случае внутри TextBox, во втором - рядом с CheckBox. Что еще должно произойти?:-)
NEW 05.05.06 14:39
в ответ Tomasson 05.05.06 13:41
Вооюще-то, при выполнении кода
myChechBox.Text = bool.False.ToString();
я бы ожидал перехода в состояние uncheched...
Ну а лэйблочка с боку всегда делалась через Caption, если он имплементировался...
А как можно ожидать чего-то другого? Разумеется, при нормальных либах...
myChechBox.Text = bool.False.ToString();
я бы ожидал перехода в состояние uncheched...
Ну а лэйблочка с боку всегда делалась через Caption, если он имплементировался...
А как можно ожидать чего-то другого? Разумеется, при нормальных либах...

NEW 05.05.06 15:10
в ответ Murr 05.05.06 14:39
Вооюще-то, при выполнении кода
myChechBox.Text = bool.False.ToString();
я бы ожидал перехода в состояние uncheched...
а я б не ожидал:-). По идее, в любом контроле свойство Text - это то, что выводится на екран.
Не знаю, почему ты вдруг решил, что свойство Text должно заменять свойство Checked :-(
А свойство Caption вообще в .NET редко используется. В основном в System.Data для отображения заголовков столбцов и т.д.
myChechBox.Text = bool.False.ToString();
я бы ожидал перехода в состояние uncheched...
а я б не ожидал:-). По идее, в любом контроле свойство Text - это то, что выводится на екран.
Не знаю, почему ты вдруг решил, что свойство Text должно заменять свойство Checked :-(
А свойство Caption вообще в .NET редко используется. В основном в System.Data для отображения заголовков столбцов и т.д.
NEW 05.05.06 15:31
По идее, в любом контроле свойство Text - это то, что выводится на екран.
-------
Именно. Только вот у Чекбокса это не то, что выводится на экран, а лэйбл, выводящийся рядом...
Не знаю, почему ты вдруг решил, что свойство Text должно заменять свойство Checked
-------
для Чекбокса есть пара свойств, определяющих что именно отображается. И для меня совершенно непонятно, почему в одном контроле для отображения информационной части должно использоваться то, что в другом используется для отображения лэйбла....
Попробуй ответить на простые вопросы по ситуации - на отображаемой форме есть несколько разнотипных контролов, обрабатывающий код выполняет модификацию информации:
1. что ты должен знать об контролах, чтобы правильно их использовать?
2. в скольких местах нужно поменять код, чтобы сохранить работоспособность формы при замене контрола?
3. сколько времени будет потрачено на модификацию кода, если будет измен тип не контрола, а соответствующего поля в базе?
Мои ответы:
1. имя используемой переменой
2. вообще ничего
3. заменить в строке определения тип переменной для контрола и тоже для инфы в ресурсном файле - 3 минуты.
-------
Именно. Только вот у Чекбокса это не то, что выводится на экран, а лэйбл, выводящийся рядом...

Не знаю, почему ты вдруг решил, что свойство Text должно заменять свойство Checked
-------
для Чекбокса есть пара свойств, определяющих что именно отображается. И для меня совершенно непонятно, почему в одном контроле для отображения информационной части должно использоваться то, что в другом используется для отображения лэйбла....

Попробуй ответить на простые вопросы по ситуации - на отображаемой форме есть несколько разнотипных контролов, обрабатывающий код выполняет модификацию информации:
1. что ты должен знать об контролах, чтобы правильно их использовать?
2. в скольких местах нужно поменять код, чтобы сохранить работоспособность формы при замене контрола?
3. сколько времени будет потрачено на модификацию кода, если будет измен тип не контрола, а соответствующего поля в базе?
Мои ответы:
1. имя используемой переменой
2. вообще ничего
3. заменить в строке определения тип переменной для контрола и тоже для инфы в ресурсном файле - 3 минуты.

NEW 05.05.06 15:42
в ответ Simple 05.05.06 15:36
Мог бы - это та самая либа, которую я использую в своем проекте.
Код заполнения формы-редактора строки выглядит так:
Только не спрашивай какой из контролов какого типа...

Код заполнения формы-редактора строки выглядит так:
В ответ на:
private void BindForm(string KeyValue)
{
try
{
// load up the specified row
using(TDb8 db = new TDb8())
{
TPrimaryKey key = new TPrimaryKey( new TFieldName("IDs") );
key.Value = KeyValue;
row = db.Contact_co.GetByPrimaryKey( key );
this.IDs.Text = row.IDs.Value;
this.CompanyID.Text = row.CompanyID.Value;
this.LocationID.Text = row.LocationID.Value;
this.UserID.Text = row.UserID.Value;
this.SalutationID.Text = row.SalutationID.Value;
this.FirstName.Text = row.FirstName.Value;
this.MiddleName.Text = row.MiddleName.Value;
this.Surname.Text = row.Surname.Value;
this.JobTitle.Text = row.JobTitle.Value;
this.ContactTypeID1.Text = row.ContactTypeID1.Value;
this.ContactDetail1.Text = row.ContactDetail1.Value;
this.ContactTypeID2.Text = row.ContactTypeID2.Value;
this.ContactDetail2.Text = row.ContactDetail2.Value;
this.ContactTypeID3.Text = row.ContactTypeID3.Value;
this.ContactDetail3.Text = row.ContactDetail3.Value;
this.ContactTypeID4.Text = row.ContactTypeID4.Value;
this.ContactDetail4.Text = row.ContactDetail4.Value;
this.Comment.Text = row.Comment.Value;
this.PPS.Text = row.PPS.Value;
this.DOB.Text = row.DOB.Value;
this.Nationality.Text = row.Nationality.Value;
this.ManualChange.Text = row.ManualChange.Value;
this.CreatedBy.Text = row.CreatedBy.Value;
this.CreatedOn.Text = row.CreatedOn.Value;
this.ModifiedBy.Text = row.ModifiedBy.Value;
this.ModifiedOn.Text = row.ModifiedOn.Value;
} // using
} // try
catch (Exception ex)
{
SetErrorMessage(ex.Message);
} // try/catch
} // BindForm
private void BindForm(string KeyValue)
{
try
{
// load up the specified row
using(TDb8 db = new TDb8())
{
TPrimaryKey key = new TPrimaryKey( new TFieldName("IDs") );
key.Value = KeyValue;
row = db.Contact_co.GetByPrimaryKey( key );
this.IDs.Text = row.IDs.Value;
this.CompanyID.Text = row.CompanyID.Value;
this.LocationID.Text = row.LocationID.Value;
this.UserID.Text = row.UserID.Value;
this.SalutationID.Text = row.SalutationID.Value;
this.FirstName.Text = row.FirstName.Value;
this.MiddleName.Text = row.MiddleName.Value;
this.Surname.Text = row.Surname.Value;
this.JobTitle.Text = row.JobTitle.Value;
this.ContactTypeID1.Text = row.ContactTypeID1.Value;
this.ContactDetail1.Text = row.ContactDetail1.Value;
this.ContactTypeID2.Text = row.ContactTypeID2.Value;
this.ContactDetail2.Text = row.ContactDetail2.Value;
this.ContactTypeID3.Text = row.ContactTypeID3.Value;
this.ContactDetail3.Text = row.ContactDetail3.Value;
this.ContactTypeID4.Text = row.ContactTypeID4.Value;
this.ContactDetail4.Text = row.ContactDetail4.Value;
this.Comment.Text = row.Comment.Value;
this.PPS.Text = row.PPS.Value;
this.DOB.Text = row.DOB.Value;
this.Nationality.Text = row.Nationality.Value;
this.ManualChange.Text = row.ManualChange.Value;
this.CreatedBy.Text = row.CreatedBy.Value;
this.CreatedOn.Text = row.CreatedOn.Value;
this.ModifiedBy.Text = row.ModifiedBy.Value;
this.ModifiedOn.Text = row.ModifiedOn.Value;
} // using
} // try
catch (Exception ex)
{
SetErrorMessage(ex.Message);
} // try/catch
} // BindForm
Только не спрашивай какой из контролов какого типа...

NEW 05.05.06 15:49
в ответ Murr 05.05.06 15:31
Только вот у Чекбокса это не то, что выводится на экран, а лэйбл, выводящийся рядом...
не гони:-). Почему тогда в TextBox ты используешь свойство Text по-человечески, а в CheckBox нет?:-)
Ведь в TextBox отображается и сам контрол, и текст внутри него. Где разница с CheckBox, в котором также отображется контрол и текст?
для Чекбокса есть пара свойств, определяющих что именно отображается.
какие из них?
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWebUIWebControlsCh...
По поводу вопросов:
используй MSDN Library. Хотя бы в самый первый раз, когда ты сталкиваешься с определенным контролом. Там все достаточно логично.
не гони:-). Почему тогда в TextBox ты используешь свойство Text по-человечески, а в CheckBox нет?:-)
Ведь в TextBox отображается и сам контрол, и текст внутри него. Где разница с CheckBox, в котором также отображется контрол и текст?
для Чекбокса есть пара свойств, определяющих что именно отображается.
какие из них?
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWebUIWebControlsCh...
По поводу вопросов:
используй MSDN Library. Хотя бы в самый первый раз, когда ты сталкиваешься с определенным контролом. Там все достаточно логично.
NEW 05.05.06 16:24
в ответ Murr 05.05.06 16:00
я еще ни в одном языке не встречал такой логики :-))
В тех языках, с которыми мне приходилось иметь дело, состояние Checkbox не переключается свойством Text или подобным.
В Java это void setState(boolean state)
В C# это CheckBox.Checked
В PHP (PEAR) это checkbox::setChecked (bool $checked)
В HTML это checked
В JavaScript это checked
В ABAP это HTMLB:checkbox->checked
В тех языках, с которыми мне приходилось иметь дело, состояние Checkbox не переключается свойством Text или подобным.
В Java это void setState(boolean state)
В C# это CheckBox.Checked
В PHP (PEAR) это checkbox::setChecked (bool $checked)
В HTML это checked
В JavaScript это checked
В ABAP это HTMLB:checkbox->checked
NEW 05.05.06 16:47
в ответ Tomasson 05.05.06 16:24
В тех языках, с которыми мне приходилось иметь дело, состояние Checkbox не переключается свойством Text или подобным.
-------
Поставь себе задачу следующего плана - привнести в имеющиеся контролы некоторую унификацию - разрешить изменять и получать _значение_ котрола через свойство Value... Дополнительно, учитывая принцип ООП, обеспечить тоже самое, для контролов, имеющих множественные значения.
(Я использовал не Value, а Text исходя из объема врапига и того, что по HTTP на клиента и обратно передается именно _текст_)
Другая задачка - перечислить и минимизировать количество видимых элементов на форме. Поименована должна быть каждая значимая часть, в том числе и композитных контролов.
P.S. ты не ответил на поставленные воросы. понимаю так - дать однозначный количественно-качественный ответ не удается. это как раз то, об чем я говорю, говоря, что либы .Net - недоработаны...
Собственно, весьма показателен пример Java, разрабатывавшийся САНом - там уделили некоторое внимание этому моменту, хотя и не до конца.
-------
Поставь себе задачу следующего плана - привнести в имеющиеся контролы некоторую унификацию - разрешить изменять и получать _значение_ котрола через свойство Value... Дополнительно, учитывая принцип ООП, обеспечить тоже самое, для контролов, имеющих множественные значения.

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

P.S. ты не ответил на поставленные воросы. понимаю так - дать однозначный количественно-качественный ответ не удается. это как раз то, об чем я говорю, говоря, что либы .Net - недоработаны...

NEW 05.05.06 17:01
в ответ Murr 05.05.06 16:47
на вопросы я не ответил, т.к. беседа растянется еще часа на 2 :-)
1. твой ответ + знание controls' members :-)
2. если в клиенте, то согласен.
3. это к шаманам.
об чем я говорю, говоря, что либы .Net - недоработаны...
а есть хоть одна *доработанная*? 8-)
всегда найдется кто-то, кому чего-то не хватает.
Может в .NET 2.1 или 3.0 тебя осчастливят :-Р
P.S. в общем, твоего возмущения .NET'ом я так и не догнал. Скорее даже, оправдано ли такое возмущение?:-)
1. твой ответ + знание controls' members :-)
2. если в клиенте, то согласен.
3. это к шаманам.
об чем я говорю, говоря, что либы .Net - недоработаны...
а есть хоть одна *доработанная*? 8-)
всегда найдется кто-то, кому чего-то не хватает.
Может в .NET 2.1 или 3.0 тебя осчастливят :-Р
P.S. в общем, твоего возмущения .NET'ом я так и не догнал. Скорее даже, оправдано ли такое возмущение?:-)
NEW 05.05.06 17:27
в ответ voxel3d 05.05.06 17:01
По минимуму - хотя бы одно и то же свойство пользовать... ну плюс диагностика назначаемых значений...
Поэтому задачка была проанализирована, оценена (по затратам) и состряпана либа-врапер - назначаем строковое значение свойству Text и ни об чем не думаем - при неправильностях будет эксептион с указанием где и что не так...


NEW 05.05.06 17:35
в ответ Tomasson 05.05.06 17:01
1. Зачем тебе знать тип контрола на форме? По типу - а зачем тебе знать тип поля в SQL?
2. Объясни как будет работать форма при замене стандартного чекдокса на стандартный тексбокс, если не исправлять код?
3. Это не к шаманам - специально же указал где, что и сколько времени занимает... при доработанной либе.
Оправдано. мелкософт перекупил разработчиков у борланда, а борландовский ВЦЛ был продуман гораздо лучше МФЦ. Просто поленились подогнать либы...
Последующие - меня не осчастливят - тем дальше, тем меньше вероятности замены либ... надо было делать изначально, с новым продуктом... Так что мне светит доработка моей либы под изменения в версиях... буде таковые случаться...
2. Объясни как будет работать форма при замене стандартного чекдокса на стандартный тексбокс, если не исправлять код?
3. Это не к шаманам - специально же указал где, что и сколько времени занимает... при доработанной либе.
Оправдано. мелкософт перекупил разработчиков у борланда, а борландовский ВЦЛ был продуман гораздо лучше МФЦ. Просто поленились подогнать либы...
Последующие - меня не осчастливят - тем дальше, тем меньше вероятности замены либ... надо было делать изначально, с новым продуктом... Так что мне светит доработка моей либы под изменения в версиях... буде таковые случаться...
NEW 05.05.06 17:52
в ответ Murr 05.05.06 17:27
> По минимуму - хотя бы одно и то же свойство пользовать... ну плюс диагностика назначаемых значений... Поэтому задачка была проанализирована, оценена (по затратам) и состряпана либа-врапер - назначаем строковое значение свойству Text и ни об чем не думаем - при неправильностях будет эксептион с указанием где и что не так...
По-хорошему, и унификацию и валидацию значений делает код сгенер╦нный ORM тулзой. Которая и генерит врапперы необходимые и вс╦ остальное для связи с БД. Мы сейчас используем http://www.llblgen.com/defaultgeneric.aspx, вполне устраивает.
По-хорошему, и унификацию и валидацию значений делает код сгенер╦нный ORM тулзой. Которая и генерит врапперы необходимые и вс╦ остальное для связи с БД. Мы сейчас используем http://www.llblgen.com/defaultgeneric.aspx, вполне устраивает.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 05.05.06 18:35
в ответ Tomasson 05.05.06 17:55
Да ну? Я вот что-то сииильно сомневаюсь. Мало того, сильно сомневаюсь, что работа по замене отдельного контрола будет по силам спецу с квалификацией... несколько ниже средней... мягко говоря - кодеру, слышавшему, что существуют программисты...
Мне сейчас без разницы как создавать/заменять контролы - была бы ссылочная переменная, а назначать можно что угодно....
Но создание/замена в динамике - зло, проистекающее из недопонимания постановщиком задачи и подлежащее искоренению...
Мне сейчас без разницы как создавать/заменять контролы - была бы ссылочная переменная, а назначать можно что угодно....


NEW 05.05.06 18:47
в ответ voxel3d 05.05.06 17:52
Погляжу на досуге.
Сегодня - уработался в умат - но сделал обработку связки многие-к-многим (в виде таблица<-МАП->таблица) и представление оной в форме для выбора связанных элементов... Осталось шаблоны поправить...
Вот недельки через три начнется кошмар - будем пересматривать архитетуру системы...
Может тогда пригодится твой линк...
Сегодня - уработался в умат - но сделал обработку связки многие-к-многим (в виде таблица<-МАП->таблица) и представление оной в форме для выбора связанных элементов... Осталось шаблоны поправить...

Вот недельки через три начнется кошмар - будем пересматривать архитетуру системы...




NEW 05.05.06 19:51
ты знаешь, иногда складывается такое впечатление, что ты используешь русский язык не по назначению 8-)
Ибо тебя невозможно понять...все время крутится мысль *Что ж ему в конце концов надо?* :-Р
Отрывистые фразы...и что хочешь, то и додумывай ;-)
я потому и на вопросы не хотел отвечать. Диалог в который раз заходит в тупик, при етом все вокруг да около...
в ответ Murr 05.05.06 18:35
ты знаешь, иногда складывается такое впечатление, что ты используешь русский язык не по назначению 8-)
Ибо тебя невозможно понять...все время крутится мысль *Что ж ему в конце концов надо?* :-Р
Отрывистые фразы...и что хочешь, то и додумывай ;-)
я потому и на вопросы не хотел отвечать. Диалог в который раз заходит в тупик, при етом все вокруг да около...
NEW 05.05.06 19:53
в ответ Murr 05.05.06 18:35
Да ну? Я вот что-то сииильно сомневаюсь. Мало того, сильно сомневаюсь, что работа по замене отдельного контрола будет по силам спецу с квалификацией... несколько ниже средней... мягко говоря - кодеру, слышавшему, что существуют программисты...
ну, это надо садить рядом конкретных *кодеров*/*программеров*/*прочих* и смотреть на результат. А так, это все бла-бла-бла.
ну, это надо садить рядом конкретных *кодеров*/*программеров*/*прочих* и смотреть на результат. А так, это все бла-бла-бла.
NEW 05.05.06 21:50
в ответ Tomasson 05.05.06 19:51
иногда складывается такое впечатление, что ты используешь русский язык не по назначению
------
Сказываются 16-ть лет запрета на использование русского языка... Плюс, проживание в среде, где по-русски не говорят вообще, плюс , специфика работы - декларативных определений и текста на английском я все же пишу больше, чем посчу мессаг на форуме.
Но не стесняйся - объясни что было непонятно (я все же пишу на своем "уровне", предполагая, что оппонет "подкован") изложено - возможно напишу по-другому. Основное что пытаюсь донести - не все так хорошо в .Net'е...
P.S. Ну а максимум возможных неприятностей - обзову Тормозом... но не со зла и надо постараться, чтобы это услышать...
------
Сказываются 16-ть лет запрета на использование русского языка... Плюс, проживание в среде, где по-русски не говорят вообще, плюс , специфика работы - декларативных определений и текста на английском я все же пишу больше, чем посчу мессаг на форуме.

Но не стесняйся - объясни что было непонятно (я все же пишу на своем "уровне", предполагая, что оппонет "подкован") изложено - возможно напишу по-другому. Основное что пытаюсь донести - не все так хорошо в .Net'е...
P.S. Ну а максимум возможных неприятностей - обзову Тормозом... но не со зла и надо постараться, чтобы это услышать...

NEW 05.05.06 21:56
в ответ Tomasson 05.05.06 19:53
Конкретных - как раз не надо, расчет идет на среднестатистического кодера, без знаний об конкретных особенностях задачи. Если ты не можешь сказать, где и что именно надо менять в коде при замене компонента - минимум полдня уйдет на прохождение кода средней по размерам формы. Реально - день и более, в зависимости от сложности кода. А, при использовании стандартных компонент, сказать что именно надо менять - невозможно. И это не зависит от того как написан код.

NEW 05.05.06 22:41
в ответ Tomasson 05.05.06 19:53
>> Да ну? Я вот что-то сииильно сомневаюсь. Мало того, сильно сомневаюсь, что работа по замене отдельного контрола будет по силам спецу с квалификацией... несколько ниже средней... мягко говоря - кодеру, слышавшему, что существуют программисты...
> ну, это надо садить рядом конкретных *кодеров*/*программеров*/*прочих* и смотреть на результат. А так, это все бла-бла-бла.
Перевожу с Муровского на доступный. В данном случае Мурр подменил понятия и обозвал программистом (в широком смысле этого слова, т.е. человека имеющего фундаметальные знания в соответствующих разделах математики в первую очередь) продвинутого опытного кодера (по его же классификации, эт ничего, что "кодер-программист" кануло в прошлое и заменилось "программист-архитектор" в грубом приближении). Так вот, он имел в виду, что человек опытный, умеющий переключаться с самого низкого уровня абстракции на более высокие уровни абстракции, чем непосредственно сам алгоритм решения задачи, разработал бы архитектуру позволяющую с минимальными телодвижениями провести требуемую замену. В идеале - поменяв всего одну строку там, где просто указывается тип контрола при инициализации.
"Кодер" же, при необходимости решить подобную задачу, ничем таким не заморачивался бы и тупо поменял бы тип контрола при инициализации, инициализацию контрола, код в обработчиках событий контрола, код в обсервере (если ему кто-нибудь его написал) либо, при неимении последнего, то место где проверяется, былo ли изменено состояние контрола пользователем и "деинициализацию" контрола (в смысле, в нормальных терминах - изменение бизнес-объекта, поле которого отображает контрол).
Посколько, при увеличении объ╦ма и сложности системы, второй подход становится вс╦ более неприемлимым и тупиковым, можно обобщив сказать, что "кодер" не в состоянии решить данную задачу.
Похоже, он про это.
2Мурр: не отмазывайтесь, Прибалтика тут не прич╦м, Вы при том, что понимаете о ч╦м говорите, совсем не умеете выражать свои мысли. Попробуйте почитать что-нибудь. Нетехнического плана. Можно начать с Экзюпери, например.
> ну, это надо садить рядом конкретных *кодеров*/*программеров*/*прочих* и смотреть на результат. А так, это все бла-бла-бла.
Перевожу с Муровского на доступный. В данном случае Мурр подменил понятия и обозвал программистом (в широком смысле этого слова, т.е. человека имеющего фундаметальные знания в соответствующих разделах математики в первую очередь) продвинутого опытного кодера (по его же классификации, эт ничего, что "кодер-программист" кануло в прошлое и заменилось "программист-архитектор" в грубом приближении). Так вот, он имел в виду, что человек опытный, умеющий переключаться с самого низкого уровня абстракции на более высокие уровни абстракции, чем непосредственно сам алгоритм решения задачи, разработал бы архитектуру позволяющую с минимальными телодвижениями провести требуемую замену. В идеале - поменяв всего одну строку там, где просто указывается тип контрола при инициализации.
"Кодер" же, при необходимости решить подобную задачу, ничем таким не заморачивался бы и тупо поменял бы тип контрола при инициализации, инициализацию контрола, код в обработчиках событий контрола, код в обсервере (если ему кто-нибудь его написал) либо, при неимении последнего, то место где проверяется, былo ли изменено состояние контрола пользователем и "деинициализацию" контрола (в смысле, в нормальных терминах - изменение бизнес-объекта, поле которого отображает контрол).
Посколько, при увеличении объ╦ма и сложности системы, второй подход становится вс╦ более неприемлимым и тупиковым, можно обобщив сказать, что "кодер" не в состоянии решить данную задачу.
Похоже, он про это.
2Мурр: не отмазывайтесь, Прибалтика тут не прич╦м, Вы при том, что понимаете о ч╦м говорите, совсем не умеете выражать свои мысли. Попробуйте почитать что-нибудь. Нетехнического плана. Можно начать с Экзюпери, например.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 06.05.06 12:24
в ответ voxel3d 05.05.06 22:41
ну, тогда у Мурра очень плохое мнение о кодерах:-)
сейчас доступно такое кол-во книг, что кодер может семимильными шагами догнать Мурра;-)
Я как-то показывал Мурру список лит-ры по .NET, поетому он может себе представить, какие знания могут быть доступны любому желающему. И *нормальный* кодер бОльшую часть классных книг таки читает.
Мое непонимание Мурра заключается в том, что при любой беседе о .NET идет перескакивание на какие-то отрывки заданий, которые известны только Мурру:-). Нюнсы всплывают уже по ходу, опять же по желанию Мурра. Так нельзя прийти к какому-нибудь консенсусу 8-))
Но я и не исключаю того, что я настолько тупой, что понять Мурра не могу в принципе :-) Такое тоже бывает.
код в обсервере (если ему кто-нибудь его написал)
та прям таки:-). Ето почти что в любой книжке найти можно.
сейчас доступно такое кол-во книг, что кодер может семимильными шагами догнать Мурра;-)
Я как-то показывал Мурру список лит-ры по .NET, поетому он может себе представить, какие знания могут быть доступны любому желающему. И *нормальный* кодер бОльшую часть классных книг таки читает.
Мое непонимание Мурра заключается в том, что при любой беседе о .NET идет перескакивание на какие-то отрывки заданий, которые известны только Мурру:-). Нюнсы всплывают уже по ходу, опять же по желанию Мурра. Так нельзя прийти к какому-нибудь консенсусу 8-))
Но я и не исключаю того, что я настолько тупой, что понять Мурра не могу в принципе :-) Такое тоже бывает.
код в обсервере (если ему кто-нибудь его написал)
та прям таки:-). Ето почти что в любой книжке найти можно.
NEW 06.05.06 12:34
в ответ voxel3d 05.05.06 22:41
код в обработчиках событий контрола, код в обсервере (если ему кто-нибудь его написал) либо, при неимении последнего, то место где проверяется, былo ли изменено состояние контрола пользователем и "деинициализацию" контрола (в смысле, в нормальных терминах - изменение бизнес-объекта, поле которого отображает контрол).
------
Эта часть подразумевается выпадающей из работы, если все спроектировано корректно.
Вы при том, что понимаете о чём говорите, совсем не умеете выражать свои мысли.
------
Если бы это было правдой, я был бы не в состоянии делать код.
Прпоблема несколько в другом...
Попробуйте почитать что-нибудь. Нетехнического плана. Можно начать с Экзюпери, например.
------
Я попробовал пописать. Именно нетехнического плана. Кто читал - говорят - неплохо. Правда пишу только адресные (т.е. по поводу) вещи и только тогда, когда есть настрой на написание.
------
Эта часть подразумевается выпадающей из работы, если все спроектировано корректно.
Вы при том, что понимаете о чём говорите, совсем не умеете выражать свои мысли.
------
Если бы это было правдой, я был бы не в состоянии делать код.

Попробуйте почитать что-нибудь. Нетехнического плана. Можно начать с Экзюпери, например.
------
Я попробовал пописать. Именно нетехнического плана. Кто читал - говорят - неплохо. Правда пишу только адресные (т.е. по поводу) вещи и только тогда, когда есть настрой на написание.
<---
nobody harmed in this action -->
NEW 06.05.06 13:10
в ответ Tomasson 06.05.06 12:24
ну, тогда у Мурра очень плохое мнение о кодерах:-)
------
Эээ...
Кодеры, по Мурру, это люди которые делают работу по изменению кода продукта на основании полученного ТЗ (уровнь 5(4?)).
Как показывает опыт Мурра, при наличии "компьютерной граматности" в объеме обычной средней школы, достаточно примерно 2-3-х дней объяснения что и как надо делать, чтобы получить кодера.
доступно такое кол-во книг, что кодер может семимильными шагами догнать Мурра;-)
------
Мурр не против. Правда в твоем списке отсутствует некоторое количество книг, которые Мурр в свое время изучал - все же два уни - что придется попотеть, чтобы догнать...
на какие-то отрывки заданий, которые известны только Мурру:-).
------
С таким я что-то не согласен.
По крайней мере формулируя (суб)задачу стараюсь сделать ее выделенной, независимой от других частей. Если не затруднит
- укажи, плс, где именно был _отрывок_ задачи и что всплыло по ходу.
Такое тоже бывает.
------
Редко, на моей памяти - всего три случая. Обычно удается "вправить мозги" и после этого отпадают почти все проблемы в коммуникации и работе(!), причем в работе не только с Мурр'ом.
------
Эээ...
Кодеры, по Мурру, это люди которые делают работу по изменению кода продукта на основании полученного ТЗ (уровнь 5(4?)).
Как показывает опыт Мурра, при наличии "компьютерной граматности" в объеме обычной средней школы, достаточно примерно 2-3-х дней объяснения что и как надо делать, чтобы получить кодера.
доступно такое кол-во книг, что кодер может семимильными шагами догнать Мурра;-)
------
Мурр не против. Правда в твоем списке отсутствует некоторое количество книг, которые Мурр в свое время изучал - все же два уни - что придется попотеть, чтобы догнать...
на какие-то отрывки заданий, которые известны только Мурру:-).
------
С таким я что-то не согласен.


Такое тоже бывает.
------
Редко, на моей памяти - всего три случая. Обычно удается "вправить мозги" и после этого отпадают почти все проблемы в коммуникации и работе(!), причем в работе не только с Мурр'ом.

NEW 07.05.06 01:02
Эт точно. Сразу приходит на ум следующая статейка (раздел "Learn how to write before graduating"): http://www.joelonsoftware.com/articles/CollegeAdvice.html
в ответ voxel3d 05.05.06 22:41
В ответ на:
2Мурр: не отмазывайтесь, Прибалтика тут не причём, Вы при том, что понимаете о чём говорите, совсем не умеете выражать свои мысли. Попробуйте почитать что-нибудь. Нетехнического плана. Можно начать с Экзюпери, например.
2Мурр: не отмазывайтесь, Прибалтика тут не причём, Вы при том, что понимаете о чём говорите, совсем не умеете выражать свои мысли. Попробуйте почитать что-нибудь. Нетехнического плана. Можно начать с Экзюпери, например.
Эт точно. Сразу приходит на ум следующая статейка (раздел "Learn how to write before graduating"): http://www.joelonsoftware.com/articles/CollegeAdvice.html
NEW 09.05.06 08:45
в ответ krys 04.05.06 14:58
Просто наследуй от цонтролла и добавляй свои Проперты
[DefaultProperty("Text"), ToolboxData("<{0}:CheckBoxEx runat=\"server\" />")]
public class CheckBoxEx : System.Web.UI.WebControls.CheckBox, IPostBackEventHandler
{
public string CommandArgument
{
get { return this.ViewState["CommandArgument"] as string; }
set { this.ViewState["CommandArgument"] = value; }
}
public string CommandName
{
get { return this.ViewState["CommandName"] as string; }
set { this.ViewState["CommandName"] = value; }
}
}
[DefaultProperty("Text"), ToolboxData("<{0}:CheckBoxEx runat=\"server\" />")]
public class CheckBoxEx : System.Web.UI.WebControls.CheckBox, IPostBackEventHandler
{
public string CommandArgument
{
get { return this.ViewState["CommandArgument"] as string; }
set { this.ViewState["CommandArgument"] = value; }
}
public string CommandName
{
get { return this.ViewState["CommandName"] as string; }
set { this.ViewState["CommandName"] = value; }
}
}