МП
Михаил Печаткин

Как проверить тип данных, делфи?

посоветуйте очень-очень начинающему программисту) ) нужно, чтоб выскакивало сообщение об ошибке, если пользователь вводит в переменную буквы вместо цифр, или буквы вместе с цифрами.. . вот код, что уже есть. куда и что нужно вставить, чтоб работало как надо?

uses
SysUtils;

var

a:real;
b:real;
c:real;
x:boolean;
y:real;
z:real;
k:real;
u:real;

begin
writeln ('Input a');
readln (a);
if (a>2) then
c:=a-b*7;
if (a=2) then
c:=a*b+66;
if (a<2) then
c:=(a+10)/2;
writeln ('Input b');
readln (b);
if (b>4) then
u:=(c+50)*3;
if (b=4) then
u:=c-a*b+100;
if (b<4) then
u:=(c+8+a)/(a+b*2);
writeln ('c=a-b*7 if a>2, c=a*b+66 if a=2 and c=(a+10)/2 if a<2');
writeln ('c=',c:0:1);
writeln ('X is true if c<450');
x:=c<450;
writeln ('x=',x);
writeln ('u=(c+50)*3 if b>4, u=c-a*b+100 if b=4 and u=(c+8+a)/(a+b*2) if b<4');
writeln ('u=',u:0:1);
writeln ('Input z');
readln (z);
writeln ('Input y');
readln (y);
writeln ('K=y*z');
k:=y*z;
writeln ('k=',k:0:1);
writeln X is true if k=77');
x:=k=77;
writeln ('x=',x);
writeln ('End. Press Enter to exit');
readln;

end.

Екатерина
Екатерина

Обычный (generic) тип данных проверить нельзя - компилятор и так знает, что там какого типа. Можно проверить только принадлежность указателя какому-либо классу - оператором is. Еще существует веселый тип variant, для которого можно-таки проверить, является ли его содержимое числом и каким именно - кури мануал по модулю Variants.

В твоей программке при неправильном вводе пользователь получит-таки сообщение об ошибке. Проблема только в том, что прервется выполнение программы. Поэтому напиши какую-то такую функцию:

function GetReal:real;
var b:boolean;
begin
repeat
try
b:=true;
readln(Result);
except
on e:Exception do begin
b:=false;
writeln('Wrong input: '+e.Message);
end;
end;
until b;
end;

и считывай переменные с ее помощью. Не забываем uses SysUtils, ясен пень.

Похожие вопросы
Работа с базами данных Делфи
Программирование Делфи
Делфи: Как считать данные из столбца таблицы БД?
Как считать в делфи?
база данных в делфи очень срочно подсказка нужна
не получается проверить наличие инетернет соединения на делфи! ? подскажите пож. что не так?
Помоги плиз. Я создал базу данных в делфи 7, как можно импортировать программу чтобы запускался без делфи
Как проверить вводимые данные в вба?
Подскажите пожалуйста с делфи и базой данных!!
Базы данных в Делфи 7