Текущий архив: 2009.09.27;
Скачать: CL | DM;
Вниз
«Интерфейс пользователя» → TEdit вместо TLabel Найти похожие ветки
← →
Kolan © (2009-07-25 18:47) [0]Не так давно я предлагал создать конференцию «Интерфейс пользователя», в которой можно было бы обсудить вопросы создания замечательных интерфейсов в Делфи. Так вот, я всё еще хочу.
Попадали ли вы в ситуацию, когда вам нужно отправить, скажем, по почте
текст стандартного сообщения об ошибки (эксепшена)? Иногда это бывает нужно.
Что при этом происходило? — Лично я в подобной ситуации с матом (обязательно)
открывал блокнот, размещал его на мониторе так, чтобы он не закрывал
окно с сообщением об ошибке, набирал её текст в блокноте, а потом
вставлял его в письмо. А все потому, что его нельзя было выделить
мышкой и скопировать.
Если задуматься — проблема гораздо глубже. В действительности,
большая часть текстовой информации в стандартных виндоус-приложениях
недоступна для копирования.
Возьмем, к примеру, форму с данными о должнике из программы «Менеджер кредитов»
— http://www.ksoftware.ru/wiki/_media/images/kcreditsmanager/newdebtor.png
Эту форму можно назвать весьма стандартной, обычной. Небольшая подсказка
вверху, несколько полей с подписями, поясняющими их значение, кнопка,
вот собственно и все.
За много лет все настолько привыкли к тому, что текст в обычном виндоус-приложении
нельзя скопировать, что это кажется нормальным. Что же тут нормального?
— Абсолютно ничего — это идиотизм. Если я вдруг захочу заметить автору
Менеджера кредитов, что у него в предложении «Поля отмеченые звёздочкой (*)
обязательны к заполнению.» не хватает запятой и буквы «н», мне придется
набрать её вручную — это не может не раздражать.
Напрашивается вопрос: почему нельзя сделать так, чтобы текст можно было копировать,
в вебе же это возможно? — Я и сам не знаю. Положительно, я не вижу ни
одной веской причины, которая бы помешала сделать любой интерфейсный
текст выделяемым и копируемым. Возможно раньше, очень-очень-очень давно
это позволяло сэкономить некоторое количество ресурсов; сейчас эта экономия смешна.
Вывод: везде, где это уместно, следует делать интерфейсную текстовую информацию
доступной для выделения и копирования.
Как достичь этого в Делфи? — Очень просто — не используйте компонент TLabel.
Вместо него лучше взять TEdit или TMemo (если строк несколько) и настроить его следующим образом:Color: clBtnFace
BorderStyle: bsNone
ReadOnly: True
У вас получится элемент, который для пользователя будет выглядеть как обычный
TLabel, но текст можно будет выделить и скопировать.
P. S.
#@!, ну почему в инспекторе объектов Делфи нельзя скопировать название
свойства, пришлось набрать Color, BorderStyle и ReadOnly руками.
← →
Юрий Зотов © (2009-07-25 18:51) [1]> Вместо него лучше взять TEdit или TMemo
А еще лучше - TStaticText.
← →
Sergey Masloff (2009-07-25 19:12) [2]Kolan © (25.07.09 18:47)
>Попадали ли вы в ситуацию, когда вам нужно отправить, скажем, по почте
>текст стандартного сообщения об ошибки (эксепшена)? Иногда это бывает >нужно.
>Что при этом происходило? — Лично я в подобной ситуации с матом
А лично я без мата беру и копирую средствами ОС.
Ctrl+Shift+C или Ctrl+C + правая кнопка мышки на диалоговом окне
Дальше извини не читал - лень...
← →
Sergey Masloff (2009-07-25 19:13) [3]Допустим набрать в Notepad текст и попытаться закрыть. Появится стандартный диалог. Делаем что я сказал и получаем
---------------------------
Notepad
---------------------------
The text in the Untitled file has changed.
Do you want to save the changes?
---------------------------
Yes No Cancel
---------------------------
← →
turbouser © (2009-07-25 19:19) [4]
> Sergey Masloff (25.07.09 19:13) [3]
ОГО!!
Такая полезная фишка! Почему я раньше не знал...
Спасибо!
← →
vrem (2009-07-25 19:48) [5]Sergey Masloff
надо же) а откуда это выяснилось?
← →
Inovet © (2009-07-25 20:03) [6]> [5] vrem (25.07.09 19:48)
> Sergey Masloff
> надо же) а откуда это выяснилось?
Да где-то в хелпе было. То что в MessageBox копируется так. Вот автор хочет всю информацию снять из диалога, ну тут уже Alt+PrnScrn есть и с картинками будет.
← →
topS (2009-07-25 20:04) [7]
> Не так давно я предлагал создать конференцию «Интерфейс
> пользователя», в которой можно было бы обсудить вопросы
> создания замечательных интерфейсов в Делфи. Так вот, я всё
> еще хочу.
хоти
а мы здесь с какого боку?
← →
Kolan © (2009-07-25 22:26) [8]Sergey Masloff, круто, я тоже не знал про то, что стандартный диалог можно скопировать, однако если бы вы прочли дальше, то поняли бы, что ваше средство не универсально, так как не работает в не стандартных диалогах.
← →
DVM © (2009-07-25 22:33) [9]
> о поняли бы, что ваше средство не универсально, так как
> не работает в не стандартных диалогах.
Кто мешает в нестандртном (читай своем) диалоге добавить свою такую же функцию.
← →
Kolan © (2009-07-25 23:22) [10]DVM, есть как минимум две веские причины не делать такую функцию копирования в буфер.
1. Такая функция будет невидимой. Последствие этого просты и видны прямо в этой ветки. Двое из восьми комментаторов не знали оCtrl+Shift+C
в стандартных диалогах, причем и я и turbouser, судя по возрасту, работали со всеми популярными версиями Виндоус. Более 15 лет эта функция была мне неизвестна.
2. Реализовать такую функцию для любой формы будет не так-то просто. В случае диалога решения кажется тривиальным, а что делать со сложными формами. Как, например, будет выглядеть скопированная в буфер информация для главной формы Менеджера кредитов (http://www.ksoftware.ru/wiki/_media/images/kcreditsmanager/mainform.png)? Да и писать такую функцию для каждой формы — весьма нудное дело.
← →
DVM © (2009-07-25 23:28) [11]
> Kolan ©
> 1. Такая функция будет невидимой.
Можно сделать видимой в виде кнопки, правда это черезчур и некрасиво.
Описать в справке, причем описать хорошо и сделать в справке отдельный раздел Тех поддержка или что-то в этом духе.
> Более 15 лет эта функция была мне неизвестна.
Мне тоже она стала известна может год назад. Когда узнал очень удивился.
> 2. Реализовать такую функцию для любой формы будет не так-
> то просто. В случае диалога решения кажется тривиальным,
> а что делать со сложными формами.
А ты думаешь юзер будет кропотливо копировать содержимое каждого лабеля руками?
← →
Игорь Шевченко © (2009-07-25 23:38) [12]Kolan © (25.07.09 23:22) [10]
Кругозор расширять - оно вообще рулез
← →
turbouser © (2009-07-25 23:49) [13]
> Kolan © (25.07.09 23:22) [10]
> 1. Такая функция будет невидимой
Без проблем можно сделать "видимой".
1) Добавить в sysmenu
2) Добавить маааленькую кнопку на сам диалог
3)...
← →
turbouser © (2009-07-25 23:51) [14]
> Kolan © (25.07.09 23:22) [10]
> 2. Реализовать такую функцию для любой формы будет не так-
> то просто.
Можно сделать свою форму с каким-то базовым функционалом и остальные в проекте наследовать от нее..
← →
turbouser © (2009-07-25 23:54) [15]И все-таки > создать конференцию «Интерфейс пользователя»
было бы весьма не дурственно
← →
Kolan © (2009-07-25 23:57) [16]DVM, если функция описана только в справке — верный признак того, что она невидима :) А вот предложение с кнопкой не так уж плохо, но как быть с пунктом 2? Еще недостаток кнопки в том, что её придется везде вставлять вручную.
← →
Kolan © (2009-07-25 23:59) [17]turbouser, а что за базовый функционал будет в этой форме?
← →
DVM © (2009-07-26 00:00) [18]
> Еще недостаток кнопки в том, что её придется везде вставлять
> вручную.
Если наследоваться от базовой формы. то не придется.
← →
turbouser © (2009-07-26 00:00) [19]
> Kolan © (25.07.09 23:59) [17]
Любой :) Та же кнопка..
← →
Kolan © (2009-07-26 00:04) [20]turbouser, я имел в виду что будет «в кнопке» и как она будет называться, кстати?
← →
DVM © (2009-07-26 00:05) [21]На мой взгляд, присутствие "левой кнопки" в окне некрасиво. Очень сложно будет сделать надпись на ней или пиктограмму с объяснением того, что она делает.
← →
DVM © (2009-07-26 00:05) [22]
> и как она будет называться, кстати?
SOS
← →
turbouser © (2009-07-26 00:06) [23]
> Kolan © (26.07.09 00:04) [20]
> turbouser, я имел в виду что будет «в кнопке» и как она
> будет называться, кстати?
Ну как что.. Что угодно.. Например копирование текста со всех всех лейблов и
едитов... Называться? Без разницы :)
← →
turbouser © (2009-07-26 00:08) [24]
> DVM © (26.07.09 00:05) [21]
Можно сделать кнопку невидимой и отображать при наведении мышки в правый верхний угол, например. Да много чего можно придумать...
← →
turbouser © (2009-07-26 00:10) [25]Да и кнопка не обязана бросаться в глаза.. вполне достаточно будет сделать маааленькую красную кнопочку. Или сделать маленькую треугольную а-ля RSS
← →
DVM © (2009-07-26 00:10) [26]
> turbouser ©
> и отображать при наведении мышки в правый верхний угол,
> например
Пасхальное яйцо какое то получится :)
← →
turbouser © (2009-07-26 00:12) [27]
> DVM © (26.07.09 00:10) [26]
Да как угодно можно сделать :) Если в справке к софту указать, что "если сделать так и так - то будет от так" - нет проблем..
← →
Kolan © (2009-07-26 00:14) [28]Тому кто будет реализовывать разница есть. «Скопировать текст со всех всех лейблов и едитов» — длинновато, да и не понятно почему в копию должны попадать эдиты, и наоборот, почему не должны.
← →
DVM © (2009-07-26 00:17) [29]
> Kolan ©
Чем дальше. тем я все меньше понимаю зачем это надо и причем тут навороченные окна с таблицами и т.д. Вы такими окнами с гридами эксепшены отображаете? MessageBox оно отолично копируется, а большего для вывода ошиьки и не надо. Ну или сделать одно единственное свое окно для вывода сообщений об ошибках и там сделать кнопку большую красную отправить текст сообщения в буфер обмена.
← →
Kolan © (2009-07-26 00:17) [30]«Если в справке к софту указать, что "если сделать так и так - то будет от так" - нет проблем..», — странно что вы про
Ctrl+Shift+C
в справке же написано, или (вспомнился советский мультик про полцарства: «или не веришь?») вы справку не читали?
← →
Inovet © (2009-07-26 00:18) [31]> [22] DVM © (26.07.09 00:05)
>
> > и как она будет называться, кстати?
>
> SOS
Жопа, пиктограмма такая. Если серьёзно, то, глядя на других уважаемых производителей софта, её не надо делать.
← →
Kolan © (2009-07-26 00:19) [32]Я, DVM, пытаюсь подвести вас к мысли что кнопка — плохое решение и текст должен выделяться любой без всяких ухищрений, к тому же в вебе к этому все давно привыкли и диссонанса не возникнет.
← →
turbouser © (2009-07-26 00:21) [33]
> Kolan © (26.07.09 00:14) [28]
> Тому кто будет реализовывать разница есть.
Мда...
Как сделать - так и будет...
При чем тут
> «Скопировать текст со всех всех лейблов и едитов» — длинновато
?
Я ведь для примера привел "функциональность"
← →
DVM © (2009-07-26 00:24) [34]
> и текст должен выделяться любой без всяких ухищрений
Ну так никто ж не против. Более того так многие и делают. Я например. Или вон MS во многих ее окнах, например "свойства системы - имя компьютера" текст копируется. Не абсолютно любой, а тот который вероятно иногда нужно копировать.
← →
turbouser © (2009-07-26 00:24) [35]
> Kolan © (26.07.09 00:17) [30]
В справке... Не надо сравнивать справку с сотнями топиков и справку с дай бог десятком топиков...
← →
turbouser © (2009-07-26 00:26) [36]
> Kolan © (26.07.09 00:19) [32]
>
> Я, DVM, пытаюсь подвести вас к мысли что кнопка — плохое
> решение и текст должен выделяться любой без всяких ухищрений
Никто не мешает сделать так..Делайте.. Однако пострадает внешний вид.
← →
DVM © (2009-07-26 00:28) [37]
> Однако пострадает внешний вид.
О чего он пострадает то?
← →
turbouser © (2009-07-26 00:31) [38]
> DVM © (26.07.09 00:28) [37]
Курсор будет принимать другой вид при наведении... выделение текста в там, где юзер не привык...
← →
turbouser © (2009-07-26 00:32) [39]Мелочи, конечно... но...
← →
Германн © (2009-07-26 00:41) [40]
>
> У вас получится элемент, который для пользователя будет
> выглядеть как обычный
> TLabel, но текст можно будет выделить и скопировать.
>
Но весьма непривычный для пользователя.
> Попадали ли вы в ситуацию, когда вам нужно отправить, скажем,
> по почте
> текст стандартного сообщения об ошибки (эксепшена)?
Попадал. Именно поэтому убедил директора купить EurekaLog для наших программистов.
> Кругозор расширять - оно вообще рулез
+1 (и +1 в периоде)
А сколько в IDE Delphi есть "горячих сочетаний клавиш", которые ты знаешь? А уж сколько таких сочетаний не знаю я, так это просто огромное количество.
← →
Anatoly Podgoretsky © (2009-07-26 10:37) [41]> Германн (26.07.2009 00:41:40) [40]
Да ни надо ничего мудрить, Микрософт давно сделал у себя возможность копирования окна с экцепшеном стандартным способом, а другие окна копировать не надо. И если кому то нужна аналогичная функциональность, то не составит труда ее воспроизвести.
ЗЫ: не всегда копируется все, а копируется только важная информация.
Стандартная комбинация - Ctrl+C
Если такой возможности не предоставляется, то всегда можно восспользоваться Alt+PrintScreen
← →
Дмитрий Белькевич (2009-07-26 13:30) [42]Мда... О Ctrl-C только узнал, хотя винду юзаю с 3.1 :) Думаю, что, как минимум, 95% юзеров не подозревают о такой фиче.
У себя сделал нестандартные окна сообщений, с выделением, среди прочего.
Нужно Ctrl-C добавить, кстати :)
← →
Kolan © (2009-07-26 13:53) [43]Анатолий, докажите, что другие окна кроме эксепшена копировать не нужно. Мне, например, для этого поста понадобилось скопировать названия свойств.
Странно что вы считаете, что пользователю будет непривычно увидеть курсор выделения на лэйбле. Я вот сейчас пишу это сообщение, а рядом с полем ввода в котором написано «Kolan» есть надпись «Ваше имя (регистрация)», которую можно выделить и скопировать, и никаких странных чувств это у меня не вызывает.
PrintScreen, я думаю, совершенно не верно сравнивать с копированием текста, она неуклюжа, её труднее вставить в письмо, тикет, аську и пр.
← →
clickmaker © (2009-07-26 14:07) [44]> Мда... О Ctrl-C только узнал, хотя винду юзаю с 3.1 :) Думаю,
> что, как минимум, 95% юзеров не подозревают о такой фиче
многие люди не любознательны.
но в 3.1 и даже вроде в 9х еще такой фичи не было.
я о ней узнал опытным путем, "дай-ка щелкну ctrl+c - что будет?" -)
← →
Inovet © (2009-07-26 14:37) [45]> [44] clickmaker © (26.07.09 14:07)
> многие люди не любознательны.
> но в 3.1 и даже вроде в 9х еще такой фичи не было.
> я о ней узнал опытным путем, "дай-ка щелкну ctrl+c - что
> будет?" -)
Ну дык тебе по нику положено. А резве не было? я почти не пользовал 9х, при первой возможности поставил NT, а в 3.1 тоже особо не было нужды за небольшими исключениями. про Ctrl+C не помню откуда вычитал, может тоже кликнул.
← →
Anatoly Podgoretsky © (2009-07-26 15:37) [46]> Kolan (26.07.2009 13:53:43) [43]
Ничего доказывать не требуется, набор окон определяется программистом, если ты считаешь, что какое то конкретное окно должно реагировать, то просто делай.
Если же надо вставлять в письмо, то кто мешает это реализовать прямым путем, без копирования. Одно ясно, что иметь возможность копировать все окна излишне, поскольку нечем будет просматривать это, вот тут то на передней план и выплывает PrintScreen. Копировать надо диалоги, чистые диалоги, остально только по необходимости.
← →
TIF © (2009-07-26 16:26) [47]Edit вместо Label? Да не смешите меня... Вы б ещё комбайн вместо бульдозера использовали :)
Всё решается банально просто - у Label курсор при наведении меняется на hand, при щелчке происходит копирование в буфер обмена. Для тех, кто без понятия о такой фишке - сделать специальный hint, который можно будет затем отключить, чтобы не мозолил глаза. Кроме того, в hint можно добавить и описание для label ("Поле для ввода паспорта: введите серию и номер без пробела")
Для копирования определенного кусочка текста из окна этого достаточно. Копировать всё окно - бред. Используйте скриншоты. Для таких целей графическая информация обладает более важным приоритетом, чем текстовая, и воспринимается соответственно.
Если требуется отправить кучу текста с формы (извращенство какое), так специально для вас специальный продукт существует, от отечественных разработчиков: ABBYY Screenshot Reader (http://abbyy.ru/screenshotreader/). 250 рублей. 120 дней бесплатного испытательного периода
PS: я б лучше размышлял над проблемой копирования текста из окна ЗАВИСШЕГО приложения...
← →
Kolan © (2009-07-26 17:47) [48]TIF, копирование текста из зависшего приложения — проблема не из области человеко-машинного взаимодействия.
Ваше предложение весьма странное, я такого негде не видел, есть пример?
Недостатков в нем, на мой взгляд, много. Во-первых, надо написать некоторое количество кода. Во-вторых, это опять же невидимая функция. И в-третьих, мне кажется слишком много чести для простой текстовой строчки, это будет вызывать когнитивный диссонанс, то есть странно выглядеть.
И еще, как вы определили, что «графическая информация обладает более важным приоритетом, чем текстовая», есть какое-то исследование? Да и приоритет важным быть не может, как и скорость не бывает быстрой, а температура холодной.
← →
TIF © (2009-07-26 18:33) [49]> копирование текста из зависшего приложения — проблема не
> из области человеко-машинного взаимодействия.
Ага. Из области человеко-машинного - это, значит, когда завис человек или компьютер и нельзя текст скопировать? А когда завис браузер и оказался потерян огромный кусок набранного в текстовом поле на одном сайте руками текста, не скопированного в буфер - это уже не из области...
Не соглашусь
> есть пример?
Это и был пример, теоретический
> Во-первых, надо написать некоторое количество кода
Не вижу здесь проблемы, если только лень не мешает. Ждать милости свыше, в виде специальных функций от Microsoft, или готовых сторонних решений, для такой экзотической задачи бесполезно
> это опять же невидимая функция
Ой, ну кому это действительно надо - то точно найдёт :) Особенно если учесть, что найдя ошибку многие тыкают в неё мышкой, неосознанно пытаясь исправить. Правда по этой части лучше обратиться к психологам
> есть какое-то исследование?
100% есть, нужно только поискать... Ограничусь фразой "Лучше один раз увидеть, чем сто раз услышать", правда её нужно слегка переделать "Лучше за секунду увидеть то, о чём будешь читать минуту"
> Да и приоритет важным быть не может, как и скорость не бывает
> быстрой, а температура холодной.
Не может быть "более глухой", "более женатый", насчёт приоритета - проверю, отпишусь.
> я такого негде не видел
Эх, моя любимая тема разговоров началась... :)
негде
1. Нет места (где можно было бы что-либо сделать, расположиться и т.п.) . 2. Неоткуда (об отсутствии места, откуда можно было бы что-либо взять, достать и т.п.) .
нигде
Ни в каком месте, ни в одном из мест.
← →
Дмитрий Белькевич (2009-07-26 19:07) [50]
> многие люди не любознательны.
Если интерфейс настолько неочевиден, что даже предположить невозможно, что от него можно ожидать, то это крайне плохой интерфейс.
Я честно скажу, что я даже в страшном сне не мог представить, что от стандартных менюх можно ожидать какого-то поведения, кроме как нажатия нескольких кнопок и крестика. Обрабатывать Ctrl-C на этих меню - это имхо абсурд. Совершенно очевидно, что стандартные меню никаким образом не должны реагировать ни на какие нажатия кнопок.
← →
clickmaker © (2009-07-26 19:18) [51]> [50] Дмитрий Белькевич (26.07.09 19:07)
ну фиг знает.
есть такая вещь, как логическое мышление.
в данном случае у меня в мозгу промелькнула такая логическая цепочка:
сообщение об ошибке - теоретически я могу его передать авторам программы, желательно дословно - как это сделать, не набивать же с экрана - может, они предусмотрели возможность скопировать - как - может, ctrl+c - попробую - точно!
Вообще, не стоит себя ограничивать стереотипами.
Насчет меню "Пуск", например. Там тоже никто не ожидал, что можно будет нажимать правую кнопку для просмотра свойств, сортировать по имени. Вроде бы стандартное меню - чего еще от него нужно?
← →
Дмитрий Белькевич (2009-07-26 19:44) [52]
> Насчет меню "Пуск", например. Там тоже никто не ожидал,
> что можно будет нажимать правую кнопку для просмотра свойств,
> сортировать по имени. Вроде бы стандартное меню - чего
> еще от него нужно?
Это да. Скрытых контекстных меню в винде - навалом. Поэтому тыкая мышью во всё подряд много интересного, бывает, вываливается. Но это, согласись, тоже плохой подход к проектированию интерфейса. Всё скрытое обязано дублироваться.
В этом смысле мне нравится интерфейс Касперского 2009 - там скрытого вообще ничего нет. В предыдущем, насколько помню, контекстные меню дублировались кнопкой "действие".
← →
GrayFace © (2009-07-26 19:46) [53]Как вариант:
http://www.blogsdna.com/2790/how-to-copy-text-from-images.htm
← →
GrayFace © (2009-07-26 19:47) [54]Это бесплатная распознавалка текста из скриншота
← →
Kolan © (2009-07-26 22:21) [55]Нет, TIF, если программа зависает, то есть по сути не работает, то это работа для отдела качества, такой продукт пользователю попадать не должен. Глупо говорить об интерфейсных решениях, если программа просто не работает.
Все-таки распознавалки скриншотов совсем не универсальное, неудобное, громоздкое средство копирования, которое не каждый еще себе согласится установить.
«Ой, ну кому это действительно надо - то точно найдёт» — типичная отмазка. Мне вот частенько было нужно скопировать эксепшен и я, представьте, не нашел.
«Всё скрытое обязано дублироваться.», — не самый хороший подход, я считаю. Наоборот: дублировать ничего не нужно (иначе привычка вырабатывается медленнее) и скрывать тоже.
← →
Дмитрий Белькевич (2009-07-26 22:38) [56]
> Наоборот: дублировать ничего не нужно
То есть ты против шоткатов и контекстных меню?
← →
Alf (2009-07-27 09:17) [57]Стараюсь в местах сообщений об ошибках вставлять числовой код этой ошибки.
Запомнить и набрать 4-5 цифр гораздо проще чем вчитываться в текст и даже попадать мышкой в контролы...
← →
{RASkov} © (2009-07-27 09:52) [58]> «Интерфейс пользователя»
Голова, два уха... Какие эдиты?
← →
brother © (2009-07-27 09:54) [59]> Какие эдиты?
read only ;)
← →
{RASkov} © (2009-07-27 10:06) [60]Вот вставить бы вам в интерфейс по эдиту)
← →
brother © (2009-07-27 10:08) [61]все к автору топика)
← →
{RASkov} © (2009-07-27 10:10) [62]Ему два) ...эдита
:о)
← →
{RASkov} © (2009-07-27 10:12) [63]> [61] brother © (27.07.09 10:08)
> все к автору
т.е. залепить ваще эдитами напроч весь интерфейс ему?)
← →
brother © (2009-07-27 10:14) [64]имхо, после [2] или в крайнем случае: Ctrl + PrintScreen все остальное флуд ;)
любую инфу в винде скачать можно (ну пусть не в тексте, да и кого формат шибко волнует?))
← →
brother © (2009-07-27 10:15) [65]> скачать
= получить
← →
brother © (2009-07-27 10:15) [66]> т.е. залепить ваще эдитами напроч весь интерфейс ему?)
я думаю, это перебор
← →
Kolan © (2009-07-27 10:20) [67]
> То есть ты против шоткатов и контекстных меню?
Нет я не против шорткатов, кнопок, меню, списков и пр., я против того, чтобы у функции было несколько способов вызова. Надо оставлять один, притом самый удобный. Если так не делать, то уверенная привычка у пользователя будет формироваться (если вообще сформируется) значительно дольше.
Кроме того вызов будет происходить значительно дольше, так как кроме нажатий на клавиши или передвижения мышки пользователю каждый раз придется делать выбор между способом вызова. Выбор — это ментальная подготовка, которая стоит примерно 1 секунду, это очень много. (http://raskin-interface.narod.ru/interface/chapter4.htm#s4.2)
К сожалению почти все виндоус-приложения допускают несколько способов сделать одно и тоже, это плохо, это не надо копировать.
← →
TIF © (2009-07-27 10:33) [68]> Kolan © (26.07.09 22:21) [55]
> Нет, TIF, если программа зависает, то есть по сути не работает,
> то это работа для отдела качества, такой продукт пользователю
> попадать не должен. Глупо говорить об интерфейсных решениях,
> если программа просто не работает.
А если программа НЕ САМА зависает, а по причине какой-то неполадки в системе, о возникновении которой никто и предположить не мог? Из-за какого-то конфликта? Вины разработчиков нет - кто знал, что какой-то Вася сделает программу, которая приведёт к глюкам их супер-супер крутого программного комплекса? Эти ситуации возникают редко, но возникают, приготовиться к их появлению гораздо сложнее, чем просто к появлению ошибки
Ну и бывают даже конфликты ПО с "железом", а тут что делать? Программа просто-напросто не запустится, например, зависнет, не создав никакого отчёта об ошибке, но отобразив какую-то важную информацию об ошибке. В Vista в такой момент висит последний "кадр"-изображение окна программы и работает системный анализатор, который ищет возможную проблему. Вот как раз в этот момент бы и вытащить из "кадра"-скриншота текст - ан нет, простым способом это никак не сделать
← →
Inovet © (2009-07-27 11:02) [69]> [67] Kolan © (27.07.09 10:20)
> К сожалению почти все виндоус-приложения допускают несколько
> способов сделать одно и тоже, это плохо, это не надо копировать.
Да ну. Мне вот с клавиатуры удобно, а у некоторых клавиатура вообще задвинута куда-нибудь.
← →
Anatoly Podgoretsky © (2009-07-27 11:20) [70]> TIF (27.07.2009 10:33:08) [68]
Вот потому и скриншот, поскольку это единственное, что можно сделать и слава Висте, что она дает такую возможность. А простого метода вытастить текст из картинки не существует, да и сама возможность под вопросом. Пример капча
← →
Anatoly Podgoretsky © (2009-07-27 11:22) [71]> Inovet (27.07.2009 11:02:09) [69]
А это только для тех, у кого клавиатура под рукой, а не для мышат.
← →
Inovet © (2009-07-27 11:56) [72]> [71] Anatoly Podgoretsky © (27.07.09 11:22)
> > Inovet (27.07.2009 11:02:09) [69]
>
> А это только для тех, у кого клавиатура под рукой, а не
> для мышат.
Ну я и говорю, что разные способы нужны, а не один удобный с точки зрения разработчика.
← →
Kolan © (2009-07-27 12:01) [73]Inovet, вы странно читаете, я не говорил о том, что способ должен быть удобен разработчику. Конечно удобно должно быть пользователю.
← →
{RASkov} © (2009-07-27 12:29) [74]> [73] Kolan © (27.07.09 12:01)
> Конечно удобно должно быть пользователю.
Тогда как можно говорить "об одном единственном способе"?
← →
Inovet © (2009-07-27 13:05) [75]> [73] Kolan © (27.07.09 12:01)
> Inovet, вы странно читаете, я не говорил о том, что способ
> должен быть удобен разработчику. Конечно удобно должно быть
> пользователю.
Ну дак в
> Мне вот с клавиатуры удобно, а у некоторых клавиатура
> вообще задвинута куда-нибудь.
И потом, что с клавиатуры, что мышью тоже лучше не по одному способу предусмотреть.
← →
VirEx(home) (2009-07-27 14:09) [76]ищите в гугле "клептомания"
ctrl+shift - выделяете любую область экрана и все распознается в текст
← →
Дмитрий Белькевич (2009-07-27 14:31) [77]>Стараюсь в местах сообщений об ошибках вставлять числовой код этой ошибки.
Самое главное, что бы ошибки, со временем, не превратились просто в номера. Как это иногда, к сожалению, бывает.
>Нет я не против шорткатов, кнопок, меню, списков и пр., я против того, чтобы у функции было несколько способов вызова. Надо оставлять один, притом самый удобный.
> Наоборот: дублировать ничего не нужно (иначе привычка вырабатывается медленнее) и скрывать тоже.
Ты сам себе противоречишь. Недублированные шоткаты и контекстные меню не видны пользователю. Хотя ты же вроде бы и против невидимости и против дублирования. Нужно определяться как-то. Это несовместимые принципы.
Почему дублирование полезно. Оно учит продвинутого пользователя (который умеет обучаться, конечно) верным, быстрым, решениям. А непродвинутому даёт возмонжость, пусть и более медленной, но полноценной работы с софтом.
Юзер подвёл мышь к контролу, который продублирован шоткатом, прочитал хинт, в том числе и о шоткате, и, в следующий (ну, пусть, через 10-20 раз) юзер уже нажмёт шоткат а не полезет к контролу, что действительно долго. То же и в верхнем меню. Если же действие недублировано, то юзеру придётся или только контрол постоянно жать, или искать шоткаты. И, далеко не факт, что когда-то он их найдёт. Это еще повезет, если они хотя бы в хэлпе, в одном месте собраны, что тоже не факт. Да и заставлять читать юзера хэлп - тоже нехорошо. В идеале софт должен быть на 100% понятен без хэлпа, по крайней мере, продвинутому юзеру.
Тоже самое и в отношейнии контекстных меню. Тот, кто сможет найти контекстное - будет его использовать. Кто не сможет - будет использовать медленное в использовании дублирование функций.
Знаете, я недавно перелез на 2009-ю делфи, компиляцию/инсталляцию пакета я реально искал где-то неделю. Всё облазил, пока на контекстное меню не набрёл...
Кстати, народ, вижу, говорит, что до dpr"а в 2009-й добраться нельзя, а ведь можно. Стандартными средствами. Я нашел.
Отсутствие дублирования скрытых элементов - величайшее зло.
← →
Alf (2009-07-27 18:35) [78]
> Дмитрий Белькевич (27.07.09 14:31) [77]
> >Стараюсь в местах сообщений об ошибках вставлять числовой код этой ошибки.
> Самое главное, что бы ошибки, со временем, не превратились просто в номера. Как это иногда, к сожалению, бывает.
Мы пока не Microsoft - нам до этого еще далеко :)
Но самое интересное, как я заметил из собственного опыта, чаще всего юзеру наплевать на содержание текста об ошибке. Т.е без разницы почему не работает программа - из-за того что Отсуствует подключение к базе данных или же что Превышено время ожидания ...
Игорь будет возмущаться - но часто всё сообщение об ошибке состоит из числового кода и фразы "Случилось нечто нехорошее"... мне как программисту гораздо важнее не текст ошибки, а последовательность действий пользователя.
← →
Игорь Шевченко © (2009-07-27 18:44) [79]Alf (27.07.09 18:35) [78]
> Игорь будет возмущаться - но часто всё сообщение об ошибке
> состоит из числового кода и фразы "Случилось нечто нехорошее".
> .. мне как программисту гораздо важнее не текст ошибки,
> а последовательность действий пользователя.
А это очень сильно зависит от ситуации - есть ошибки, не зависящие от действий пользователя, как, например, мыши перегрызли сетевой кабель - тут что бы пользователь не делал, по его действиям ситуацию не диагностировать.
С другой стороны, сообщение Access violation at xxxxxx read of address zzzzzzz абсолютно не поможет ни пользователю, ни разработчику без анализа последних действий пользователя.
← →
Ping-Pong (2009-07-27 19:24) [80]я о ней узнал опытным путем, "дай-ка щелкну ctrl+c - что будет?" -)
Полезно порой посматривать в исходники, в частности, модуль Dialogs.
← →
Eraser © (2009-07-27 19:41) [81]> [2] Sergey Masloff (25.07.09 19:12)
круто! спасибо )
← →
TIF © (2009-07-27 20:17) [82]> > TIF (27.07.2009 10:33:08) [68]Вот потому и скриншот,
> поскольку это единственное, что можно сделать и слава Висте,
> что она дает такую возможность
Сейчас обнаружил очередное преимущество висты :-) Возможность копирования TaskDialog-а в виде текста![Window Title]
О программе
[Main Instruction]
Название программы 1.0 beta
[Content]
Первая версия программыса ля-ля-ля
Сайт программы: http://ляляля.ru
[Expanded Information]
Замечания, пожелания, касающиеся данной программы, вы можете отсылать на ля@ляля.ru
[V] Показать подробности [ОК]
[Footer]
© Andrew, 2008
Сочетание клавиш стандартное: Ctrl+C
← →
Inovet © (2009-07-27 20:38) [83]> [82] TIF © (27.07.09 20:17)
> Сейчас обнаружил очередное преимущество висты :-) Возможность
> копирования TaskDialog-а в виде текста!
Что за TaskDialog?
← →
DVM © (2009-07-27 22:12) [84]
> Inovet ©
> Что за TaskDialog?
Это что-то типа расширенной версии MessageBox там, но вызывется другой функцией http://msdn.microsoft.com/en-us/library/bb760540%28VS.85%29.aspx
← →
DVM © (2009-07-27 22:13) [85]
> Inovet ©
во http://msdn.microsoft.com/en-us/library/bb760441%28VS.85%29.aspx
← →
Kolan © (2009-07-28 12:03) [86]Дмитрий, вы не правы, я очень последовательно объясняю, что невидимые функции — плохо и что выбор замедляет работу и мешает выработать привычку.
Больше я ничего не уточняю, так как все зависит от задачи.
«Оно учит продвинутого пользователя...»
Ох :) Сразу вспоминается Воронежский:
«IT-профессионал и пользователь ПК — это разные люди. Корпоративный клиент — не частное лицо. Дилер не может стать VIP-клиентом, а VIP-клиент — абонентом. Если вы не компания, вам не сюда, вам туда. Вы компания?
Наивные авторы вышеприведенных картинок уверены, что у человека в мозгу существует реле, которое переводит его из режима в режим. Увидел человек ссылку «Для дилеров» — щелк! — переключился в режим дилера. И пошел изучать, что там у них для дилеров припасено.»
← →
Дмитрий Белькевич (2009-07-28 17:44) [87]
> Дмитрий, вы не правы, я очень последовательно объясняю,
> что невидимые функции — плохо и что выбор замедляет работу
> и мешает выработать привычку.
Но вы же и против дублирования. Значит вы - против контекстных меню и шоткатов.
Так как все контекстные меню скрыты, других не бывает.
Шоткаты тоже могут быть скрытыми. Если шоткат "сам по себе", нигде не продублирован (например, в верхнем меню, или на какой-то кнопке), то увидеть его, не прочитав инструкцию (быть показанным учителем, прочитанным на форуме etc - это те же инструкции), не представляется возможным (например, Ctrl-J, Ctrl-Space, Ctrl-Shift-Up/Down etc в IDE Делфи).
Разве что рандомно тыкать на все кнопки подряд, в надежде что-то найти. Но, самое плохое в скрытых шоткатах (как и в скрытых меню) то, что они часто - контекстные. Пойди найди еще тот контекст, тот режим, тот контрол в которых они (шоткаты) отрабатывают, или на которых они (меню) висят.
> «IT-профессионал и пользователь ПК — это разные люди. Корпоративный
> клиент — не частное лицо. Дилер не может стать VIP-клиентом,
> а VIP-клиент — абонентом. Если вы не компания, вам не сюда,
> вам туда. Вы компания?
О чём это из приведенного куска я не понял, погуглил слегка... Понял мысль из каментов:
"Тоже всегда считал, что разделение на VIP- и "быдло"-клиентов — слишком преувеличено."
То есть и бабка, покупающая бутылку масла, и дилер, покупающий ж/д состав масла по-Воронежскому должны (в том числе и по цене) обслуживаться одинаково? Ну хороший подход, я не спорю :)
По юзерам. Не ясно, какое отношение продвинутость/непродвинутость к VIP"овости имеет.
← →
Kolan © (2009-07-29 11:28) [88]
> Так как все контекстные меню скрыты, других не бывает
Вы не поверите, я вообще меню не очень люблю (если говорить вообще), именно из-за того, что все функции в них скрыты.
В случае со стандартным диалогом моё решения я озвучивал. Вместо меню, и шоткатов нужно сделать текст выделяемым и копируемым.
> О чём это из приведенного куска я не понял
Это о том, что не стоит разделять пользователей на продвинутых и отсталых. Раскин называет это «Мифом о дихотомии „новичок-эксперт“». Интерфейс стоит проектировать так, чтобы им мог пользоваться любой человек.
← →
Игорь Шевченко © (2009-07-29 11:58) [89]
> Это о том, что не стоит разделять пользователей на продвинутых
> и отсталых
стоит
> Раскин называет это «Мифом о дихотомии „новичок-эксперт“».
> Интерфейс стоит проектировать так, чтобы им мог пользоваться
> любой человек.
Get a real life, dude!
← →
Kolan © (2009-07-29 12:20) [90]Смотря в каких целях конечно. Если, например, срубить бабла надо, то может быть и стоит.
← →
Дмитрий Белькевич (2009-07-30 01:12) [91]>Интерфейс стоит проектировать так, чтобы им мог пользоваться любой человек.
Именно. И исходя их этого и стоит разделять. Учитывая то, что софт могут пользовать как новички так и опытные. И это одна из причин делать дублирование функций.
> Смотря в каких целях конечно. Если, например, срубить бабла
> надо, то может быть и стоит.
Какое отношение имеет бабло к дихотомии не понимаю.
← →
TIF © (2009-07-30 01:37) [92]Divide et impera - и нефик )))
http://ru.wikipedia.org/wiki/Разделяй_и_властвуй
← →
{RASkov} © (2009-07-30 08:47) [93]> [88] Kolan © (29.07.09 11:28)
> Вместо меню, и шоткатов нужно сделать текст выделяемым и
> копируемым
Ну вот выделил текст, а копировать его как? теми же самыми меню или шоткатами?)
← →
TIF © (2009-07-30 09:43) [94]> Ну вот выделил текст, а копировать его как? теми же самыми
> меню или шоткатами?)
Текст сам выделится, скопируется и отошлётся автору программы = )И вот в печке сама собой отодвинулась заслонка, вылез пузатый горшок со щами и снял крышку.
- Здравствуй, честной народ.
Алексей Толстой. Горшок
Сказки вообще классный сборник идей, и целая куча их них ещё не реализована в реальной жизни
PS: ооо... если сравнивать программиста со сказочником, так вообще столько аналогий, оказывается, провести можно o_O "Сказку сказывать - программу писать" )))
← →
AlexDan © (2009-07-30 11:46) [95]> TIF © (30.07.09 09:43) [94]
если честно у меня почему-то возникли как бы дальнейшие ассоциации- "скоро сказка сказывается, да не скоро дело делается.."//
Андр., есть к тебе пара т.сказать концептуальных вопросов, напиши мне в аську..
← →
Kolan © (2009-07-30 16:02) [96]RASkov, ну вот выделили вы текст в браузере, и хотите его скопировать, что вы делаете?
Бабло имеет отношение к дихотомии простое. Можно придумать разных пользователей и продать одну и туже программу несколько раз.
Так, в сове время, сделал производитель мыла «Санлайт». Он понял, что продажи не будут расти, потому что людям просто не нужно мыла больше определенного количества. Как только он это понял, он придумал разные виды мыла.
← →
clickmaker © (2009-07-30 16:07) [97]а какое отношение разные виды мыла имеют к дихотомии "новичок-эксперт"?
есть мыло для новичков и мыло для экспертов?
← →
Игорь Шевченко © (2009-07-30 16:13) [98]
> Можно придумать разных пользователей и продать одну и туже
> программу несколько раз.
Можно. Microsoft это делает уже давно, продавая одну и ту же Windows по разной цене разным пользователям.
Но вот беда - интерфейсом тут не пахнет ни разу
← →
Anatoly Podgoretsky © (2009-07-30 16:34) [99]> Kolan (30.07.2009 16:02:36) [96]
В разной упаковке, например в зеленой и розовой и две паралельные рекламы.
← →
clickmaker © (2009-07-30 16:36) [100]> В разной упаковке, например в зеленой и розовой и две паралельные
> рекламы.
"Такие разные вкусы - одна судьба" (с)
← →
{RASkov} © (2009-07-30 22:34) [101]> [96] Kolan © (30.07.09 16:02)
> RASkov, ну вот выделили вы текст в браузере, и хотите его
> скопировать, что вы делаете?
По разному.... Если сижу откинувшись на спинку стула и одной рукой только двигаю мышку, то мышкой(правой кнопкой и при помощи контекстного меню скопирую) если руки на клавиатуре будут - скопирую шоткатом
Страницы: 1 2 3 вся ветка
Текущий архив: 2009.09.27;
Скачать: CL | DM;
Память: 0.79 MB
Время: 0.012 c