Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> InputBox как узнать что нажата, кнопка Отмена? 
:(
    Опции темы
Burka
Дата 7.10.2007, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Использую InputBox так:
Код

s:=InputBox('Добавление', 'Введите значение','<пусто>');


Но не понимаю как можно узнать, когда нажата кномпа "отмена". Подскажите, чего делать надо?


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
MetalFan
Дата 7.10.2007, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



используй InputQuery


Это сообщение отредактировал(а) Wowa - 7.10.2007, 11:23


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Burka
Дата 7.10.2007, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Спасиба


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
MetalFan
Дата 7.10.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



np


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Yanis
Дата 8.10.2007, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Код
const
  s = 'test string';
begin
  if InputBox('Caption', 'Test', s) = s then
    …
end;



--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Burka
Дата 8.10.2007, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



как вариант использовать можно, но это не правильно..
и еще из кода получается что нельзя узнать что ввел пользователь Оо .. гг

Это сообщение отредактировал(а) Burka - 8.10.2007, 15:06


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Yanis
Дата 8.10.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Burka @  8.10.2007,  16:05 Найти цитируемый пост)
и еще из кода получается что нельзя узнать что ввел пользователь Оо .. гг

InputBox возвращет текст введённый в нём. На этом и основана проверка.
И ещё… Зачем узнавать то, что ввёл пользователь, если он нажал «Cancel»?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Burka
Дата 9.10.2007, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Yanis! Емое, как ты узнаешь что введено в инпут бокс если даже нажата ОК?
Код

const
  s = 'test string';
begin
  if InputBox('Caption', 'Test', s) = s then {Ну и нажал он ОК где тут введеная строка? как ты ее узнаешь}
    …
end;




--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
dumb
Дата 9.10.2007, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



Код

const s = 'test string';
var ins: string;
begin
  ins := InputBox('Caption', 'Test', s);
  if ins = s then
    отмена
...

PM MAIL   Вверх
Alix
Дата 9.10.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 7
Всего: 23



Если ввод пустой строки (или какой-то другой переданной в InputBox) не допустим в качестве ответа, то тогда можно пользоваться и таким способом. Иначе представьте, что такое допустимо и пользователь нажал OK, вернулось дефолтное значение и ваша программа подумает что пользователь нажал Cancel. Вообще то MetalFan уже правильно ответил в первом сообщении. Вот выдержка из хелпа:
Цитата
If the user chooses the Cancel button, InputBox returns the default value. If the user chooses the OK button, InputBox returns the value in the edit box.
Use the InputBox function when there is a default value that should be used when the user chooses the Cancel button (or presses Esc) to exit the dialog. If the application needs to know whether the user chooses OK or Cancel, use the InputQuery function instead.



--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.