Здравствуйте!
Тут вот возникли два вопроса, связанные с программированием на Делфи.
Особенно волнует второй, хотя подозреваю, что это только моя проблема.
1. Как реализовать следующий алгоритм:
вывод строки
останов вывода до нажатия на любую клавишу
вывод очередной строки
В Паскале под ДОС такое можно было реализовать так:
writeln('');
repeat
until keypress;
writeln('');
Как это сделать в Делфи?
2. Событие onkeydown вызывает звук ошибки Windows (или как его там? короче, ding.wav). Если отключить звуковые схемы, начинает трещать спикер.
А ведь на Enter приходится жать очччень часто. Раздражает ужасно. :x
Неактивен
Дух, спасибо!
Ведь действительно помогло, несмотря на то что и ответ небольшой получился.
Только вот с треньканьем так ничего и не вышло. И похоже дело тут не только в readonly=true поля memo. Пришлось поступить следующим образом: заменить в звуковой схеме файл ding.wav на пустой. То есть винда все равно звук ошибки выдает, но его уже не слышно:)
Неактивен
Дух написал:
Я только не понял, как ты будешь поступать с этой программой, если ее надо будет переносить на другой комп. Там-то тебе никто не изменит звуковую схему...
Придется писать инсталлятор, который будет искать на ентом компе файл ding.wav (он ведь обычно лежит в папке media ?) и переписывать поверх него пустой. Потом при анинсталле можно все будет вернуть назад.
Неактивен
Либо у тебя кривая Дельфя, либо руки... (:
У меня Дельфи никаких подобных шалостей себе не позволяет! (:
Что ж, всеобщим голосованием было утверждено, что
моя Дельфи немного не в себе. Не спорю, так как давно подозревал об этом, но списывал все на огрехи ОС.
Только немного не понял иронии насчет кривых рук
Вроде обработчик написать -много ума не надо, а заплатить около 1700$ за лицензионный продукт, думаю, не смог никто из присутствующих. Поэтому и не удивительно, что мне попалась битая копия...
Неактивен
Мда-а-а...
Поставил я себе седьмые Делфя. Запустил старые исходники...и все вернулось на круги своя!
Все так же стучит (пищит?), ну что же с этим делать, а ?!
Предлагаю всем дельфинистам провести следственный эксперимент: создать новое приложение, на пустую форму поместить edit. Запустить, передать edit'у фокус ввода (чтоб курсор в нем мигал ) и понажимать enter. Если слышно эдакое "п-пынь!", значит я не один, а если нет - выходит мне сильно повезло, и у меня уже две кривые дельфи, три кривые винды и пара кривых рук
Неактивен
Гм... А теперь правильный ответ
TEdit в Делфи имеет "запрещенные" клавиши, при нажатии на которые (если TEdit в фокусе) выдается злополучный звук. В их числе - и enter. Избежать этого поможет следующая строка в обработчике OnKeyPress:
if key=#13 then key:=#0;
Звуков больше не будет, а в обработчике OnKeyDown можно реализовать все действия, связанные с нажатием на ввод.
Неактивен