Другие языки программирования и технологии

простейший код в Делфи: проверка строки на корректность символов

программка простейшая - вводится строка, в строке по идее должны быть только числа если в строке только числа - строка выводится, если есть посторонние символы - выводится ошибка интересует формат 255-ASCII массива, как он выглядит точно и, собственно, как реализовать такую программу сама программа не нужна - напишите массив и if для проверки чисел
function Test_digit(sx : string): string;
var i : integer;
begin
result:='';
for i := 1 to length(sx) do
begin
if not (sx in ['0'..'9']) then
begin
result:='Not Digits';
break;
end;
if result='' then result:='Only Digits';
end;

end;
Rodion Popravko
Rodion Popravko
4 156
Лучший ответ
а нельзя типа через case x of
0..9 : inc (i)
else writeerror?

или через set of
VH
Vusal Hesenov
52 494
Геннадий Иванов вообще можно, но в данном случае нет
это лабораторная, ее еще сдавать и такой код у первача будет выглядеть странно
Нахрен там if - ума не приложу)
Приличная программа, решающая подобную задачу, обойдется безо всяких ифов.
Какой идиот поставил тебе такую задачу ?) Или ты отсебячину тут лепишь про ифы ?)
begin
var s: string;
writeln('Введите что-нибудь');
readln(s);
for var i:=1 to length(s) do
if not (s[ i ] in ['0'..'9']) then
begin
writeln('Строка содержит постороние символы');
exit;
end;
writeln('Строка содержит только цифры');
end.

Не пугайся объявлениям переменных в блоке программы - это PascalABC.NET. Если хочешь перенеси их вверх =)
что то типа этого
if pos('0',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('1',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('2',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('3',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('4',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('5',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('6',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('7',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('8',edit1.text)=true then showmessage('Тут ЦИФРА!) ;
if pos('9',edit1.text)=true then showmessage('Тут ЦИФРА!) ;

Если в строке обнаруживается цифра, то выводится сообщение об этом.
Viktor Tihhonov
Viktor Tihhonov
151
Геннадий Иванов скорее
check:=true;
writeln('Vvedite stroku');
readln(N);
for i:=1 to length(N) do
if ('N'9) then check:=false;
if check=true then writeln(N)
else writeln('Error');
readln;
readln;
end.
для процедурного программирования
смущает строка
"if ('N'9) then check:=false;"