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

Вниз

«Интерфейс пользователя» → TEdit вместо TLabel   Найти похожие ветки 

 
Германн ©   (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.



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

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

Наверх




Память: 0.65 MB
Время: 0.007 c
1-1216545032
jurez
2008-07-20 13:10
2009.09.27
работа в BASIC с объектом из DELPHI DLL


2-1248175930
EH
2009-07-21 15:32
2009.09.27
Компонент в виде object inspector


15-1248465837
dbng
2009-07-25 00:03
2009.09.27
А вот скажите, кому принадлежат права на информацию


2-1248427186
Бонд444
2009-07-24 13:19
2009.09.27
Напомните функцию.


15-1248638665
Кто б сомневался
2009-07-27 00:04
2009.09.27
Темы для Windows XP x64





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский