Другие языки программирования и технологии
Что это за тип данных? (Delphi)
const pattern=['A'..'Z','a'..'z','0'..'9']; Это что за тип данных? И как создать массив, состоящий из таких констант, как pattern? (сам массив тоже константа, разумеется)
Нормальная константа!
Множество значений типа Char.
В программе, вероятно, должна быть проверка на принадлежность какого-то символа данному множеству:
if Ch in pattern then
К примеру вот такой функцией можно проверить состоит ли строка только из цифр:
function StrNumber(S : String) : Boolean;
var
Res : Boolean;
N, L : Byte;
begin
Res := True; N := 1; L := Length(S);
while (N < L) and Res do Res := S[N] in ['0'..'9'];
StrNumber := Res;
end;
На счёт массива - не понятно.
Если массив множеств, то наверное так:
type pType = set of char;
const p: array [0..5] of pType = (
{ цифры } ['0'..'9'],
{ латиница Б } ['A'..'Z'],
{латиница м} ['a'..'z'],
{ русские Б } ['А'..'Я', 'Ё'],
{ русские м} ['а'..'п', 'р'..'я', 'ё'],
{ знаки препинания и прочие символы } [#32, '!', '.', ',', ':', ';', '+', '-', '*', '/', '=', '_']);
Это для кодировки под DOS. Под Windows с русскими буквами можно между 'п' и 'р' разрыв не делать!
В Delphi это можно решить не обязательно через массив.
Можно прямо в программе использовать списки:
case Ch of
'0'..'9' : Result := 'цифра';
'A'..'Z' : Result := 'большие латинские';
'a'..'z' ; Result := 'маленькие латинские';
else Result := 'другие символы';
end;
Множество значений типа Char.
В программе, вероятно, должна быть проверка на принадлежность какого-то символа данному множеству:
if Ch in pattern then
К примеру вот такой функцией можно проверить состоит ли строка только из цифр:
function StrNumber(S : String) : Boolean;
var
Res : Boolean;
N, L : Byte;
begin
Res := True; N := 1; L := Length(S);
while (N < L) and Res do Res := S[N] in ['0'..'9'];
StrNumber := Res;
end;
На счёт массива - не понятно.
Если массив множеств, то наверное так:
type pType = set of char;
const p: array [0..5] of pType = (
{ цифры } ['0'..'9'],
{ латиница Б } ['A'..'Z'],
{латиница м} ['a'..'z'],
{ русские Б } ['А'..'Я', 'Ё'],
{ русские м} ['а'..'п', 'р'..'я', 'ё'],
{ знаки препинания и прочие символы } [#32, '!', '.', ',', ':', ';', '+', '-', '*', '/', '=', '_']);
Это для кодировки под DOS. Под Windows с русскими буквами можно между 'п' и 'р' разрыв не делать!
В Delphi это можно решить не обязательно через массив.
Можно прямо в программе использовать списки:
case Ch of
'0'..'9' : Result := 'цифра';
'A'..'Z' : Result := 'большие латинские';
'a'..'z' ; Result := 'маленькие латинские';
else Result := 'другие символы';
end;
Бред какой-то. Может, имеллось в виду это:
type
pattern = array['A'..'Z', 'a'..'z', '0'..'9'] of char;
var
pat: pattern;
begin
pat['A', 'a', '0'] := 'a';
end.
type
pattern = array['A'..'Z', 'a'..'z', '0'..'9'] of char;
var
pat: pattern;
begin
pat['A', 'a', '0'] := 'a';
end.
Dauren Ongarbaev
У меня несколько паттернов таких, как я привел пример. Все разные.
И мне их нужно собрать в один массив-константу, чтоб можно было по индексу массива к ним обращаться.
И мне их нужно собрать в один массив-константу, чтоб можно было по индексу массива к ним обращаться.
cоnst pattern:array [A..Z, a..z, 0..9] of word.
но я не уверен, скажи как ты будешь этот массив использовать?
но я не уверен, скажи как ты будешь этот массив использовать?
Dauren Ongarbaev
Не, я имею в виду массив паттернов:
const p: Array[0..5] of этот_тип=...;
Где каждый элемент массива является паттерном как тот, который я указал.
Эти паттерны используются для ограничения ввода символов в поле. Каждое поле - комбобокс, у которого тег будет служить указателем на элемент массива.
const p: Array[0..5] of этот_тип=...;
Где каждый элемент массива является паттерном как тот, который я указал.
Эти паттерны используются для ограничения ввода символов в поле. Каждое поле - комбобокс, у которого тег будет служить указателем на элемент массива.
Похожие вопросы
- Что имеется ввиду под 4 байтами у типа данных int?(С++)
- Есть ли в программировании основные (фундаментальные) типы данных, от которых берут начало другие типы?
- Тип данных в паскале
- Перечислите основные типы данных
- C++. Типы данных. Создание типа данных.
- Помогите с базой данных Delphi+Access
- Абстракция и абстрактные типы данных.
- Как проверить тип данных на си?
- Вопрос про типы данных
- Про типы данных.
Проблема в том, что нужно несколько таких паттернов (разных) загнать в один массив.
const p: array[0..5] of set of char=(тут все паттерны);
Компилятор пропустил, в работе думаю проблем не будет.
Спасибо за помощь!
ЗЫ - set of char это то, что я хотел узнать