PDA

Показать полную графическую версию : Анализ введенных данных в Edit


__sa__nya
19-10-2012, 21:08
Доброе время суток. Просьба помочь написать 2 функции:
1) 1-я анализируе введенные данные в поле Edit - только цифры, только символы, смешанная информация. В качестве результата возвращает цифру в глобальную (public) переменную (например 0 если цифра, 1 если символ, 2 если и то и другое).
2) 2-я функция анализирует конкретный символ, который вводится в Edit - только цифры, только символы, смешанная инфа. Так же в качестве результата возвращает цифру в глобальную переменную

opel431
21-10-2012, 06:14
1. В новых версиях есть модуль Character, в нем функции:

ch:Char;
------------------------------
// проверка по алфавиту
if IsLetter(ch) then

// проверка на цифры
if IsDigit(ch) then

// проверка на символ
if IsSymbol(ch) then


2. В старых можно примерно так

// проверка по алфавиту
function IsLetter(ch : Char): boolean;
begin
Result := False;
Result := ch in ['а' .. 'я', 'А' .. 'Я'];
end;

// проверка на цифры
function IsNumber(ch : Char): boolean;
begin
Result := False;
Result := ch in ['0'..'9'];
end;

3. Проверять строку на цифры/ символы

function ValueStr(const s: string): Boolean;
var
i: Cardinal;
begin
for i := 1 to Length(s) do
if (AnsiChar(s[i]) in ['0' .. '9']) = False then
begin
Result := False;
exit;
end;
Result := True;
end;

// Example
var
s:string;
.............
if ValueStr(s) then
или реверс
if not ValueStr(s) then




© OSzone.net 2001-2012