Экспертная система 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] [Следующая »]

min@y™

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

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

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

не, ну где их качать? ссылочку, хотя врятли ты дашь, вот ты сам как учился?
min@y™

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

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

не, ну где их качать? ссылочку, хотя врятли ты дашь

Я тебе дал ссылку! Ты пьяный, штоли?

Цитата (min@y™):

Вот тебе целая библиотека.

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

вот ты сам как учился?

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

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

у меня ошибку выдаёт на строчке CheckEdit
Адмирал

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

min@y™: читай выше, и кстати сколько тебе лет, что когда ты писал то небыло инета :D
min@y™

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

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

у меня ошибку выдаёт на строчке CheckEdit

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

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

угадай

























































Undeclared identifier
min@y™

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

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

читай выше

Чего читать-то?

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

и кстати сколько тебе лет, что когда ты писал то небыло инета

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

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

c 11 лет?
min@y™

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

Цитата (min@y™):

Undeclared identifier

Тебе эти 2 слова на русский язык перевести или сам справишься? Где у тебя описана функция CheckEdit()? Если ниже обработчика OnClick кнопки и в секции в interface нет её заголовка, то так и должно быть.

Срочно курить учебник в разделе "структура программы на паскале".

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

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

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

c 11 лет?

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

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

>>А, вообще, мой тебе совет: бросай программирование, программист из тебя не получится; бери метлу и/или лопату в руки и приводи планету в порядок. Заодно денег заработаешь себе на водку с пивом. :)
по голове постучи, а если по ошибки, то ты мне же сам выложил такой код, так что скажи как делать плиз
Адмирал

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

ой я нубен, я забыл функцию вставить, только щас дошло :D
min@y™

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

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

ой я нубен, я забыл функцию вставить, только щас дошло

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

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

Если человек - идиот, то это надолго (© А. Папанов, "Бриллиантовая рука").
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Ins

Ins (статус: 1-ый класс), 17 января 2011, 21:00 [#56]:

Что сказать... Автор вопроса мягко говоря неблагодарный. Было дано рабочее решение. То что он его не понял - вопрос из другой оперы.
Адмирал

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

Игорь Александрович: типа зафлудил?
Адмирал

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

как сделать, чтобы в определённом месте появлялась картинка, зависящая от переменной, ну например если
1-false
2-false
3-true
5-false
чтобы ставилась 3 картинка
Вадим К

Вадим К (статус: Академик), 18 января 2011, 11:33 [#59]:

м. новый вопрос - создаем новый вопрос и пишем там.
И желательно, написать более точно, что же именно хочется. А то при такой формулировке никто не захочет решать.
Галочка "подтверждения прочтения" - вселенское зло.
Адмирал

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

лень создавать, плиз ответьте тут

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

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

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