Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 921

/ вопрос решён /

Приветствую, уважаемые эксперты!
Как сделать проверку на то, что введённый текст в Edit числа
и они равны8 или 16 или 32 и т.д

Адмирал Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Адмирал (статус: Посетитель)
Вопрос отправлен: 16 января 2011, 09:43
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

// Функция, проверяющая, что в AEdit введено именно целое число
// и что это число является членом ряда 8, 16, 32, ..., 2^63.
// Если содержимое AEdit удовлетворяет условиям, то введённое
// число возвращается в параметре Value, а сама функция 
// Возвращает True.
function CheckEdit(AEdit: TEdit; var Value: Int64): Boolean;
var
  Bit: Byte; // Кол-во разрядов сдвига
begin
  Result:= TryStrToInt64(AEdit.Text, Value); // Попытка преобразовать текст в число
 
  if Result
    then begin // Проверка, что число = 2^Bit (3 <= Bit <= 63)
           for Bit:= 3 to 63 do
             if Value = Int64(1) shl Bit // 8, 16, 32, 64, ..., -9223372036854775808
               then Exit;
 
           Result:= False;
         end;
end;
 
// Обработчик нажатия на кнопку Button1
procedure TForm1.Button1Click(Sender: TObject);
var
  Value: Int64; // <-------- Вот ЭТО - ТВОЁ ЧИСЛО!!!111
begin
  if CheckEdit(Edit1, Value) // Преобразование строки в число и проверка
    then ShowMessage('Введено правильное число' + IntToStr(Value) + '.')
    else ShowMessage('Введено не число или неверное значение.'); 
end;

З.Ы. Впредь, прежде чем что-то сделать, подумай головой. От этого зависит мнение окружающих о тебе.
З.З.Ы. Накачай себе книжек для чайников и читай, читай, читай!

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 16 января 2011, 10:25
Оценка за ответ: 4

Комментарий к оценке: чо за хрень?

Мини-форум вопроса

Всего сообщений: 61; последнее сообщение — 18 января 2011, 12:04; участников в обсуждении: 7.

Страницы: [« Предыдущая] [1] [2] [3] [4] [Следующая »]

Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 17 января 2011, 15:11 [#21]:

По просьбе автора вопроса оценка за ответ min@y™ изменена с -1 на 4. Однако от выданного предупреждения это не освобождает.
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 16:19 [#22]:

чаво?
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 16:45 [#23]:

Цитата (Адмирал):

чаво?

Опять что-то не так?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 16:46 [#24]:

блин ну помоги я уже пошутил
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 16:55 [#25]:

Цитата (Адмирал):

блин ну помоги я уже пошутил

Ты слепой? Я текст ответа изменил.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 16:57 [#26]:

if CheckEdit(Edit1, Value)
спасибо, но что это значит
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 16:57 [#27]:

и пожалуста мне надо чтобы занесло в переменную число, или тут так?
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 17:06 [#28]:

АААААААААААААААААААААААААААА, щас убьюсь об стену!!!!1111
Value - ЭТО И ЕСТЬ ТВОЁ ЧИСЛО, [вырезано цензурой] [вырезано цензурой] [вырезано цензурой] [вырезано цензурой] [вырезано цензурой] [вырезано цензурой] [вырезано цензурой] [вырезано цензурой] В РОТ!!!!1111
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 17 января 2011, 17:10 [#29]:

да забаньте этого троля уже
ну не может человек быть настолько непонятливым
Ⓐ свобода сопротивление солидарность
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 17:15 [#30]:

Цитата (mirt.steelwater):

да забаньте этого троля уже ну не может человек быть настолько непонятливым

2stason: Это он про тебя! :)
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 17 января 2011, 17:20 [#31]:

не - ну вы хотите отвечать на каждый его глючный вопрос "что такое переменная", "почему переменная объявляется под var, а не под begin", "что такое функция"? человек явно не хочет прочитать первую страницу учебника - о чем с ним говорить..
Ⓐ свобода сопротивление солидарность
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 17:52 [#32]:

mirt.steelwater: сам ты троль, если правда непонятно почему CheckEdit переводит число в строку и ещё проверяет, хз на что и как
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 17:52 [#33]:

Цитата (mirt.steelwater):

не - ну вы хотите отвечать на каждый его глючный вопрос "что такое переменная", "почему переменная объявляется под var, а не под begin", "что такое функция"? человек явно не хочет прочитать первую страницу учебника - о чем с ним говорить..

Пожалуй, ты прав.

2Аффтар: срочно курить учебник 3 раза в день до еды. Мне мои нервы дороже.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 17:53 [#34]:

нет, такие вопросы я не задавал, и кстати где учебник и какой?
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 17:57 [#35]:

Цитата (Адмирал):

если правда непонятно почему CheckEdit переводит число в строку и ещё проверяет, хз на что и как

Если "хз на что и как" - у нас принято спрашивать на форуме, а не минусовать неглядя! Если ты нихрена не шаришь, то в этом никто, кроме тебя, не виноват. А -1 за ПРАВИЛЬНЫЙ ответ на поставленный вопрос, да ещё и без аргументации оценки - это личное оскорбление для эксперта, который тратил на тебя своё ограниченное природой время!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 17:59 [#36]:

да ладно тебе, не обижайся, так кстати какой учебник можно покуритЬ? (ссылочку) офк если в инете
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 18:07 [#37]:

а?
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 18:11 [#38]:

Цитата (Адмирал):

да ладно тебе, не обижайся, так кстати какой учебник можно покуритЬ?

Вот тебе целая библиотека.
И шоб я идиотских вопросов от тебя тут больше не видел! Буду их закрывать без предупреждения.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 18:14 [#39]:

блин я Уроки переведённые админом прочитал все, 26 а дальше незнаю какую именну статью читать, не посоветуешь? попроще чо нить?
Адмирал

Адмирал (статус: Посетитель), 17 января 2011, 18:26 [#40]:

ответьте кто нить плиз до завтра хотябы

Страницы: [« Предыдущая] [1] [2] [3] [4] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 25 апреля 2026, 17:31
Выполнено за 0.03 сек.