|
Вопрос # 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™ (статус: Доктор наук), 18 января 2011, 12:04 [#61]:
Цитата (Адмирал):
лень создавать, плиз ответьте тут
Ты чо такой упрямый, как осёл? Тебе ж сказали создавать новый вопрос, вот и делай, что умные люди говорят! А то лень тут отвечать.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
18 января 2011, 12:43: Статус вопроса изменён на решённый (изменил автор вопроса — Адмирал): мраси
Страницы: [« Предыдущая] [1] [2] [3] [4]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|