Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Анализ введенных данных в Edit (http://forum.oszone.net/showthread.php?t=245052)

__sa__nya 19-10-2012 21:08 2008762

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

opel431 21-10-2012 06:14 2009374

да вроде все давно известно, см:

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


Время: 03:41.

Время: 03:41.
© OSzone.net 2001-