|
|
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Такая вот задачка была на экзамене: Имеется MultiLineEdit Control (mle_1). Надо сделать так, чтобы слова переходили на следующую строку не в конце mle_1, а в середине. Сделать так, чтобы слово не рубилось, а переходило красиво. Например, имеем текст "Коммунизм победит!" Влазит в строку только "Коммунизм побе". Надо "победит!" перенести на новую строку, как только напишем букву "д" (в слове "победит!"). Теперь, как только в новой строке стерли "дит!" - "побе" должно вернуться обратно в первую строку. Короче сделать так, как работает Word. Как такое нарисовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 11:26 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
mle_1.AutoHScroll=false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 12:07 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Создать mle_2 поверх mle_1 без границ, никто и знать не будет. Само собой редактировать mle_2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 12:07 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
SergeyGorСоздать mle_2 поверх mle_1 без границ, никто и знать не будет. Само собой редактировать mle_2. А если серьезно? Если на то пошло, то можно и работу не искать, тогда никто и спрашивать не будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 13:05 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Dmitry.mle_1.AutoHScroll=false Это вполне серьезно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 15:38 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Dmitry. Dmitry.mle_1.AutoHScroll=false Это вполне серьезно какое отношение это имеет к задаче???? имеется длинный mle. Надо прерывать строку на 1/2 его длины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 17:38 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
А что за экзамен, если не секрет? Я бы посоветовал автору вопроса, тому который экзаменатор, воспользоваться элементом RichTextEdit, а не заниматься х..ёй! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 18:08 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
urvasА что за экзамен, если не секрет? Я бы посоветовал автору вопроса, тому который экзаменатор, воспользоваться элементом RichTextEdit, а не заниматься х..ёй! Абсолютно нормальный вопрос. Это не совсем экзамен. Просто задача при поступлении на работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 20:55 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Судя по тому, что вы об этом спрашиваете на PowerBuilder форуме, вы видимо на PowerBuilderную работу устраиваетесь. Если это так, то вопрос абсолютно НЕнормальный :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 21:08 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Leshka1Абсолютно нормальный вопрос. Это не совсем экзамен. Просто задача при поступлении на работу. Скажем так, на мой взгляд стандартными методами PB это невозможно у mle нет свойства задающего правую границу текста отличную от реальной. А не стандартными ;) 1 Определить количество символов на котором необходимо переносить текст (лимит) после каждого нажатия клавиши: 2.1 Считать текст из mle 2.2 убрать возвраты каретки 2.3 расставить возвраты каретки в места пробелов, исходя из отределенного лимита 2.4 Установить текст в mle Правильно это будет работать на шрифтах типа Courier New. Для использования других шрифтов надо будет воспользоваться API функциями для определения ширины текста написанного определенным шрифтом. Вопрос в догонку, а сколько времени отводится на решение данной задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 10:54 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
EstetsСкажем так, на мой взгляд стандартными методами PB это невозможно у mle нет свойства задающего правую границу текста отличную от реальной. А не стандартными ;) А что будет с курсором при этом? Здесь тогда уж и отрисовывать все самому необходимо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 10:59 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Когда принимают на работу, обычно тестируют не только технические знания, но и способность выходить из тупиковых ситуаций. Это самая обычная задача на смекалку, иначе это просто бред или ошибка в постановке задания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 12:24 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
можно попробовать em_setmargins ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 12:49 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Читаем внимательно конец первого поста - Короче сделать так, как работает Word. Как такое нарисовать? Ответ ТОЛЬКО ОДИН - RichTextEdit control contains a document that it displays as formatted text. Rich text format (RTF) is a standard for specifying formatting instructions and document content in a single ASCII document. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 13:06 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
urvasЧитаем внимательно конец первого поста... Читаем внимательно начало поста "Имеется MultiLineEdit Control...", остальное зависит от времени данного на решение. Заменить на RichTextEdit возможный, но не самый правильный вариант, думаю что в этом случае вопрос звучал бы "Как програмно установить правую границу текста в RichTextEdit равную половине ширины визуального объекта?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 11:31 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Не по существу вопроса, а по сути подхода при приёме на работу. Скорее всего, в силу своего возраста, не побоюсь этого слова - жизненного опыта, а так же массогабаритных показателей, я бы послал в голос данного экзаменатора, лучше бы прилюдно. Потому как задача высосана из пальца и не имеет смысла ни в рамках PowerBuildera, ни, тем более, в реальном приложении. Всё вышесказанное отношу исключительно к себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 12:10 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
urvasНе по существу вопроса, а по сути подхода при приёме на работу. Скорее всего, в силу своего возраста, не побоюсь этого слова - жизненного опыта, а так же массогабаритных показателей, я бы послал в голос данного экзаменатора, лучше бы прилюдно. Потому как задача высосана из пальца и не имеет смысла ни в рамках PowerBuildera, ни, тем более, в реальном приложении. Всё вышесказанное отношу исключительно к себе. А вот не прав ты :) В том то и штука, что такая задачка вполне реальна. Представь: приходишь в уже существующий проект в котором твой предшественник использовал MLE, а сейчас клиенты жалуются что мол неудобно сделан перенос. И шеф тебе дает задание: "Вот есть диалоговое окно, в нем все замечательно, но не работает перенос слов, исправь. Не трогая остального функционала!" И правильных ответов будет действительно два - либо заменять mle на rte, либо извращаться с ручным переносом слов. Дальше уже тебе прийдется разбираться насколько сложно заменить все ссылки с mle_1 на rte_1 или проще будет сделать ручной перенос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 18:28 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
White Owlтебе прийдется разбираться насколько сложно заменить все ссылки с mle_1 на rte_1 или проще будет сделать ручной перенос :) А еще можно сходить передернуть и забить (третий вариант ) А задачка на самом деле идиотская и поэтому лудше всего мой третий вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 19:10 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
решение: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 19:20 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
Dmitry.решение: ... Красивое решение. В рамках поставленной задачи работает, но не как Word, к сожалению :-( Баг проявляется следующим образом - если между словами не поставить пробел, то два слова перенесутся на следующую строку, а после добавления пробела остаются на второй строке PB 7.0.3.10213, Win2K Prof Eng PS:Вообще-то, присоединяюсь к мнению urvas и Филипп - это вопрос не для собеседования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 20:08 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
PL99 PS:Вообще-то, присоединяюсь к мнению urvas и Филипп - это вопрос не для собеседования. Тут на соседнем форуме вспоминали пруды Джоэла Сполски (http://russian.joelonsoftware.com/index.html) как вариант один из вопросов на собеседовании может быть нерешаемым. Ведь от программиста (хорошего) не требуется знание констант EM_SETMARGINS наизусть, от него требуется быстро найти возможные подходы к решению проблемы. И оценить какой из путей приведет к решению задачи с наименьшими затратами. В этом случае на собеседовании ответ "невозможно" это самый "неправильный" ответ из всех возможных. Так что это как раз правильный вопрос для собеседования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 12:41 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
По большому счёту, специалист по РВ не должен знать даже о существовании константы EM_SETMARGINS, поскольку РВ - это 4GL. Что специалист по РВ должен знать точно, это что РВ не есть инструмент общего программирования и НЕ должен использоваться для создания wordprocessorных утилит, о чем и следует заявить в ответ на АБСОЛЮТНО ненормальный вопрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 18:01 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
ФилиппЧто специалист по РВ должен знать точно, это что РВ не есть инструмент общего программирования и ... С одной стороны может и нет, а с другой стороны при создании любого ПО на PB чуть сложнее "Склада для малых предприятий", возникает масса проблем требующих решения в рамках "общего программирования". Это интеграция с сторонним ПО, АБС-ами, почтовыми и отчетными системами, SWIFT-ом и пр. Так и интеграция со всевозможным железом кассовыми и фискальными аппаратами, сканнерами и прочим оборудованием. И кому нужен программист которому ставят задачу "Нужно считать данные из офисной АТС, сохранить в базе, выдать отчет, перевести его в tiff и отправить на факс-сервер" ответит что "РВ - это 4GL" и к работе с COM портами не предназначен, tiff не поддерживает, стандартных средст для работы с Факс-Сервером не имеет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2006, 11:42 |
|
||
|
задачка на экзамене
|
|||
|---|---|---|---|
|
#18+
ФилиппЧто специалист по РВ должен знать точно, это что РВ не есть инструмент общего программирования и НЕ должен использоваться для создания wordprocessorных утилит, о чем и следует заявить в ответ на АБСОЛЮТНО ненормальный вопрос... А скажи пожалуйста, PB это инструмент для чего? Вот я всегда считал что PB это инструмент для рисования GUI к базе данных. Я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2006, 20:45 |
|
||
|
|

start [/forum/topic.php?fid=15&fpage=75&tid=1337923]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 365ms |

| 0 / 0 |
