![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
множества
Handle © (2011-12-12 12:45:00)написал функцию, которая проверяет, есть ли в строке недопустимые символы:
function HasValidChars(const Value: string; Chars: TCharSet): Boolean;
var
Char_: PChar;
begin
Result := False;
Char_ := PChar(Value);
while Char_^ <> #0 do
begin
if Char_^ in Chars then
Exit;
Inc(Char_);
end;
Result := True;
end;
хочу использовать ее для проверки значения атрибута name в xml-документе. допустимы символы - буквы латинского алфивита, цифры, знак подчеркивания. Можно ли как-нибудь описать допустимые символы ввиде константы, чтобы кажды раз при вызове функции не передавать ['A'..'Z', 'a'..'z', '0'..'9', '_']?
Dennis I. Komarov (2011-12-12 13:47:00) [1]
> mike (12.12.11 13:30) [3]
Ctrl-C, Ctrl-V
Ega23 (2011-12-12 13:46:00) [2]Был нюанс, насчёт множества Char в новых версиях Delphi.
Что-то с CharInSet связанное. То ли надо CharInSet использовать, то ли наоборот, не надо.
И. Павел (2011-12-12 13:37:00) [3]> if Char_^ in Chars then
> Exit;
«not», кажется, не хватает.
mike (2011-12-12 13:30:00) [4]
> написал функцию
А она работает правильно?
А зачем там нужен был PChar? Очень хотелось использовать адресную арифметику?
RWolf (2011-12-12 12:57:00) [5]const
ValidChars:TCharset=['A'..'Z', 'a'..'z', '0'..'9', '_'];
Anatoly Podgoretsky (2011-12-12 12:53:00) [6]> Handle (12.12.2011 12:45:00) [0]
И какой вопрос то?